Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
archiv:opensim:downloads:scripts:follower [2024/01/24 16:39] – Externe Bearbeitung 127.0.0.1 | archiv:opensim:downloads:scripts:follower [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== Follower ===== | ||
+ | |||
+ | < | ||
+ | vector offset = < -1, 0, 1>; | ||
+ | |||
+ | default | ||
+ | { | ||
+ | state_entry() | ||
+ | { | ||
+ | llSetStatus(STATUS_PHYSICS, | ||
+ | // Little pause to allow server to make potentially large linked object physical. | ||
+ | llSleep(0.1); | ||
+ | // Look for owner within 20 metres in 360 degree arc every 1 seconds. | ||
+ | llSensorRepeat("", | ||
+ | } | ||
+ | sensor(integer total_number) | ||
+ | { // Owner detected... | ||
+ | // Get position and rotation | ||
+ | vector pos = llDetectedPos(0); | ||
+ | rotation rot = llDetectedRot(0); | ||
+ | // Offset back one metre in X and up one metre in Z based on world coordinates. | ||
+ | // use whatever offset you want. | ||
+ | vector worldOffset = offset; | ||
+ | // Offset relative to owner needs a quaternion. | ||
+ | vector avOffset = offset * rot; | ||
+ | |||
+ | pos += avOffset; | ||
+ | |||
+ | llMoveToTarget(pos, | ||
+ | } | ||
+ | } | ||
+ | </ | ||