Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
archiv:opensim:downloads:scripts:takecontrol_drive [2024/01/24 16:39] – Externe Bearbeitung 127.0.0.1 | archiv:opensim:downloads:scripts:takecontrol_drive [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== Takecontrol Drive ===== | ||
+ | |||
+ | < | ||
+ | float speed=0.2; | ||
+ | rotation rot; | ||
+ | float locx; | ||
+ | float locy; | ||
+ | vector pos; | ||
+ | default | ||
+ | { touch_start(integer total_number) | ||
+ | {llRequestPermissions(llDetectedKey(0), | ||
+ | run_time_permissions(integer perm) | ||
+ | {if(PERMISSION_TAKE_CONTROLS & perm) | ||
+ | {llTakeControls( | ||
+ | CONTROL_FWD | | ||
+ | CONTROL_BACK | | ||
+ | CONTROL_LEFT | | ||
+ | CONTROL_RIGHT | | ||
+ | CONTROL_ROT_LEFT | | ||
+ | CONTROL_ROT_RIGHT | | ||
+ | CONTROL_UP | | ||
+ | 0, TRUE, FALSE); | ||
+ | }} control(key id, integer button, integer edge){ | ||
+ | |||
+ | if (button==CONTROL_UP) {llSay(0," | ||
+ | |||
+ | if (button& | ||
+ | rotation delta = llEuler2Rot(< | ||
+ | rot = delta * rot; | ||
+ | llSetRot(rot); | ||
+ | |||
+ | if (button& | ||
+ | rotation delta = llEuler2Rot(< | ||
+ | rot = delta * rot; | ||
+ | llSetRot(rot); | ||
+ | |||
+ | if (button& | ||
+ | pos = llGetPos(); | ||
+ | locx = (llCos(rotvec.z))*speed; | ||
+ | locy = (llSin(rotvec.z))*speed; | ||
+ | pos = pos + (< | ||
+ | llSetPos(pos); | ||
+ | }} | ||
+ | </ | ||