Who Is Online

2
Online

Friday, 17 November 2017 22:15

Remote Light

Great remote with menu for a light switch.

Light:

vector red = <0.86,0.0,0.14>; 
vector green  = <0,0.9,0>; 
vector white  = <1,1,1>;
vector black  = <0.12,0.1,0.12>;
vector steel  = <0.27,0.51,0.71>;
vector blue  = <0.1,0.31,0.98>;
vector orange  = <1,.6,0>;
vector yellow  = <1,1,0.1>;
vector brown  = <0.5,0.25,0>;
vector pink  = <0.85,0,0.75>;
vector purple  = <0.8,0.21,0.8>;
vector lime  = <0.18,0.75,0.34>;
vector sky  = <0.53,0.81,0.92>;
vector lavander  = <0.2,0.2,0.4>;

default
{
    state_entry()
    {
                llSetStatus(STATUS_PHANTOM, TRUE);
 llListen(788, "", NULL_KEY, "" );
    }
    
    on_rez(integer num)
    {
        llResetScript();
    }

    listen(integer number, string name, key id, string message)
    {        //--------------LightEffects----------
       
                     if(message=="redl")
        {
 llSetPrimitiveParams([PRIM_POINT_LIGHT, TRUE, red, 1.0, 20.0, 0.75]);
}
                     if(message=="greenl")
        {
 llSetPrimitiveParams([PRIM_POINT_LIGHT, TRUE, green, 1.0, 20.0, 0.75]);
}
                     if(message=="whitel")
        {
 llSetPrimitiveParams([PRIM_POINT_LIGHT, TRUE, white, 1.0, 20.0, 0.75]);
}
                     if(message=="blackl")
        {
 llSetPrimitiveParams([PRIM_POINT_LIGHT, TRUE, black, 1.0, 20.0, 0.75]);
}
                     if(message=="steell")
        {
 llSetPrimitiveParams([PRIM_POINT_LIGHT, TRUE, steel, 1.0, 20.0, 0.75]);
}
                     if(message=="bluel")
        {
 llSetPrimitiveParams([PRIM_POINT_LIGHT, TRUE, blue, 1.0, 20.0, 0.75]);
}
                     if(message=="orangel")
        {
 llSetPrimitiveParams([PRIM_POINT_LIGHT, TRUE, orange, 1.0, 20.0, 0.75]);
}
                     if(message=="yellowl")
        {
 llSetPrimitiveParams([PRIM_POINT_LIGHT, TRUE, yellow, 1.0, 20.0, 0.75]);
}
                     if(message=="brownl")
        {
 llSetPrimitiveParams([PRIM_POINT_LIGHT, TRUE, brown, 1.0, 20.0, 0.75]);
}
                     if(message=="pinkl")
        {
 llSetPrimitiveParams([PRIM_POINT_LIGHT, TRUE, pink, 1.0, 20.0, 0.75]);
}
                     if(message=="purplel")
        {
 llSetPrimitiveParams([PRIM_POINT_LIGHT, TRUE, purple, 1.0, 20.0, 0.75]);
}
                     if(message=="limel")
        {
 llSetPrimitiveParams([PRIM_POINT_LIGHT, TRUE, lime, 1.0, 20.0, 0.75]);
}
                     if(message=="skyl")
        {
 llSetPrimitiveParams([PRIM_POINT_LIGHT, TRUE, sky, 1.0, 20.0, 0.75]);
}
                     if(message=="lavanderl")
        {
 llSetPrimitiveParams([PRIM_POINT_LIGHT, TRUE, lavander, 1.0, 20.0, 0.75]);
}

                     if(message=="off")
        {
 llSetPrimitiveParams([PRIM_POINT_LIGHT, FALSE, <0,0,0>, 1.0, 0.0, 0.0]);
}      
        

        }

}

Remote:

integer menu_handler;
integer menu_channel;

menu(key user,string title,list buttons)//make dialog easy, pick a channel by itself and destroy it after 5 seconds
{
    menu_channel = (integer)(llFrand(99999.0) * -1);//yup a different channel at each use
    menu_handler = llListen(menu_channel,"","","");
    llDialog(user,title,buttons,menu_channel);
    llSetTimerEvent(5.0);
}

default
{state_entry()
    { llSetTouchText("Remote!");
    }
    touch_start(integer t)
    {
        menu(llDetectedKey(0),"Choose a color from the List below...",["white","red","green","blue","steel","orange","yellow","pink","purple","sky","lavander","OFF"]);
    }
    timer() //so the menu timeout and close its listener
    {
        llSetTimerEvent(0.0);
        llListenRemove(menu_handler);
    }
    listen(integer channel,string name,key id,string message)
    {
        if (channel == menu_channel) //in case you have others listeners
        {
           integer c_channel = 788;//-----THIS IS THE CHANNEL FOR COMMANDS----
            if(message == "white")
            {
        llShout(c_channel, "whitel");
            }
            else if(message == "red")
            {
        llShout(c_channel, "redl");
            }

            else if(message == "green")
            {
        llShout(c_channel, "greenl");
            }        
            else if(message == "blue")
            {
        llShout(c_channel, "bluel");
            }
            else if(message == "black")
            {
        llShout(c_channel, "blackl");
            }                
            else if(message == "steel")
            {
        llShout(c_channel, "steell");
            }
            else if(message == "orange")
            {
        llShout(c_channel, "orangel");        
            }
            else if(message == "yellow")
            {
        llShout(c_channel, "yellowl");                                
            }
            else if(message == "purple")
            {
        llShout(c_channel, "purplel");                                                                      }                                                              
            else if(message == "pink")
            {
        llShout(c_channel, "pinkl");                                                                      }                 
            else if(message == "lime")
            {
        llShout(c_channel, "limel");                                                                      }                         
            else if(message == "sky")
            {
        llShout(c_channel, "skyl");                                                                      }                                 
            else if(message == "lavander")
            {
        llShout(c_channel, "lavanderl");                                                                      }        
                                  else if(message == "OFF")
            {
        llShout(c_channel, "off");                                                                                                
                                                                 
        }
    }
}}

 

Flash Scratch to SL - Your Scripting Tool

Script ImageNeed to write a LSL script and don't know how to script?  I know I hate trying to get my head around LSLS when I an in a time crunch. So why not give Flash Scratch a try! Its a great tool for learning and scoding your own scripts for Second Life without having to pay someone to do it and without a crash course in LSL

A Huge thanks to John Bennet of ATLAS Institute at University of Colorado and Eric Rosenbaum at MIT for writing Scratch for SL to begin with.

Read more: Flash Scratch to SL - Your Scripting Tool