Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
archiv:opensim:downloads:scripts:dance_poseball [2024/01/24 16:39] – Externe Bearbeitung 127.0.0.1 | archiv:opensim:downloads:scripts:dance_poseball [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== Dance Poseball ===== | ||
+ | |||
+ | < | ||
+ | //////////////////////////////////////////// | ||
+ | // Animation Script v1.2.1 | ||
+ | // | ||
+ | // Written by Xylor Baysklef | ||
+ | //////////////////////////////////////////// | ||
+ | |||
+ | /////////////// | ||
+ | list ANIMATIONS | ||
+ | list ANIMATIONS2 = [ "Club Dance 2" ]; | ||
+ | list ANIMATIONS3 = [ "Club Dance 3" ]; | ||
+ | list ANIMATIONS4 = [ "Club Dance 4" ]; | ||
+ | ///////////// | ||
+ | |||
+ | ///////////// | ||
+ | //integer gToggle = 0; | ||
+ | integer gAnimNumber; | ||
+ | integer gTotalAnims; | ||
+ | |||
+ | string gAnimName = " | ||
+ | /////////// END GLOBAL VARIABLES ///////////// | ||
+ | |||
+ | default { | ||
+ | state_entry() { | ||
+ | //llSay(0, " | ||
+ | llRequestPermissions(llGetOwner(), | ||
+ | |||
+ | ANIMATIONS += ANIMATIONS2; | ||
+ | ANIMATIONS2 = []; | ||
+ | |||
+ | gTotalAnims = llGetListLength(ANIMATIONS); | ||
+ | gAnimNumber = -1; | ||
+ | llListen(0, "", | ||
+ | } | ||
+ | |||
+ | on_rez(integer param) { | ||
+ | // | ||
+ | llResetScript(); | ||
+ | } | ||
+ | |||
+ | listen(integer channel, string name, key id, string mesg) { | ||
+ | string preamble = llGetSubString(mesg, | ||
+ | if (preamble != " | ||
+ | return; | ||
+ | |||
+ | integer perm = llGetPermissions(); | ||
+ | |||
+ | if ( !(perm & PERMISSION_TRIGGER_ANIMATION)) { | ||
+ | llRequestPermissions(llGetOwner(), | ||
+ | return; | ||
+ | } | ||
+ | |||
+ | list parsed = llParseString2List(mesg, | ||
+ | //llSay(0, (string)parsed); | ||
+ | |||
+ | string anim = llList2String(parsed, | ||
+ | |||
+ | if (preamble == " | ||
+ | //llSay(0, " | ||
+ | // | ||
+ | if (anim == "" | ||
+ | anim = gAnimName; | ||
+ | |||
+ | if (anim == " | ||
+ | integer i; | ||
+ | llSay(0, " | ||
+ | for (i=0; i< | ||
+ | llStopAnimation(llList2String(ANIMATIONS, | ||
+ | |||
+ | llSay(0, " | ||
+ | |||
+ | return; | ||
+ | } | ||
+ | |||
+ | //llSay(0, " | ||
+ | llStopAnimation(anim); | ||
+ | return; | ||
+ | } | ||
+ | |||
+ | gAnimName = anim; | ||
+ | //llSay(0, " | ||
+ | llStartAnimation(gAnimName); | ||
+ | } | ||
+ | |||
+ | run_time_permissions(integer perm) { | ||
+ | // | ||
+ | //gToggle = 0; | ||
+ | } | ||
+ | |||
+ | attach(key id) { | ||
+ | integer perm = llGetPermissions(); | ||
+ | |||
+ | if (id != NULL_KEY) { | ||
+ | |||
+ | if (! (perm & PERMISSION_TRIGGER_ANIMATION)) { | ||
+ | llRequestPermissions(llGetOwner(), | ||
+ | } | ||
+ | } | ||
+ | else { | ||
+ | |||
+ | if (perm & PERMISSION_TRIGGER_ANIMATION) { | ||
+ | llStopAnimation(gAnimName); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | touch_start(integer total_number) { | ||
+ | if (llDetectedKey(0) != llGetOwner()) | ||
+ | return; | ||
+ | |||
+ | integer perm = llGetPermissions(); | ||
+ | |||
+ | if (perm & PERMISSION_TRIGGER_ANIMATION) { | ||
+ | if (gAnimNumber != -1) { | ||
+ | llStopAnimation( llList2String(ANIMATIONS, | ||
+ | } | ||
+ | |||
+ | |||
+ | gAnimNumber++; | ||
+ | if (gAnimNumber == gTotalAnims) | ||
+ | gAnimNumber = 0; | ||
+ | |||
+ | gAnimName = llList2String(ANIMATIONS, | ||
+ | |||
+ | llStartAnimation( gAnimName ); | ||
+ | llSay(0, " | ||
+ | } | ||
+ | else { | ||
+ | llRequestPermissions(llGetOwner(), | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||