Files
LSL-Scripts/swan tour guide/swan/Object/10.lsl
2015-08-09 16:54:31 -05:00

75 lines
1.7 KiB
Plaintext

// :CATEGORY:Tour
// :NAME:swan tour guide
// :AUTHOR:Ferd Frederix
// :CREATED:2013-09-06
// :EDITED:2013-11-27 13:38:09
// :ID:854
// :NUM:1545
// :REV:1
// :WORLD:Second Life
// :DESCRIPTION:
// Tour Guide setup prim.
// Rez this from inventory to m,ake a route. Use the recorder to gather the route
// :CODE:
integer wanted = 0;
integer debugger = 1;
list prims;
debug(string message)
{
if (debugger)
llOwnerSay(message);
}
default
{
state_entry()
{
llListen(300,"","","");
wanted++;
llRegionSay(300,"number");
llSetTimerEvent(5.0); // 5 seconds to hear from all prims
llOwnerSay("Setting coordinates");
}
listen(integer channel,string name, key id, string message)
{
if (message == "die")
llDie();
else if (message =="where")
llRegionSay(300,llGetObjectName() + "|" + (string) llGetPos() + "|" + llGetObjectDesc());
else if (message =="number")
llRegionSay(300,llGetObjectName());
else if (wanted)
{
prims += (integer) message; // add to memory list
}
}
timer()
{
wanted = 0;
prims = llListSort(prims,1,0); // sort descending
integer num = (integer) llList2Integer(prims,0); // get highest number
llSetObjectName((string) (num + 10)); // leave room for more prims to be added
llOwnerSay("Name set to " + llGetObjectName() + ". You can add text to be spoken when the tour reaches this location by adding some text to the description of this object.");
llSetTimerEvent(0);
}
on_rez(integer p)
{
llResetScript();
}
}