LlSetLinkAlpha

De DigiWiki.

Make the entire object disappear for 5 seconds

default
{
    touch_start(integer num_detected)
    {
        // transparent
        llSetLinkAlpha(LINK_SET, 0.0, ALL_SIDES);
        llSetTimerEvent(5.0);
    }
 
    timer()
    {
        // opaque
        llSetLinkAlpha(LINK_SET, 1.0, ALL_SIDES);
        llSetTimerEvent(0.0);
    }
}

Makes selected prims in a linkset become transparent or visible on chat command. Give each prim a unique name.

list PrimList;
default
{
     state_entry()
     {
          integer NumLink = llGetNumberOfPrims();
          llListen(37,"","","");
          integer i;
          for (i=1;i<=NumLink;++i)
          {
               PrimList += llGetLinkName(i); 
          }
     }
     listen( integer channel, string name, key id, string msg)
     {
          list temp = llCSV2List(msg);
          integer len = llGetListLength (temp);
          string Alpha = llToUpper(llList2String(temp,0));
          integer i;
          for (i=1;i<len;++i)
          {
                string ThisPrim = llStringTrim(llList2String(temp,i),STRING_TRIM);
                integer idx = llListFindList(PrimList, [ThisPrim]);
                if (~idx)
               {
                    if (Alpha == "SHOW")
                    {
                         llSetLinkAlpha(idx+1, 1.0, ALL_SIDES); //Ex:  SHOW,plate,spoon, napkin  <---- makes named prims visible
                    }
                    else if (Alpha == "HIDE")
                    {
                         llSetLinkAlpha(idx+1,0.0, ALL_SIDES); //Ex:  HIDE, butter knife, glass, fork, spoon  <--- makes named prims transparent
                    }
               }
               else if (llToUpper(ThisPrim) == "ALL")
               {
                    if (Alpha == "SHOW")
                    {
                         llSetLinkAlpha(LINK_SET, 1.0, ALL_SIDES);  //Ex:  SHOW, ALL  <--- makes the entire linkset visible
                    }
                    else if (Alpha == "HIDE")
                    { 
                         llSetLinkAlpha(LINK_SET, 0.0, ALL_SIDES);  //Ex:  HIDE, All  <--- makes the entire linkset transparent
                    }
               }
 
          }
     }
     changed (integer change)
     {
          if (change & CHANGED_LINK)
          {
               llResetScript();
          }
     }
}
Outils personnels
  • Cette page a été consultée 884 fois.
donate
Google Ads