diff --git a/AVsitter2/Plugins/AVprop/[AV]prop.lsl b/AVsitter2/Plugins/AVprop/[AV]prop.lsl index 44f4928..72473ca 100644 --- a/AVsitter2/Plugins/AVprop/[AV]prop.lsl +++ b/AVsitter2/Plugins/AVprop/[AV]prop.lsl @@ -601,54 +601,54 @@ default return; } - data = llGetSubString(data, llSubStringIndex(data, "◆") + 1, -1); - data = llStringTrim(data, STRING_TRIM); - string command = llGetSubString(data, 0, llSubStringIndex(data, " ") - 1); - list parts = llParseStringKeepNulls(llGetSubString(data, llSubStringIndex(data, " ") + 1, -1), [" | ", " |", "| ", "|"], []); - if (command == "SITTER") + data = llGetSubString(data, llSubStringIndex(data, "◆") + 1, -1); + data = llStringTrim(data, STRING_TRIM); + string command = llGetSubString(data, 0, llSubStringIndex(data, " ") - 1); + list parts = llParseStringKeepNulls(llGetSubString(data, llSubStringIndex(data, " ") + 1, -1), [" | ", " |", "| ", "|"], []); + if (command == "SITTER") + { + notecard_section = (integer)llList2String(parts, 0); + } + if (llGetSubString(command, 0, 3) == "PROP") + { + if (llGetListLength(prop_triggers) == 100) { - notecard_section = (integer)llList2String(parts, 0); + Out(0, "Max props is 100, could not add prop!"); // the real limit is less than this due to memory running out first :) } - if (llGetSubString(command, 0, 3) == "PROP") + else { - if (llGetListLength(prop_triggers) == 100) + integer prop_type; + if (command == "PROP1") { - Out(0, "Max props is 100, could not add prop!"); // the real limit is less than this due to memory running out first :) + prop_type = 1; } - else + if (command == "PROP2") { - integer prop_type; - if (command == "PROP1") - { - prop_type = 1; - } - if (command == "PROP2") - { - prop_type = 2; - } - if (command == "PROP3") - { - prop_type = 3; - } - prop_triggers += [(string)notecard_section + "|" + llList2String(parts, 0)]; - prop_types += prop_type; - prop_objects += llList2String(parts, 1); - string prop_group = (string)notecard_section + "|" + llList2String(parts, 2); - prop_groups += prop_group; - if (llListFindList(sequential_prop_groups, [prop_group]) == -1) - { - sequential_prop_groups += prop_group; - } - prop_positions += (vector)llList2String(parts, 3); - prop_rotations += (vector)llList2String(parts, 4); - prop_points += llList2String(parts, 5); + prop_type = 2; } + if (command == "PROP3") + { + prop_type = 3; + } + prop_triggers += [(string)notecard_section + "|" + llList2String(parts, 0)]; + prop_types += prop_type; + prop_objects += llList2String(parts, 1); + string prop_group = (string)notecard_section + "|" + llList2String(parts, 2); + prop_groups += prop_group; + if (llListFindList(sequential_prop_groups, [prop_group]) == -1) + { + sequential_prop_groups += prop_group; + } + prop_positions += (vector)llList2String(parts, 3); + prop_rotations += (vector)llList2String(parts, 4); + prop_points += llList2String(parts, 5); } - if (command == "WARN") - { - WARN = (integer)llList2String(parts, 0); - } - notecard_query = llGetNotecardLine(notecard_name, notecard_line += 1); + } + if (command == "WARN") + { + WARN = (integer)llList2String(parts, 0); + } + notecard_query = llGetNotecardLine(notecard_name, notecard_line += 1); } } } diff --git a/AVsitter2/[AV]sitA.lsl b/AVsitter2/[AV]sitA.lsl index e77f5ce..5a3bc0a 100644 --- a/AVsitter2/[AV]sitA.lsl +++ b/AVsitter2/[AV]sitA.lsl @@ -1067,193 +1067,193 @@ default reused_variable = (llGetFreeMemory() - 5000) / 100; return; } - if (notecard_lines) - { - llSetText("Loading " + (string)(reused_variable * 100 / notecard_lines) + "%", <1,1,0>, 1); - } + if (notecard_lines) + { + llSetText("Loading " + (string)(reused_variable * 100 / notecard_lines) + "%", <1,1,0>, 1); + } - // Request next line - notecard_query = llGetNotecardLine(notecard_name, ++reused_variable); + // Request next line + notecard_query = llGetNotecardLine(notecard_name, ++reused_variable); - data = llGetSubString(data, llSubStringIndex(data, "◆") + 1, -1); - data = llStringTrim(data, STRING_TRIM_HEAD); - string command = llGetSubString(data, 0, llSubStringIndex(data, " ") - 1); - list parts = llParseStringKeepNulls(llGetSubString(data, llSubStringIndex(data, " ") + 1, -1), [" | ", " |", "| ", "|"], []); - string part0 = llStringTrim(llList2String(parts, 0), STRING_TRIM); - string part1; - if (llGetListLength(parts) > 1) + data = llGetSubString(data, llSubStringIndex(data, "◆") + 1, -1); + data = llStringTrim(data, STRING_TRIM_HEAD); + string command = llGetSubString(data, 0, llSubStringIndex(data, " ") - 1); + list parts = llParseStringKeepNulls(llGetSubString(data, llSubStringIndex(data, " ") + 1, -1), [" | ", " |", "| ", "|"], []); + string part0 = llStringTrim(llList2String(parts, 0), STRING_TRIM); + string part1; + if (llGetListLength(parts) > 1) + { + part1 = llStringTrim(llDumpList2String(llList2List(parts, 1, -1), "�"), STRING_TRIM); + } + if (command == "SITTER") + { + reading_notecard_section = FALSE; + if (llList2String(parts, 2) == "M") { - part1 = llStringTrim(llDumpList2String(llList2List(parts, 1, -1), "�"), STRING_TRIM); + GENDERS += 1; } - if (command == "SITTER") + else if (llList2String(parts, 2) == "F") { - reading_notecard_section = FALSE; - if (llList2String(parts, 2) == "M") + GENDERS += 0; + } + else + { + GENDERS += -1; + } + if ((integer)part0 == SCRIPT_CHANNEL) + { + reading_notecard_section = TRUE; + if (llGetListLength(parts) > 1) { - GENDERS += 1; + SITTER_INFO = llList2List(parts, 1, -1); } - else if (llList2String(parts, 2) == "F") + } + return; + } + if (command == "MTYPE") + { + MTYPE = (integer)part0; + llPassTouches(FALSE); + if (MTYPE > 2) + { + llPassTouches(TRUE); + } + return; + } + if (command == "ROLES") + { + RLVDesignations = (string)parts; + return; + } + if (command == "ETYPE") + { + ETYPE = (integer)part0; + return; + } + if (command == "SELECT") + { + SELECT = (integer)part0; + return; + } + if (command == "WARN") + { + WARN = (integer)part0; + return; + } + if (command == "TEXT") + { + CUSTOM_TEXT = llDumpList2String(llParseStringKeepNulls(part0, ["\\n"], []), "\n"); + return; + } + if (command == "SWAP") + { + SWAP = (integer)part0; + return; + } + if (command == "AMENU") + { + AMENU = (integer)part0; + return; + } + if (command == "HELPER") + { + OLD_HELPER_METHOD = (integer)part0; + return; + } + if (command == "SET") + { + SET = (integer)part0; + return; + } + if (command == "KFM") + { + HASKEYFRAME = (integer)part0; + return; + } + if (command == "LROT") + { + REFERENCE = (integer)part0; + return; + } + if (command == "BRAND") + { + BRAND = part0; + return; + } + if (command == "DFLT") + { + DFLT = (integer)part0; + return; + } + if (command == "ONSIT") + { + onSit = part0; + return; + } + if (command == "ADJUST") + { + ADJUST_MENU = parts; + return; + } + if (reading_notecard_section) + { + if (llGetSubString(data, 0, 0) == "{") + { + command = llStringTrim(llGetSubString(data, 1, llSubStringIndex(data, "}") - 1), STRING_TRIM); + parts = llParseStringKeepNulls(llDumpList2String(llParseString2List(llGetSubString(data, llSubStringIndex(data, "}") + 1, -1), [" "], [""]), ""), ["<"], []); + string pos = "<" + llList2String(parts, 1); + string rot = "<" + llList2String(parts, 2); + if (command == FIRST_POSENAME || "P:" + command == FIRST_POSENAME) { - GENDERS += 0; + FIRST_POSITION = DEFAULT_POSITION = CURRENT_POSITION = (vector)pos; + FIRST_ROTATION = DEFAULT_ROTATION = CURRENT_ROTATION = (vector)rot; } - else + llMessageLinked(LINK_THIS, 90301, (string)SCRIPT_CHANNEL, command + "|" + pos + "|" + rot); // 90301=send update to AVsitB + } + else + { + part0 = llGetSubString(part0, 0, 22); + if (command == "SEQUENCE") { - GENDERS += -1; + command = "BUTTON"; // Act as a button + part1 = "90210"; // Link code: Trigger sequence } - if ((integer)part0 == SCRIPT_CHANNEL) + if (command == "POSE" || command == "SYNC" || command == "MENU" || command == "TOMENU" || command == "BUTTON") { - reading_notecard_section = TRUE; - if (llGetListLength(parts) > 1) + if (command != "SYNC") { - SITTER_INFO = llList2List(parts, 1, -1); + part0 = llGetSubString(command, 0, 0) + ":" + part0; } - } - return; - } - if (command == "MTYPE") - { - MTYPE = (integer)part0; - llPassTouches(FALSE); - if (MTYPE > 2) - { - llPassTouches(TRUE); - } - return; - } - if (command == "ROLES") - { - RLVDesignations = (string)parts; - return; - } - if (command == "ETYPE") - { - ETYPE = (integer)part0; - return; - } - if (command == "SELECT") - { - SELECT = (integer)part0; - return; - } - if (command == "WARN") - { - WARN = (integer)part0; - return; - } - if (command == "TEXT") - { - CUSTOM_TEXT = llDumpList2String(llParseStringKeepNulls(part0, ["\\n"], []), "\n"); - return; - } - if (command == "SWAP") - { - SWAP = (integer)part0; - return; - } - if (command == "AMENU") - { - AMENU = (integer)part0; - return; - } - if (command == "HELPER") - { - OLD_HELPER_METHOD = (integer)part0; - return; - } - if (command == "SET") - { - SET = (integer)part0; - return; - } - if (command == "KFM") - { - HASKEYFRAME = (integer)part0; - return; - } - if (command == "LROT") - { - REFERENCE = (integer)part0; - return; - } - if (command == "BRAND") - { - BRAND = part0; - return; - } - if (command == "DFLT") - { - DFLT = (integer)part0; - return; - } - if (command == "ONSIT") - { - onSit = part0; - return; - } - if (command == "ADJUST") - { - ADJUST_MENU = parts; - return; - } - if (reading_notecard_section) - { - if (llGetSubString(data, 0, 0) == "{") - { - command = llStringTrim(llGetSubString(data, 1, llSubStringIndex(data, "}") - 1), STRING_TRIM); - parts = llParseStringKeepNulls(llDumpList2String(llParseString2List(llGetSubString(data, llSubStringIndex(data, "}") + 1, -1), [" "], [""]), ""), ["<"], []); - string pos = "<" + llList2String(parts, 1); - string rot = "<" + llList2String(parts, 2); - if (command == FIRST_POSENAME || "P:" + command == FIRST_POSENAME) + if (command == "MENU" || command == "TOMENU") { - FIRST_POSITION = DEFAULT_POSITION = CURRENT_POSITION = (vector)pos; - FIRST_ROTATION = DEFAULT_ROTATION = CURRENT_ROTATION = (vector)rot; + part0 += "*"; } - llMessageLinked(LINK_THIS, 90301, (string)SCRIPT_CHANNEL, command + "|" + pos + "|" + rot); // 90301=send update to AVsitB - } - else - { - part0 = llGetSubString(part0, 0, 22); - if (command == "SEQUENCE") + if (command == "POSE" || command == "SYNC") { - command = "BUTTON"; // Act as a button - part1 = "90210"; // Link code: Trigger sequence + if (FIRST_POSENAME == "") + { + FIRST_POSENAME = CURRENT_POSE_NAME = part0; + FIRST_ANIMATION_SEQUENCE = CURRENT_ANIMATION_SEQUENCE = part1; + } + if (llList2String(parts, -1) == "M") + { + MALE_POSENAME = part0; + FIRST_MALE_ANIMATION_SEQUENCE = part1; + } + else if (llList2String(parts, -1) == "F") + { + FEMALE_POSENAME = part0; + FIRST_FEMALE_ANIMATION_SEQUENCE = part1; + } } - if (command == "POSE" || command == "SYNC" || command == "MENU" || command == "TOMENU" || command == "BUTTON") + if (command == "BUTTON" && part1 == "") { - if (command != "SYNC") - { - part0 = llGetSubString(command, 0, 0) + ":" + part0; - } - if (command == "MENU" || command == "TOMENU") - { - part0 += "*"; - } - if (command == "POSE" || command == "SYNC") - { - if (FIRST_POSENAME == "") - { - FIRST_POSENAME = CURRENT_POSE_NAME = part0; - FIRST_ANIMATION_SEQUENCE = CURRENT_ANIMATION_SEQUENCE = part1; - } - if (llList2String(parts, -1) == "M") - { - MALE_POSENAME = part0; - FIRST_MALE_ANIMATION_SEQUENCE = part1; - } - else if (llList2String(parts, -1) == "F") - { - FEMALE_POSENAME = part0; - FIRST_FEMALE_ANIMATION_SEQUENCE = part1; - } - } - if (command == "BUTTON" && part1 == "") - { - part1 = "90200"; // default to rez prop - } - llMessageLinked(LINK_THIS, 90300, (string)SCRIPT_CHANNEL, part0 + "|" + part1); // 90300=update AVsitB + part1 = "90200"; // default to rez prop } + llMessageLinked(LINK_THIS, 90300, (string)SCRIPT_CHANNEL, part0 + "|" + part1); // 90300=update AVsitB } } + } } if (query_id == reused_key)