Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

archiv:opensim:downloads:scripts:dance_poseball [2024/01/09 22:25] – Externe Bearbeitung 127.0.0.1archiv:opensim:downloads:scripts:dance_poseball [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 1: Zeile 1:
 +===== Dance Poseball =====
 +
 +<code>
 +//////////////////////////////////////////// 
 +// Animation Script v1.2.1 
 +// 
 +// Written by Xylor Baysklef 
 +//////////////////////////////////////////// 
 + 
 +/////////////// CONSTANTS /////////////////// 
 +list ANIMATIONS  = [ "Club Dance 1" ]; 
 +list ANIMATIONS2 = [ "Club Dance 2" ]; 
 +list ANIMATIONS3 = [ "Club Dance 3" ]; 
 +list ANIMATIONS4 = [ "Club Dance 4" ]; 
 +///////////// END CONSTANTS ///////////////// 
 + 
 +///////////// GLOBAL VARIABLES /////////////// 
 +//integer gToggle = 0; 
 +integer gAnimNumber; 
 +integer gTotalAnims; 
 + 
 +string gAnimName = "type"; 
 +/////////// END GLOBAL VARIABLES ///////////// 
 + 
 +default { 
 +    state_entry() { 
 +        //llSay(0, "Init..."); 
 +        llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); 
 +         
 +        ANIMATIONS += ANIMATIONS2; 
 +        ANIMATIONS2 = []; 
 +         
 +        gTotalAnims = llGetListLength(ANIMATIONS); 
 +        gAnimNumber = -1; 
 +        llListen(0, "", llGetOwner(), ""); 
 +    } 
 +     
 +    on_rez(integer param) { 
 +        //llGiveInventory(llGetOwner(), "Animation Names"); 
 +        llResetScript(); 
 +    } 
 +     
 +    listen(integer channel, string name, key id, string mesg) { 
 +        string preamble = llGetSubString(mesg, 0, 3); 
 +        if (preamble != "anim" && preamble != "stop"
 +            return; 
 +                 
 +        integer perm = llGetPermissions(); 
 +         
 +        if ( !(perm & PERMISSION_TRIGGER_ANIMATION)) {             
 +            llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); 
 +            return; 
 +        } 
 +         
 +        list parsed = llParseString2List(mesg, [ " " ], []); 
 +        //llSay(0, (string)parsed); 
 +         
 +        string anim = llList2String(parsed, 1); 
 +         
 +        if (preamble == "stop") { 
 +            //llSay(0, "Stopping: " + llGetAnimation(llGetOwner())); 
 +            //llStopAnimation(llGetAnimation(llGetOwner())); 
 +            if (anim == ""
 +                anim = gAnimName; 
 +                         
 +            if (anim == "all") { 
 +                integer i; 
 +                llSay(0, "Stopping all animations... please wait."); 
 +                for (i=0; i<gTotalAnims; i++) 
 +                    llStopAnimation(llList2String(ANIMATIONS, i)); 
 +                     
 +                llSay(0, "Done."); 
 +                     
 +                return; 
 +            } 
 +                 
 +            //llSay(0, "Stopping: " + anim); 
 +            llStopAnimation(anim); 
 +            return; 
 +        } 
 +                 
 +        gAnimName = anim; 
 +        //llSay(0, "Animation: " + gAnimName); 
 +        llStartAnimation(gAnimName);             
 +    } 
 +     
 +    run_time_permissions(integer perm) { 
 +        //llStopAnimation(gAnimName); 
 +        //gToggle = 0; 
 +    } 
 +     
 +    attach(key id) { 
 +        integer perm = llGetPermissions(); 
 +         
 +        if (id != NULL_KEY) {         
 +         
 +            if (! (perm & PERMISSION_TRIGGER_ANIMATION)) { 
 +                llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); 
 +            }                 
 +        } 
 +        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) ); 
 +            } 
 +                 
 +             
 +            gAnimNumber++; 
 +            if (gAnimNumber == gTotalAnims) 
 +                gAnimNumber = 0; 
 +                 
 +            gAnimName = llList2String(ANIMATIONS, gAnimNumber); 
 +             
 +            llStartAnimation( gAnimName ); 
 +            llSay(0, "Animation: " + gAnimName); 
 +        } 
 +        else { 
 +            llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); 
 +        } 
 +    } 
 +}
 +</code>
  
Navigation

Alternative Startseite
Helpdesk
Links
Maps
Radio
Suchmaschine


Drucken/exportieren