Top Free Scripts
Script ID : 23
Audience : Default
Version 1.00
Published Date: 2009/5/28 4:15:59
Reads : 10886
Colors

Select color from 59 choices by menu. Can be used with single prim or multiple prims.

// Default is to make the entire object change color, even if multiple prims.
integer ChangeAllPrims TRUE// set this to FALSE for this prim only

//-----START COLORS-----------------------------

list grayscale =["black",<0,0,0>,"white",<1,1,1>,"gray",<0.5,0.5,0.5>,"silver",<0.75,0.75,0.75>,"darkgray",<0.4,0.4,0.4>,
    
"lightgrey",<0.83,0.83,0.83>];
list 
reds = ["red",<1,0,0>,"darkred",<0.55,0,0>,"crimson",<0.86,0.08,0.24>,"indianred",<0.8,0.36,0.36>,
    
"orangered",<1,0.27,0>];
list 
pinks = ["hotpink",<1,0.41,0.71>,"pink", <1,0.75,0.8>,"lightpink",<1,0.71,0.76>,"deeppink",<1,0.08,0.58>,
    
"fuchsia",<1,0,1>,"orchid",<0.85,0.44,0.84>,"plum",<0.87,0.63,0.87>];
list 
violets = ["violet",<0.8,0.51,0.8>,"indigo",<0.29,0,0.51>,"lavender",<0.7,0.7,1>,"magenta",<1,0,1>,
    
"purple",<0.5,0,0.5>,"darkmagenta",<0.55,0,0.55>,"darkviolet",<0.58,0,0.83>,"blueviolet",<0.54,0.17,0.89>];
list 
dk_blues = ["darkblue",<0,0,0.55>,"blue",<0,0,1>,"deepskyblue",<0,0.75,1>,"mediumblue",<0,0,0.8>,
    
"midnightblue",<0.1,0.1,0.44>,"royalblue",<0.25,0.41,0.88>,"slateblue",<0.42,0.35,0.8>,"steelblue",<0.27,0.51,0.71>];
list 
lt_blues = ["teal",<0,0.5,0.5>,"turquoise",<0.25,0.88,0.82>,"darkcyan",<0,0.55,0.55>, "lightblue", <0.68,0.85,0.9>,
    
"aquamarine",<0.5,1,0.83>,"azure",<0.8,1,1>,"cyan",<0,1,0.9>,"skyblue",<0.53,0.81,0.92>];
list 
yellows = ["yellow",<1,1,0>,"gold",<1,0.84,0>,"lightyellow",<1,1,0.88>,"goldenrod",<0.85,0.65,0.13>,
    
"yellowgreen",<0.6,0.8,0.2>];
list 
dk_greens = ["darkgreen",<0,0.39,0>,"green",<0,0.5,0>,"forestgreen",<0.13,0.55,0.13>,"lawngreen",<0.49,0.99,0>,
    
"springgreen",<0,1,0.5>];
list 
lt_greens = ["lightgreen",<0.56,0.93,0.56>,"chartreuse",<0.5,1,0>,"greenyellow",<0.68,1,0.18>,"honeydew",<0.94,1,0.94>,
    
"limegreen",<0.2,0.8,0.2>,"mintcream",<0.96,1,0.98>,"seagreen",<0.18,0.55,0.34>];
list 
oranges = ["orange",<1,0.65,0>,"darkorange",<1,0.55,0>,"coral",<1,0.5,0.31>,"navajowhite",<1,0.87,0.68>,
    
"salmon",<0.98,0.5,0.45>,"seashell",<1,0.96,0.93>,"brown",<.24,.17,.15>];

//-----END COLORS-----------------------------

key toucher NULL_KEY;
list 
sub_menu;
list 
main_menu = ["grayscale""reds""pinks""violets""dk_blues""lt_blues""yellows""dk_greens""lt_greens""oranges"];



//FUNCTIONS

//owner menu
integer menu_handler;
integer menu_channel;
menu(key user,string title,list buttons)
{
    
llListenRemove(menu_handler);
    
menu_channel = (integer)(llFrand(99999.0) * -1);
    
menu_handler llListen(menu_channel,"","","");
    
llDialog(user,title,buttons,menu_channel);
    
llSetTimerEvent(60.0);
}

default
{
    
on_rezinteger sparam )
    {
        
llResetScript();
    }
    
    
state_entry()
    {
        
//
    
}
    
    
touch_start(integer total_number)
    {
        
toucher llDetectedKey(0);
        
menu(toucher"n nSelect a color category."main_menu);
    }

    
// use link message instead of touch in case you have more menu in another script.
    //link_message(integer sender_num, integer num, string str, key id)
    //{
        //if (str == "Colors") // from main script
        //{
            //toucher = id;
            //menu(toucher, "n nSelect a color category.", main_menu);
        //}
    //}
    
    
timer() 
    {
        
llSetTimerEvent(0.0);
        
llListenRemove(menu_handler);
        
toucher NULL_KEY;
    }
    
    
listen(integer channelstring namekey isstring message)
    {
        if (
channel == menu_channel)
        {
            
llSetTimerEvent(0.0);
            
llListenRemove(menu_handler);
            
            if (
llListFindList(main_menu, [message]) != -1) {
            if (
message == "grayscale"sub_menu grayscale
            else if (
message == "reds"sub_menu reds;
            else if (
message == "pinks"sub_menu pinks;
            else if (
message == "violets"sub_menu violets;
            else if (
message == "dk_blues"sub_menu dk_blues;
            else if (
message == "lt_blues"sub_menu lt_blues;
            else if (
message == "yellows"sub_menu yellows;
            else if (
message == "dk_greens"sub_menu dk_greens;
            else if (
message == "lt_greens"sub_menu lt_greens;
            else if (
message == "oranges"sub_menu oranges;
            
            
menu(toucher"n nSelect a color."llList2ListStrided(sub_menu0, -12));
            return;  
            }
        
            
integer index llListFindList(sub_menu, [message]);
            if (
index != -1)
            {
                
vector color_vector llList2Vector(sub_menuindex+1);
                if (
ChangeAllPrims == TRUE)
                {
                    
llSetLinkColor(LINK_SETcolor_vectorALL_SIDES); //all prims
                
}
                else
                {
                    
llSetColor(color_vectorALL_SIDES); //only prim script is in
                
}
            }
        }
    }
}

0
|  Links 
Printer Friendly Page Send this Script to a Friend
Search for Help
New Product
Free Item
Sponsor

Site Info
Total Hits