Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- string header = "chu";
- integer cch = 248;
- integer onGlobal = 0;
- ////////////////////
- // Command system //
- ////////////////////
- key mSender;
- ProcessCommandQueue(list cmds) {
- integer i = 0; integer ii = llGetListLength(cmds);
- for (i = i; i < ii; i++) { // 1 to skip the command header
- ProcessCommand(llParseString2List(llList2String(cmds, i), ["|"], []));
- }
- //
- }
- ProcessCommand(list par) {
- string cmd = llList2String(par, 0);
- if /**/ (onGlobal) {}
- else if (cmd=="apply") llMessageLinked(LINK_SET, 5730, "apply|AIOv1|" + llList2String(par, 1), NULL_KEY);
- else if (cmd=="install") {
- llSetRemoteScriptAccessPin((integer)llList2String(par,1));
- llRegionSayTo(mSender, -5730, "install.confirm");
- }
- }
- ////////////
- // States //
- ////////////
- default
- {
- state_entry()
- {
- llListen(282827, "", llGetOwner(), "");
- llListen(-282827, "", NULL_KEY, "");
- llListen(cch, "", llGetOwner(), "");
- llListen(-cch, "", NULL_KEY, "");
- }
- listen(integer channel, string name, key id, string msg)
- {
- if (llGetOwnerKey(id) != llGetOwner()) return;
- string kt = "avatar"; onGlobal = 1;
- if (llAbs(channel) != 282827) { kt = header; onGlobal = 0; }
- list cmds = llParseString2List(llStringTrim(msg, STRING_TRIM), ["||"], []);
- { // encapsulate for scope; only need these variables for a short time, let GC toss them after
- list hs = llParseString2List(llList2String(cmds, 0), ["|"], []);
- if (llList2String(hs, 0) != kt) return;
- }
- mSender = id;
- ProcessCommandQueue(cmds);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement