Change Color Change Script So Any Can Use?
|
|
Nessa Yiyuan
Registered User
Join date: 26 Feb 2007
Posts: 146
|
09-11-2007 14:43
I have a menu driven color change script that i purchased in-world. I am using it in some furniture i am selling. Is there anyway I can change the script so that anyone can change the color of the furniture. I would like people to be able to test drive this feature before they actually buy the furniture, also so they know that is works.
Thanks in advance.
_____________________
Life is a constant battle between the heart and the brain. But guess who wins. The skeleton.
|
|
Kenn Nilsson
AeonVox
Join date: 24 May 2005
Posts: 897
|
09-11-2007 15:29
Yes. It is possible and very easy--except you need to show us the script before we can help you with it.
_____________________
--AeonVox--Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms chasing ghosts, eating magic pills, and listening to repetitive, addictive, electronic music.
|
|
Nessa Yiyuan
Registered User
Join date: 26 Feb 2007
Posts: 146
|
09-11-2007 15:42
Ok here is the script. Sorry I didn't post it before. ------------------------------------------------------------------------------------- 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>]; //Typically you wouldn't change anything below here, but if you're feelin it, who's gonna stop you?! //--------------------------------------------------------- integer channel; integer listen_handle; key owner; list sub_menu; list main_menu = ["grayscale", "reds", "pinks", "violets", "dk_blues", "lt_blues", "yellows", "dk_greens", "lt_greens", "oranges"]; init() { llListenRemove(listen_handle); owner = llGetOwner(); channel = llFloor(llFrand(2000000)); //random channel so multiple scripts don't interfere with each other listen_handle = llListen(channel, "", owner, ""  ; } default { on_rez(integer s) { init(); } state_entry() { init(); } listen(integer channel, string name, key id, string message) { if (llListFindList(main_menu, [message]) != -1) { if (message == "grayscale"  sub_menu = grayscale; else if (message == "grayscale"  sub_menu = reds; 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; llDialog(owner, "\n\nSelect a color", llList2ListStrided(sub_menu, 0, -1, 2), channel); return; } integer index = llListFindList(sub_menu, [message]); if (index != -1) { vector color_vector = llList2Vector(sub_menu, index+1); if (llGetLinkNumber() == 1) llSetLinkColor(LINK_SET, color_vector, ALL_SIDES); //If it's root prim, do whole set else llSetColor(color_vector, ALL_SIDES); //otherwise, just do that prim } } touch_start(integer s) { if (llDetectedKey(0) == owner) { llDialog(owner, "\n\nSelect a color group", main_menu, channel); } } } ------------------------------------------------------------------------------------------------------
_____________________
Life is a constant battle between the heart and the brain. But guess who wins. The skeleton.
|
|
Osgeld Barmy
Registered User
Join date: 22 Mar 2005
Posts: 3,336
|
09-11-2007 17:58
this should do it From: someone 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>]; //Typically you wouldn't change anything below here, but if you're feelin it, who's gonna stop you?! //--------------------------------------------------------- integer channel; integer listen_handle; list sub_menu; list main_menu = ["grayscale", "reds", "pinks", "violets", "dk_blues", "lt_blues", "yellows", "dk_greens", "lt_greens", "oranges"]; init() { llListenRemove(listen_handle); llSetTimerEvent(45); channel = llFloor(llFrand(2000000)); //random channel so multiple scripts don't interfere with each other listen_handle = llListen(channel, "",NULL_KEY, ""  ; } end(){llListenRemove(listen_handle);} default { listen(integer channel, string name, key id, string message) { if (llListFindList(main_menu, [message]) != -1) { if (message == "grayscale"  sub_menu = grayscale; else if (message == "grayscale"  sub_menu = reds; 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; llDialog(id, "\n\nSelect a color", llList2ListStrided(sub_menu, 0, -1, 2), channel); return; } integer index = llListFindList(sub_menu, [message]); if (index != -1) { vector color_vector = llList2Vector(sub_menu, index+1); if (llGetLinkNumber() == 1) llSetLinkColor(LINK_SET, color_vector, ALL_SIDES); //If it's root prim, do whole set else llSetColor(color_vector, ALL_SIDES); //otherwise, just do that prim end(); } } touch_start(integer s) { init(); llDialog(llDetectedKey(0), "\n\nSelect a color group", main_menu, channel); } }
|
|
Nessa Yiyuan
Registered User
Join date: 26 Feb 2007
Posts: 146
|
09-11-2007 19:40
thank you so much it works perfect!!!!!!!!!
_____________________
Life is a constant battle between the heart and the brain. But guess who wins. The skeleton.
|
|
Osgeld Barmy
Registered User
Join date: 22 Mar 2005
Posts: 3,336
|
09-11-2007 21:08
ack i set a timer and never used it ... From: someone 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>]; //Typically you wouldn't change anything below here, but if you're feelin it, who's gonna stop you?! //--------------------------------------------------------- integer channel; integer listen_handle; list sub_menu; list main_menu = ["grayscale", "reds", "pinks", "violets", "dk_blues", "lt_blues", "yellows", "dk_greens", "lt_greens", "oranges"]; init() { llListenRemove(listen_handle); llSetTimerEvent(45); channel = llFloor(llFrand(2000000)); //random channel so multiple scripts don't interfere with each other listen_handle = llListen(channel, "",NULL_KEY, ""  ; } end(){llListenRemove(listen_handle); llSetTimerEvent(0);} default { listen(integer channel, string name, key id, string message) { if (llListFindList(main_menu, [message]) != -1) { if (message == "grayscale"  sub_menu = grayscale; else if (message == "grayscale"  sub_menu = reds; 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; llDialog(id, "\n\nSelect a color", llList2ListStrided(sub_menu, 0, -1, 2), channel); return; } integer index = llListFindList(sub_menu, [message]); if (index != -1) { vector color_vector = llList2Vector(sub_menu, index+1); if (llGetLinkNumber() == 1) llSetLinkColor(LINK_SET, color_vector, ALL_SIDES); //If it's root prim, do whole set else llSetColor(color_vector, ALL_SIDES); //otherwise, just do that prim end(); } } touch_start(integer s) { init(); llDialog(llDetectedKey(0), "\n\nSelect a color group", main_menu, channel); } timer () {end();} } fixed
|