Open Prim Animator/Touch Ping Pong

From Second Life Wiki
< Open Prim Animator
Revision as of 05:47, 14 December 2011 by SignpostMarv Martin (talk | contribs) (Committing changes made to OPA made over the past year at work)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

<lsl> integer count; integer running=FALSE; float interval = 1.0; integer at=1; integer mod=1; default{

   state_entry() {
       llMessageLinked(LINK_ROOT, -1, "XDrecordedSnapshots", NULL_KEY);
   }
   link_message(integer s, integer n, string m, key i){
       if(m == "XDrecordedSnapshots" && n >= 0){
           count = n;
       }
   }
   touch_start(integer t){
       if(!running){
           running = TRUE;
           llSetTimerEvent(interval);
       }
   }
   timer(){
       if(count <= 0){
           llSetTimerEvent(0);
       }else{
           at += mod;
           if(at >= count){
               mod = -1;
               llSetTimerEvent(0);
               running = FALSE;
           }else if(at <= 1){
               mod = 1;
               llSetTimerEvent(0);
               running = FALSE;
           }
           llMessageLinked(LINK_ROOT, at, "XDshow", NULL_KEY);
       }
   }

} </lsl>