but I am sure there is a distance limit. I need something that would allow communication across an entire sim. Any suggestions greatly appreciated.
These forums are CLOSED. Please visit the new forums HERE
Prim to prim discussions |
|
|
Chris Widget
Widget Isles @ the Edge!
Join date: 22 Jan 2006
Posts: 67
|
02-21-2006 07:58
What is the best way for prima to talk to each other? For example I have one prim that needs to tell another prim a piece of information every 10 minutes or so. They need to be able to relay this information over as long a distance as possible. Right now I'm using llsay (99, "text"
but I am sure there is a distance limit. I need something that would allow communication across an entire sim. Any suggestions greatly appreciated. |
|
Luciftias Neurocam
Ecosystem Design
Join date: 13 Oct 2005
Posts: 742
|
02-21-2006 08:06
What is the best way for prima to talk to each other? For example I have one prim that needs to tell another prim a piece of information every 10 minutes or so. They need to be able to relay this information over as long a distance as possible. Right now I'm using llsay (99, "text" but I am sure there is a distance limit. I need something that would allow communication across an entire sim. Any suggestions greatly appreciated. llEmail. limitation: delays the mailing script for 20 seconds... so perhaps you could use a llMessageLinked to pass a message from the main script to another script in another object, and that second script does the emailing. If the 20s delay doesn't matter, than forget that recommendation. |
|
Ordinal Malaprop
really very ordinary
Join date: 9 Sep 2005
Posts: 4,607
|
02-21-2006 08:22
The range limits are
llWhisper: 10m llSay: 20m llShout: 100m |
|
Tre Giles
Registered User
Join date: 16 Dec 2005
Posts: 294
|
02-21-2006 08:38
llEmail. limitation: delays the mailing script for 20 seconds... so perhaps you could use a llMessageLinked to pass a message from the main script to another script in another object, and that second script does the emailing. If the 20s delay doesn't matter, than forget that recommendation. yeh, i'm not afraid to admit it, i am a noob scripter. I am tired of my scripts shouting to each other, this seems to be a cool alternitive to a repeater. How would you allow the object recieving to recieve the emial? Is there like an llListenforEmail or something? Or does it continue as normal. I am using a defcon feature in my builds and they have to comunicate from a main hub a few thousand m away to get commands from it. _____________________
"The Dirt Gods Are Pleased" OMFG I FOUND HACKS TO SECONDLIFE ON GOOGLE??? Hacks!!!? Found on google lmao! |
|
Kyrah Abattoir
cruelty delight
Join date: 4 Jun 2004
Posts: 2,786
|
02-21-2006 08:40
email event
_____________________
![]() tired of XStreetSL? try those! apez http://tinyurl.com/yfm9d5b metalife http://tinyurl.com/yzm3yvw metaverse exchange http://tinyurl.com/yzh7j4a slapt http://tinyurl.com/yfqah9u |
|
Ordinal Malaprop
really very ordinary
Join date: 9 Sep 2005
Posts: 4,607
|
02-21-2006 09:00
...which only fires when you call llGetNextEmail and it's got an email in the queue, so you probably want to use a timer to call that regularly.
|
|
Intent Unknown
Registered User
Join date: 16 Nov 2005
Posts: 82
|
02-21-2006 09:02
email event Almost! You'll need to periodically call llGetNextEmail. If the receiving object is not regularly watching any event handlers, you'll probably have to put this inside the timer event handler and set the timer event with llSetTimerEvent. If there is an email in the queue when you llGetNextEmail, then the email event handler will fire. |
|
Ordinal Malaprop
really very ordinary
Join date: 9 Sep 2005
Posts: 4,607
|
02-21-2006 09:06
Here's some sample code that should give you the idea:
CODE
|
|
Chris Widget
Widget Isles @ the Edge!
Join date: 22 Jan 2006
Posts: 67
|
02-21-2006 13:02
Thank you very much for all the wondeful responses. I will yet them tonight!
|
|
Tre Armistice
Registered User
Join date: 14 Dec 2005
Posts: 26
|
02-21-2006 15:26
Almost! You'll need to periodically call llGetNextEmail. If the receiving object is not regularly watching any event handlers, you'll probably have to put this inside the timer event handler and set the timer event with llSetTimerEvent. If there is an email in the queue when you llGetNextEmail, then the email event handler will fire. everything above this post I quoted... i don't get one word your saying T.T |
|
Ziggy Puff
Registered User
Join date: 15 Jul 2005
Posts: 1,143
|
02-21-2006 15:40
Well, with the listen event, if someone within range says something that matches, the listen event gets triggered automatically. So if one object llShouts and another is listening on the same channel, the listen(...) event in that second object will get called.
The email(...) event is different - it doesn't get called on its own. It only gets called when you specifically check your email - kinda like hitting Send/Receive in Outlook Express. So you need to do the same thing here - keep hitting Send/Receive to preiodically check if you have any more emails. That's what Intent said, and what Ordinal's script does. He starts a 30 second timer, and in the timer() event, he calls llGetNextEmail. This means his script checks for a new email every 30 seconds - like hitting the Send/Receive button every 30 seconds. If there is a new email available, the email(...) even will get triggered, where you can read the email and figure out what's in it and take whatever action you need to. |
|
Chris Widget
Widget Isles @ the Edge!
Join date: 22 Jan 2006
Posts: 67
|
02-22-2006 12:10
Thank you very much for all the wondeful responses. I will yet them tonight!
|
|
Thraxis Epsilon
Registered User
Join date: 31 Aug 2005
Posts: 211
|
02-22-2006 13:54
There are several ways around the 20s script delay with llEmail. My personal favorite involves llLinkMessage and several slave Mail Scripts. Another I have heard suggested is to rez a new obect and with the llEmail script in it and pass the info for the e-mail via a whisper on a random negative channel.
|