Difference between revisions of "MLPV2 Texture Changer Add-on"

From Second Life Wiki
Jump to navigation Jump to search
m
Line 15: Line 15:
'''Steps to use:'''
'''Steps to use:'''


#Copy and paste the Main_Script on this page into a script called as you want;
#Create a new script in your inventory.  Name it whatever you want, but I recommend "~~texture".
#Drop this first script into the prim where you have the rest of the MLPV2 scripts;
#Drop this script into every prim that you want retexturable;
#Copy and paste the Slave_Script on this page into a script called as you want;
#Add the textures you wish to use into each retexturable prim;
#Drop this second script into the  child prims you want to texture with it;
#Add lines like the following to a menu in your MLPV2 .MENUITEMS.* notecard:
#Add the textures you wish to use into each concerned prims (including root prim if you want);
#Add to the menu in an MLPV2 menu notecard the following line(s):


  LINKMSG Choice1 | 0,-4,987777,Texture1
  LINKMSG Choice1 | 0,-1,987777,Texture1
  LINKMSG Choice2 | 0,-4,987777,Texture2
  LINKMSG Choice2 | 0,-1,987777,Texture2
  ...
  ...


In the above line, there are two elements for you to customize as appropriate:
Each line creates a menu button.  There are two elements for you
to customize as appropriate:


* Choice1 : the wording that you want to appear for the button on the blue menu.
* Choice1 : the wording that you want to appear for the button on the blue menu.
Line 32: Line 31:


<lsl>
<lsl>
// Texture Changer MAIN_SCRIPT
// Texture Changer script
//add-on by Teq Hutchinson for MLPV2 by Lear Cale. November 2009.
// add-on by Teq Hutchinson for MLPV2. November 2009.
// simplified by Lear Cale, March 2011


default
default
{
{  
link_message(integer sender_num, integer num, string str, key id)  
    link_message(integer sender_num, integer num, string str, key id)
{
    {
          
         if (num == 987777 && llGetInventoryType(str) == INVENTORY_TEXTURE)
if (num ==987777 )
        {
 
            // This will apply your texture to all the sides of the prim
{
            // SEE https://wiki.secondlife.com/wiki/LlSetTexture if you need something different
llMessageLinked( LINK_ALL_OTHERS, 987777, str, "" );
if (llGetInventoryType(str)==0) llSetTexture(str, ALL_SIDES);
 
//THIS WILL APPLY YOUR TEXTURE TO ALL THE SIDES OF THE PRIM
//SEE https://wiki.secondlife.com/wiki/LlSetTexture IF YOU NEED SOMETHING DIFFERENT
 
}
}
}
</lsl>
 
 
<lsl>
// Texture Changer SLAVE_SCRIPT
//add-on by Teq Hutchinson for MLPV2 by Lear Cale. November 2009.
default
{
link_message(integer sender_num, integer num, string str, key id)
{
if (num ==987777 && llGetInventoryType(str)==0  ) llSetTexture(str, ALL_SIDES);
 
//THIS WILL APPLY YOUR TEXTURE TO ALL THE SIDES OF THE PRIM
//SEE https://wiki.secondlife.com/wiki/LlSetTexture IF YOU NEED SOMETHING DIFFERENT
}
}


            llSetTexture(str, ALL_SIDES);
        }
    }
}
</lsl>
</lsl>

Revision as of 06:02, 25 March 2011


Simple add on tool for MLPV2 that puts a button on the MLPV2 menu that, when clicked, gives a user a choice of textures for prims in the object with the MLPV2 scripts. (This script won't work for props, only for the prim where the MLPV2 scripts are, and the prims linked to it)

By Teq Hutchinson, November 2009.


Steps to use:

  1. Create a new script in your inventory. Name it whatever you want, but I recommend "~~texture".
  2. Drop this script into every prim that you want retexturable;
  3. Add the textures you wish to use into each retexturable prim;
  4. Add lines like the following to a menu in your MLPV2 .MENUITEMS.* notecard:
LINKMSG Choice1 | 0,-1,987777,Texture1
LINKMSG Choice2 | 0,-1,987777,Texture2
...

Each line creates a menu button. There are two elements for you to customize as appropriate:

  • Choice1 : the wording that you want to appear for the button on the blue menu.
  • Texture1 :the name (case and spacing sensitive) of the texture you need to use.

<lsl> // Texture Changer script // add-on by Teq Hutchinson for MLPV2. November 2009. // simplified by Lear Cale, March 2011

default {

   link_message(integer sender_num, integer num, string str, key id)
   {
       if (num == 987777 && llGetInventoryType(str) == INVENTORY_TEXTURE)
       {
           // This will apply your texture to all the sides of the prim
           // SEE https://wiki.secondlife.com/wiki/LlSetTexture if you need something different
           llSetTexture(str, ALL_SIDES);
       }
   }

} </lsl>