Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
archiv:opensim:downloads:scripts:teleport [2024/01/24 16:39] – Externe Bearbeitung 127.0.0.1 | archiv:opensim:downloads:scripts:teleport [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== Teleport ===== | ||
+ | |||
+ | < | ||
+ | //Teleport v2.02 by Pablo Pharmanaut | ||
+ | //based on code by Cubey Terra | ||
+ | |||
+ | integer totalPos = 4; //This integer should equal total number of positions | ||
+ | integer currentPos = 1; | ||
+ | string currentpos; | ||
+ | |||
+ | vector vPos1 = < | ||
+ | vector vPos2 = <81,23, 103>; | ||
+ | vector vPos3 = <83, 49.00, 29>; | ||
+ | vector vPos4 = < | ||
+ | //vector vPos5 = < | ||
+ | |||
+ | string sPos1 = " | ||
+ | string sPos2 = " | ||
+ | string sPos3 = " | ||
+ | string sPos4 = " | ||
+ | //string sPos5 = " | ||
+ | |||
+ | vector currentvPos; | ||
+ | |||
+ | setPos() | ||
+ | { | ||
+ | if (currentPos == 1) | ||
+ | { | ||
+ | currentpos = sPos1; | ||
+ | currentvPos = vPos1; | ||
+ | } | ||
+ | else if (currentPos == 2) | ||
+ | { | ||
+ | currentpos = sPos2; | ||
+ | currentvPos = vPos2; | ||
+ | } | ||
+ | else if (currentPos == 3) | ||
+ | { | ||
+ | currentpos = sPos3; | ||
+ | currentvPos = vPos3; | ||
+ | } | ||
+ | else if (currentPos == 4) | ||
+ | { | ||
+ | currentpos = sPos4; | ||
+ | currentvPos = vPos4; | ||
+ | } | ||
+ | // else if (currentPos == 5) | ||
+ | // { | ||
+ | // currentpos = sPos5; | ||
+ | // currentvPos = vPos5; | ||
+ | // } | ||
+ | |||
+ | //add else if section here with higher currentPos integer to add TP destinations. | ||
+ | // | ||
+ | |||
+ | vector pos = llGetPos(); | ||
+ | llSetText(" | ||
+ | vector offset = currentvPos - pos; | ||
+ | llSitTarget(offset, | ||
+ | } | ||
+ | |||
+ | default | ||
+ | { | ||
+ | state_entry() | ||
+ | { | ||
+ | llSetSitText(" | ||
+ | } | ||
+ | touch_start(integer total_number) | ||
+ | { | ||
+ | currentPos += 1; | ||
+ | if (currentPos > totalPos) currentPos = 1; | ||
+ | setPos(); | ||
+ | } | ||
+ | changed(integer change) | ||
+ | { | ||
+ | if ((change & CHANGED_LINK)==CHANGED_LINK) | ||
+ | { | ||
+ | if (llAvatarOnSitTarget() != NULL_KEY) | ||
+ | { | ||
+ | llUnSit(llAvatarOnSitTarget()); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||