I am still getting this error message every time I use my in-world teleporter.
And it is getting stranger.
I checked with my Alt to see if it gave the same error message to all users, it does not, just me, the landowner.
I checked to see if I was calling osTeleportAgent twice for each teleport and I am not.
Then I discovered that if I was in-world at the same time as my alt, that one call to osTeleportAgent teleported BOTH of us to the destination.
I checked to see what UUID I was using for that call, and it was my alts UUID, not mine. But I got teleported at the same time.
Here is a little more detail about how I call osTeleportAgent:
The transmitting teleporter sends a message and the receiving station sends a reply with the location.
The UUID of the avatar that touches the teleporter is recorded in a global variable named avatar
So the teleport actually happens in the listen event, here is the whole event:
Code: Select all
listen( integer channel, string lname, key id, string message )
{
list parse=llParseString2List(message,["|"],[]);
string cmd=llList2String(parse,0);
string receiver=llList2String(parse,1);
if (cmd=="loc" && receiver==name && avatar!=NULL_KEY)
{
llPlaySound("transporter",1);
llSetTimerEvent(0); //turn off the watchdog timer
vector tpos=(vector)llList2String(parse,2);
rotation trot=(rotation)llList2String(parse,3);
osTeleportAgent(avatar, tpos, <1,0,0>*trot);
}
} //listen