Difference between revisions of "User:Daemonika Nightfire/Scripts/LinkNumber-List in llSetLinkPrimitiveParamsFast"

From Second Life Wiki
Jump to navigation Jump to search
Line 22: Line 22:
     {
     {
         integer i = ~llGetListLength(prims);
         integer i = ~llGetListLength(prims);
         if(s==FALSE)
         if(s == FALSE)
         {
         {
             while (++i)
             while (++i)
             {
             {
                 llSetLinkPrimitiveParamsFast(llList2Integer(prims,i),[PRIM_TEXT,"test",<1,1,1>,1]);
                 llSetLinkPrimitiveParamsFast(llList2Integer(prims,i),[PRIM_TEXT,"Hovertext",<1,1,1>,1]);
             }
             }
             s = TRUE;
             s = TRUE;

Revision as of 21:28, 10 July 2010

LinkNumber-List in llSetLinkPrimitiveParamsFast

Mit diesem kleinen Script moechte ich nur beweisen, das es eben doch moeglich ist im llSetLinkPrimitiveParams die LinkNummern in eine Liste zu fassen.

Besonders interessant ist es wenn sich mehrere Prims eines Linksets veraendern sollen. So muss man zum Beispiel nicht fuer jede einzelne LinkNummer, ein neues komplettes llSetLinkPrimitiveParams schreiben. Bei sehr grosser Anzahl Prims waere es eine muehsehlige Arbeit.

Beispiel

Fuer dieses Beispiel habe ich einfach nur 4 Prims miteinander verlinkt und nur 1 script in den root des Linksets gelegt.

Ich habe mich fuer die touch Variante entschieden damit man beim klicken auch was zu sehen bekommt :)

Viel Spass mit meinem Schnipsel :) <lsl> // LinkNumber-List in llSetLinkPrimitiveParamsFast // 11. Juli 2010 by Daemonika Nightfire

integer s; list prims = ["2","4"]; default {

   touch_start(integer total_number)
   {
       integer i = ~llGetListLength(prims);
       if(s == FALSE)
       {
           while (++i)
           {
               llSetLinkPrimitiveParamsFast(llList2Integer(prims,i),[PRIM_TEXT,"Hovertext",<1,1,1>,1]);
           }
           s = TRUE;
       }
       else
       {
           while (++i)
           {
               llSetLinkPrimitiveParamsFast(llList2Integer(prims,i),[PRIM_TEXT,"",ZERO_VECTOR,0]);
           }
           s = FALSE;
       }
   }

} </lsl>