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

From Second Life Wiki
Jump to navigation Jump to search
Line 1: Line 1:
{{LSL Header}}
{{LSL Header}}
==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.
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.
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.
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.


==LinkNumber-List in llSetLinkPrimitiveParamsFast==
==Beispiel==
Fuer dieses Beispiel habe ich einfach nur 4 Prims miteinander verlinkt.
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>
<lsl>
// LinkNumber-List in llSetLinkPrimitiveParamsFast
// LinkNumber-List in llSetLinkPrimitiveParamsFast
Line 18: Line 21:
     touch_start(integer total_number)
     touch_start(integer total_number)
     {
     {
        integer i = ~llGetListLength(prims);
         if(s==FALSE)
         if(s==FALSE)
         {
         {
            integer i = ~llGetListLength(prims);
             while (++i)
             while (++i)
             {
             {
Line 29: Line 32:
         else
         else
         {
         {
            integer i = ~llGetListLength(prims);
             while (++i)
             while (++i)
             {
             {
                 llSetLinkPrimitiveParamsFast(llList2Integer(prims,i),[PRIM_TEXT,"",<1,1,1>,1]);
                 llSetLinkPrimitiveParamsFast(llList2Integer(prims,i),[PRIM_TEXT,"",ZERO_VECTOR,0]);
             }
             }
             s = FALSE;
             s = FALSE;

Revision as of 22:27, 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,"test",<1,1,1>,1]);
           }
           s = TRUE;
       }
       else
       {
           while (++i)
           {
               llSetLinkPrimitiveParamsFast(llList2Integer(prims,i),[PRIM_TEXT,"",ZERO_VECTOR,0]);
           }
           s = FALSE;
       }
   }

} </lsl>