|
Kornscope Komachi
Transitional human
Join date: 30 Aug 2006
Posts: 1,041
|
08-18-2008 20:43
Move on please..nothing to see here.
_____________________
SCOPE Homes, Bangu -----------------------------------------------------------------
|
|
Kornscope Komachi
Transitional human
Join date: 30 Aug 2006
Posts: 1,041
|
And here is one slave script
08-18-2008 20:54
integer DEBUG = TRUE; integer CHANNEL = -0272008; integer listen_handle; key curAV; string s_notecard = "Settings_MLS"; integer lineCounter; key dataRequestID; key kQuery; integer LINK2NUM; string side; string SIDES1; string SIDES2; vector COLOR1; vector COLOR2; list sides_data; string texkey; string command;
string side1; string side2; string side3; string side4;string side5; string side6; string side7; string side8; string side9; //-----------//-------------------------------------------//-----------//MENUS list MENU_ONE = ["Inside7","Inside8","Inside9","Inside4","Inside5","Inside6","Inside1","Inside2","Inside3","ALPHA","OUTSIDE","MAIN MENU"]; list MENU_OUTSIDE = ["Outside7","Outside8","Outside9","Outside4","Outside5","Outside6","Outside1","Outside2","Outside3","ALPHA","INSIDE","MAIN MENU"]; list MENU_ALPHAS = ["Int_0.75","Int_0.50","Int_0.25","Ext_0.75","Ext_0.50","Ext_0.25","Ext_1.0","Ext_0.0","Int_0.0","Int_1.0","INSIDE","OUTSIDE"];
GetParameters(string str){ list lsdata = llParseString2List(str, ["="], [""]); string item = llList2String(lsdata,0); string value = llList2String(lsdata,1); integer intvalue = (integer)value; llOwnerSay("Reading " + item + " is set at:" + value); if ("SIDES1"== item) {SIDES1 = (string) value;} if ("SIDES2"== item) {SIDES2 = (string) value;} if ("COLOR1" == item) {COLOR1 = (vector) value;} if ("COLOR2" == item) {COLOR2 = (vector) value;} // if ("LINK2NUM" == item) {LINK2NUM = (integer) value;} } ////---- Changed(integer change) { // Test for a changed inventory if (change & CHANGED_INVENTORY) { llResetScript(); } else if (change & CHANGED_OWNER) { llResetScript(); } }
////--------- debug(string in) { if(DEBUG)llOwnerSay((string)llGetScriptName()+"Dbg " +in); }
parse_message(string message) { list params = llParseString2List(message, ["|"], []); string message = llDumpList2String([message, texkey], "|"); command = llList2String(params, 0); texkey = llList2String(params, 1); debug((string)message); return; }
get_sides(string sides_data) { list SIDES1 = llParseString2List((string)SIDES1, ["/"], [""]); string sides_data = llDumpList2String([""],"/"); side1 = llList2String(SIDES1, 0); side2 = llList2String(SIDES1, 1); side3 = llList2String(SIDES1, 2); side4 = llList2String(SIDES1, 3); side5 = llList2String(SIDES1, 4); side6 = llList2String(SIDES1, 5); side7 = llList2String(SIDES1, 6); side8 = llList2String(SIDES1, 7); side9 = llList2String(SIDES1, 8); return; } get_sides2(string sides_data) { list SIDES2 = llParseString2List((string)SIDES2, ["/"], [""]); string sides_data = llDumpList2String([side1,side2,side3,side4,side5,side6,side7,side8,side9],"/"); side1 = llList2String(SIDES2, 0); side2 = llList2String(SIDES2, 1); side3 = llList2String(SIDES2, 2); side4 = llList2String(SIDES2, 3); side5 = llList2String(SIDES2, 4); side6 = llList2String(SIDES2, 5); side7 = llList2String(SIDES2, 6); side8 = llList2String(SIDES2, 7); side9 = llList2String(SIDES2, 8); return; } set_alpha(float amount) { string side; list SIDES1 = llParseString2List((string)SIDES1, ["/"], [""]); integer length = llGetListLength(SIDES1); integer i; for (i = 0; i < length; ++i) { if (side+(string)i != "") //number = llList2String(SIDES1,i); { llSetAlpha(amount,(integer)llList2String(SIDES1,i)); llSetColor(COLOR1,(integer)llList2String(SIDES1,i)); } else return; } } set_alpha2(float amount) {
string side; list SIDES2 = llParseString2List((string)SIDES2, ["/"], [""]); integer length = llGetListLength(SIDES2); integer i; for (i = 0; i < length; ++i) { if (side+(string)i != "") //number = llList2String(SIDES1,i); { llSetAlpha(amount,(integer)llList2String(SIDES2,i)); llSetColor(COLOR1,(integer)llList2String(SIDES2,i)); } else return; } } set_texture() { { if (side1 == "") return; else llSetTexture((key)texkey,(integer)side1); llSetColor(COLOR1,(integer)side1); llSetAlpha(1.0,(integer)side1); } { if (side2 == "") return; else llSetTexture((key)texkey,(integer)side2); llSetColor(COLOR1,(integer)side2); llSetAlpha(1.0,(integer)side2); } { if (side3 == "") return; else llSetTexture((key)texkey,(integer)side3); llSetColor(COLOR1,(integer)side3); llSetAlpha(1.0, (integer)side3); } { if (side4 == "") return; else llSetTexture((key)texkey,(integer)side4); llSetColor(COLOR1,(integer)side4); llSetAlpha(1.0,(integer)side4); } { if (side5 == "") return; else llSetTexture((key)texkey,(integer)side5); llSetColor(COLOR1,(integer)side5); llSetAlpha(1.0,(integer)side5); } { if (side6 == "") return; else llSetTexture((key)texkey,(integer)side6); llSetColor(COLOR1,(integer)side6); llSetAlpha(1.0,(integer)side6); } { if (side7 == "") return; else llSetTexture((key)texkey,(integer)side7); llSetColor(COLOR1,(integer)side7); llSetAlpha(1.0,(integer)side7); } { if (side8 == "") return; else llSetTexture((key)texkey,(integer)side8); llSetColor(COLOR1,(integer)side8); llSetAlpha(1.0,(integer)side8); } { if (side9 == "") return; else llSetTexture((key)texkey,(integer)side9); llSetColor(COLOR1,(integer)side9); llSetAlpha(1.0,(integer)side9); }
}
default { state_entry() { state ReadConfig; } on_rez (integer change) { Changed(change); }
changed(integer change) { Changed(change) ; } } state Running { state_entry() { debug((string)llGetScriptName() + " Mem= "+ (string)llGetFreeMemory()); llSetTexture("97349513-3345-cd51-6728-af70771ce0dc",ALL_SIDES); llMessageLinked(LINK_ALL_OTHERS,0,"give_link_number",NULL_KEY); } touch_start(integer total_number) { curAV = llDetectedKey(0); CHANNEL = (integer) llFrand (1000000)+1; listen_handle = llListen(CHANNEL, "",curAV, ""); llDialog(curAV, "Inside Window Settings.", MENU_ONE, CHANNEL); llSetTimerEvent(30.0); } listen(integer channel, string name, key curAV, string message) { if (llListFindList(MENU_ONE + MENU_OUTSIDE + MENU_ALPHAS,[message]) != -1) { if (message == "INSIDE"){llDialog(curAV, "Set the Internal Texture.", MENU_ONE, CHANNEL); llSetTimerEvent(30.0); } else if (message == "OUTSIDE"){llDialog(curAV, "Set the External Texture", MENU_OUTSIDE, CHANNEL); llSetTimerEvent(30.0); } else if (message == "ALPHA") { llDialog(curAV, "Set the Percent % of Alpha." , MENU_ALPHAS, CHANNEL); llSetTimerEvent(30.0); } else if (message == "MAIN MENU") llMessageLinked(LINK2NUM, 0,"MAIN_MENU",curAV); //----------//----------------------------------------------//---------->Set Interior Texture if (llGetSubString(message, 0, 5) == "Inside") { string side; list SIDES1 = llParseString2List((string)SIDES1, ["/"], [""]); integer length = llGetListLength(SIDES1); integer i; for (i = 0; i < length; ++i) { llMessageLinked(LINK2NUM,(integer)llList2String(SIDES1,i),message,curAV); debug((string)i+(string)LINK2NUM+message); } } if (llGetSubString(message, 0, 6) == "Outside") { string side; list SIDES2 = llParseString2List((string)SIDES2, ["/"], [""]); integer length = llGetListLength(SIDES2); integer i; for (i = 0; i < length; ++i) { llMessageLinked(LINK2NUM,(integer)llList2String(SIDES2,i),message,curAV); debug((string)message+(string)i); } } if (llGetSubString(message, 0, 3) == "Int_") { string side; list SIDES1 = llParseString2List((string)SIDES1, ["/"], [""]); integer length = llGetListLength(SIDES1); integer i; for (i = 0; i < length; ++i) { llMessageLinked(LINK2NUM,(integer)llList2String(SIDES1,i),message,curAV); debug((string)i); } } if (llGetSubString(message, 0, 3) == "Ext_") { string side; list SIDES2 = llParseString2List((string)SIDES2, ["/"], [""]); integer length = llGetListLength(SIDES2); integer i; for (i = 0; i < length; ++i) { llMessageLinked(LINK2NUM,(integer)llList2String(SIDES2,i),message,curAV); debug((string)i); } } } else llSay(0, name + " picked invalid option '" + llToLower(message) + "'.");} link_message(integer sender, integer num, string message,key id) { if (llGetSubString(message, 0,5) == "Master"){//_ControlNumber") LINK2NUM = (integer)llGetSubString(message,-1,-1); debug("boss is: "+(string)LINK2NUM);} if (llGetSubString(message, 0,5) == "Inside") { string sides_data; parse_message(message); get_sides(sides_data); set_texture(); debug((string)message); } if (llGetSubString(message, 0, 6) == "Outside") { debug((string)message); string sides_data; parse_message(message); get_sides2(sides_data); set_texture(); } if (llGetSubString(message, 0, 3) == "Int_") { string amount; string sides_data; amount = llGetSubString(message,4,-1); debug((string)message); parse_message(message); set_alpha((float)amount); } if (llGetSubString(message, 0, 3) == "Ext_") { string amount; string sides_data; amount = llGetSubString(message,4,-1); debug((string)message); parse_message(message); set_alpha2((float)amount); } } on_rez(integer change) { Changed(change) ; } changed(integer change) { Changed(change) ; } timer() { llListenRemove(listen_handle); //Remove that dialog listener llSetTimerEvent(0); } } state ReadConfig
{ state_entry() { lineCounter = 0; integer itemtype = llGetInventoryType(s_notecard); if(INVENTORY_NOTECARD == itemtype) { kQuery = llGetNotecardLine(s_notecard, lineCounter); llSetTimerEvent(10); } else { llOwnerSay("Error - configuration notecard missing, Using defaults only!"); state Running; } } dataserver( key s_query_id, string sdata ) // read from the notecard { if(s_query_id == kQuery) { if (sdata != EOF){ if(llStringLength(sdata) > 3) { GetParameters(sdata); } lineCounter++; kQuery = llGetNotecardLine( s_notecard, lineCounter );} else { llSetTimerEvent(0); //llOwnerSay("Data looks clean. All Good!"); state Running; }} } timer() { llListenRemove(listen_handle); llOwnerSay("ERROR - Dataserver time out! aborting"); llSetTimerEvent(0); state Running; } on_rez(integer change) { Changed(change) ; } changed(integer change) { Changed(change) ; }// if something has been updated resetnning; }
_____________________
SCOPE Homes, Bangu -----------------------------------------------------------------
|