OsLocalTeleportAgent
From OpenSimulator
Line 48: | Line 48: | ||
bit 1 (mask 2): use newLookAt<br> | bit 1 (mask 2): use newLookAt<br> | ||
bit 2 (mask 4): align lookat to velocity if it is not zero vector<br> | bit 2 (mask 4): align lookat to velocity if it is not zero vector<br> | ||
− | bit 3 (mask 8): fly<br> | + | bit 3 (mask 8): force fly<br> |
− | bit 4 (mask 16): | + | bit 4 (mask 16): force no fly<br> |
<br> | <br> | ||
if both bits 1 and 2 are set bit 2 is ignored<br> | if both bits 1 and 2 are set bit 2 is ignored<br> |
Revision as of 14:04, 1 May 2019
void osLocalTeleportAgent(key agentID, vector newPosition, vector newVelocity, vector newLookat, integer optionFlags)
| |
Caution ! still experimental, subject to changes Teleports an avatar with uuid agentID to the specified newPosition within same region. - OptionFlags is a bit field: | |
Threat Level | Severe |
Permissions | ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER |
Extra Delay | 5 seconds |
Example(s) | |
vector LandingPoint = <128,128,50>; // X,Y,Z landing point for avatar to arrive at vector LookAt = <1,1,1>; // which way they look at when arriving // default { on_rez(integer start_param) { llResetScript(); } changed(integer change) // something changed, take action { if(change & CHANGED_OWNER) llResetScript(); else if (change & 256) // that bit is set during a region restart llResetScript(); } state_entry() { llWhisper(0, "OS Teleportal Active"); } touch_start(integer num_detected) { key avatar = llDetectedKey(0); llInstantMessage(avatar, "Teleporting you to : " + (string)LandingPoint); osLocalTeleportAgent(avatar, LandingPoint, ZEROVECTOR, <0,1,0>, 2); } } |