Touch Texture Switch.lsl

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
//*********************************************************
//                   -Touch Texture Switch-               *
//*********************************************************
// www.lsleditor.org  by Alphons van der Heijden (SL: Alphons Jano)
//Creator: Bobbyb30 Swashbuckler
//Attribution: None required, but it is appreciated.
//Created: December 16, 2009
//Last Modified: March 17, 2010
//License: Public Domain
//Released: Wednesday, December 16, 2009

//Status: Fully Working/Production Ready
//Version: 1.0.1
//Disclaimer: These programs are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
//            even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 



//Name: Touch Texture Switch.lsl
//Purpose: To change texture on touch
//Description: This script will change the texture on a prim when touched between the two given
//             texture and then sleep.
//Directions: Add script to prim. Change UUIDs in script and save.
//Compatible: Mono & LSL compatible
//Other items required: None
//Notes: Lagless, timerless, Originally written for EternalSailorJupiter Korobase
//     : llSetTexture has a .2 second delay, so there is automatically a .2 second delay built in.
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//global variables you may change
string texture1 = "UUID of texture 1";//UUID of texture 1 (or inventory name if in inventorY)
string texture2= "UUID of texture 2";//UUID of texture2
float time = 0.0;//time to sleep in seconds
integer side = ALL_SIDES;//which side to change texture on


/////////////
//don't change below
integer currentstate;//the state its in either TRUE or FALSE
switch(string texture)
{
    llSetTexture(texture, side);
    currentstate = ~currentstate;//swith states
    llSleep(time);
}
default
{
    touch_start(integer total_number)
    {
        if(currentstate)
            switch(texture1);
        else
            switch(texture2);
    }
}