Jump to content

AnnieBumbleclaw

Resident
  • Posts

    5
  • Joined

  • Last visited

Reputation

0 Neutral

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Thank you so much LepreKhaun for all of the advice. I will definitely seek out those groups and take some classes. I am sure I will eventually figure this thing out. Sorry for posting in the wrong area! Thank you all so much. This was my first time ever posting in a forum for Second Life. I am sure I will be back.
  2. I have been spending days reading and working on this script. I can build like nothing but scripting has always been an issue for me. Thank you for all of your help. If anyone can "kindly" point me in the direction so that I can take some classes to learn how to write code without asking for help, please feel free to share. Any classes or tutorials that anyone found useful to learn as a beginner in code? And LepreKhaun thank you for all of your help. My apologies if you feel I am not trying to figure this out on my own and to get you to write my code for me. It would most definitely help but I wouldn't learn much so if you can share some classes that would greatly help. Thank you all so much for your time!
  3. I am certain I want to present my chosen colors between 20-50. I do realize it does involve submenus so I did some digging on some scripts and the closest I came to what I want is using the script I will be posting. The only thing is tha if I link all of them, it colors everything when I only want two specified prims colored. Any ideas on how to adjust this script so that it colors only two prims? Script: // Default is to make the entire object change color, even if multiple prims. integer ChangeAllPrims = FALSE; // 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_rez( integer 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 channel, string name, key is, string 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_menu, 0, -1, 2)); return; } integer index = llListFindList(sub_menu, [message]); if (index != -1) { vector color_vector = llList2Vector(sub_menu, index+1); if (ChangeAllPrims == TRUE) { llSetLinkColor(LINK_SET, color_vector, ALL_SIDES); //all prims } else { llSetColor(color_vector, ALL_SIDES); //only prim script is in } } } } }
  4. I appreciate all of the help I am receiving. This script worked well and it does color the two prims I want to color out of the 5. However, I want the script to be menu driven and when the menu pops up, I want the person to have the option of choosing various colors (about 20-50). How do I add it to the script so that when they click on the prim a menu pops up for them to change to different colors?
  5. So I am currently working on a 5 prim creation and I only want two of those prims to change color that is accessed through a menu. I have my "switch" script and my "bulb" script that I will be displaying for you. I am not having a problem setting anything up and the menu works great. However, it only allows 12 entries and I have plenty more colors I want to add to the menu. The script is full perm and I am able to modify. Any help would be appreciated if someone can let me know how do I make this menu have more than 12 entries? Switch Prim Script: list menu_button = [ // the button to be shown on the drop down menu, maximum 12 entrys "Red", "Orange", "Yellow", "Green", "Blue", "Purple", "Black", "White" // Note: no [ , ] comma for the last entry ]; //_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ //_/_/_/_/_/_/_/_/_/ No need to change from here _/_/_/_/_/_/_/_/_/ //_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ key toucher = NULL_KEY; // who touches to use integer menu_chan = -1; // channel to use in the menu integer listen_num = -1; // menu listen event handler default { state_entry() { } touch_start(integer total_number) { toucher = llDetectedKey(0); menu_chan = 0 - (integer)llFrand(2147483647); listen_num = llListen(menu_chan,"", toucher,""); llDialog(toucher, "Select options:", menu_button, menu_chan); llSetTimerEvent(60.0); // 60 sec timer used to in case the "ignore" button is pressed or time out } timer() { // 60 sec timer used to in case the "ignore" button is pressed or time out llListenRemove(listen_num); llSetTimerEvent(0.0); } listen(integer channel, string name, key id, string message) { integer msg_index = llListFindList(menu_button,(list)message); if (msg_index != -1) llMessageLinked(LINK_SET,0,(string)msg_index,NULL_KEY); llSetTimerEvent(0.1); // just to save resources } } Bulb Prim Script: list color_value = [ // the color value corresponding to the menu_button on the [ Switch ] script <1.0,0.0,0.0>, // Red <1.0,0.5,0.0>, // Orange <1.0,1.0,0.0>, // Yellow <0.0,1.0,0.0>, // Green <0.0,0.0,1.0>, // Blue <0.5,0.0,1.0>, // Purple <0.0,0.0,0.0>, // Black <1.0,1.0,1.0> // White ]; integer face_number = ALL_SIDES; // the face number to change on the bulb prim //_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ //_/_/_/_/_/_/_/_/_/ No need to change from here _/_/_/_/_/_/_/_/_/ //_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ default { state_entry() { } link_message(integer sender,integer num,string msg,key id) { integer msg_index = (integer)msg; llSetColor(llList2Vector(color_value,msg_index),face_number); } } Can someone please help? :)
×
×
  • Create New...