From d979ead2e64476b72266d94bfd35c400e93f9e77 Mon Sep 17 00:00:00 2001 From: onefang Date: Mon, 6 Sep 2021 22:22:07 +1000 Subject: Various bits and clean ups. --- 1AOor2.lsl | 48 ++++++++++++++++++++-------- 1chatter.lsl | 10 ++++-- 1ring.lsl | 1 + onefang's leash holder and 1ring support.lsl | 31 +++++++++++------- ~1AOor2.setting.data.txt | 12 ++++--- 5 files changed, 70 insertions(+), 32 deletions(-) diff --git a/1AOor2.lsl b/1AOor2.lsl index 1196a8d..f4bdb87 100644 --- a/1AOor2.lsl +++ b/1AOor2.lsl @@ -11,7 +11,7 @@ string ScriptName; key ScriptKey; key LibraryKey; key Owner; -string URL; +//string URL; // Settings. list Aliases; @@ -319,6 +319,7 @@ integer doThing(key id, string button, string fr, string cmd, string data, integ { set = listFindString(Settings, fr + cmd, sSTRIDE); if (-1 != set) setSetting(id, fr + cmd, data, fINT); else S("Unknown setting '" + cmd); + source = fINT; } if ((fr != (ScriptName + ".") && ("*." != fr))) return TRUE; integer av = findAvatar(id); @@ -408,6 +409,7 @@ integer doThing(key id, string button, string fr, string cmd, string data, integ --distance; if (0 > distance) distance = 0; Avs = llListReplaceList(Avs, [distance], av + aDIST, av + aDIST); + // This is done so we can do a bit more than the usual menu showing stuff. showMenu(id); return FALSE; } @@ -724,7 +726,7 @@ d("SIT_DONE for " + llKey2Name(data)); integer y = (integer)(cr.y / 256); cr.x = cr.x % 256; cr.y = cr.y % 256; - osTeleportAgent(Stalkee, x, y, cr, <1.0,1.0,1.0>); + osTeleportAgent(Stalkee, x, y, cr, ZERO_VECTOR); } } else if ("RLV" == cmd) @@ -735,7 +737,11 @@ d("RLV command requested " + llList2String(dt, 0)); if (2 < llGetListLength(dt)) addEvent(llList2Float(dt, 1), "RLV " + llDumpList2String(llList2List(dt, 2, -1), "|")); } - else if ("URL" == cmd) +// else if ("URL" == cmd) +// { +// URL = data; +//d("New URL " + URL); +// } else if ("BUILTINS" == cmd) { integer l = llGetListLength(ANIMATIONS); @@ -876,7 +882,7 @@ integer psNAME = 0; // Name of pose. integer psANIM = 1; // | separated animations. integer psEMOTE = 2; // | separated emotions and timers list. integer psPOSROT= 3; // | separated position and rotation pairs. -integer psSTRIDE= 4; +integer psSTRIDE= 4; string Posed; // Single pose, overrides AO. string Pose; // Couples pose name. string State; // AO state name. @@ -1129,6 +1135,12 @@ savePose(string name, string anim, string exp, string posRot) exp = llList2String(Poses, f + psEMOTE); } else if ("" == posRot) posRot = llList2String(Poses, f + psPOSROT); + } + else + { + if ("" == posRot) + posRot = "<0.0,0.0,0.0><0.0,0.0,0.0><0.3,0.0,0.0><0.0,0.0,0.0>"; + } if (NULL_KEY == exp) exp = ""; if (NULL_KEY == posRot) posRot = ""; if (-1 != f) @@ -1150,9 +1162,13 @@ list reportPose() integer m = llGetListLength(prs); integer j; - for (j = 0; j < m; j++) - r += llList2String(prs, j); - result += [r]; + if (m) + { + for (j = 0; j < m; j++) + r += llList2String(prs, j); + result += [r]; + } +//s(r); } return result; } @@ -1164,7 +1180,12 @@ lookAtMe(key id) d("setting camera for " + llKey2Name(id)); llClearCameraParams(); llSetCameraParams( - [ CAMERA_ACTIVE, 1, CAMERA_FOCUS_OFFSET, <0.0, 0.0, 1.0>, CAMERA_PITCH, 12.5, +// [ CAMERA_ACTIVE, TRUE, CAMERA_FOCUS_OFFSET, <0.0, 0.0, 0.0>, CAMERA_PITCH, 12.5, +// CAMERA_BEHINDNESS_ANGLE, 10.0, CAMERA_BEHINDNESS_LAG, 0.0, CAMERA_DISTANCE, 3.0, +// CAMERA_FOCUS_LAG, 0.1 , CAMERA_FOCUS_THRESHOLD, 1.0, +// CAMERA_POSITION_LAG, 0.1, CAMERA_POSITION_THRESHOLD, 1.0 +// ]); + [ CAMERA_ACTIVE, TRUE, CAMERA_FOCUS_OFFSET, <0.0, 0.0, 1.0>, CAMERA_PITCH, 12.5, CAMERA_BEHINDNESS_ANGLE, 0.1, CAMERA_BEHINDNESS_LAG, 0.0, CAMERA_DISTANCE, 2.75, CAMERA_FOCUS_LAG, 0.0 , CAMERA_FOCUS_THRESHOLD, 0.0, CAMERA_POSITION_LAG, 0.0, CAMERA_POSITION_THRESHOLD, 0.0 @@ -1194,6 +1215,7 @@ doControl(key id, integer level, integer edge) if (NULL_KEY != TheirKey) { sendPrim(TheirKey, "CONTROLS", [id, level, edge]); +// TODO - check this. if ("Sitting" != llGetAnimation(id)) oldController(id); return; @@ -1222,7 +1244,7 @@ doControl(key id, integer level, integer edge) s(id, "Switched out of adjusting mode."); addEvent(Tick * Smooth, "Keys"); } - else + else showMenu(id); } HeldKeys = held; @@ -1384,14 +1406,14 @@ updateAvatar(key id) localrot = llList2Rot(local, 1); } pos += <0.0, 0.0, 0.2>; // Fudge it. Pffft - // <0.008906, -0.049831, 0.088967> are the coefficients for a parabolic curve that + // <0.008906, -0.049831, 0.088967> are the coefficients for a parabolic curve that // best fits real avatars. It is not a perfect fit. float fAdjust = ((((0.008906 * size.z) + -0.049831) * size.z) + 0.088967) * size.z; vector fa = llRot2Up(rot) * fAdjust; llSetLinkPrimitiveParamsFast(lnk, [ PRIM_POS_LOCAL, ((pos - fa) * localrot) + localpos, - PRIM_ROT_LOCAL, rot * localrot // This does rotate around the avatar's centre, not the prims centre. + PRIM_ROT_LOCAL, rot * localrot // This rotates around the avatar's centre, not the prims centre. ]); } } @@ -1638,7 +1660,7 @@ updateVehicle(integer keys, integer mode, float move, float rotate) if (!f & PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS) d("No group create objects."); if (!f & PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY) d("No group object entry."); if ((f & PARCEL_FLAG_ALLOW_SCRIPTS) && (f & PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY)) - llSetLinkPrimitiveParamsFast(LINK_THIS, [PRIM_POSITION, pos, PRIM_ROTATION, + llSetLinkPrimitiveParamsFast(LINK_THIS, [PRIM_POSITION, pos, PRIM_ROTATION, llEuler2Rot(<0.0, 0.0, rotate>) * llGetRot()]); } } @@ -1927,8 +1949,6 @@ checkAO() integer fast = 0; integer i; integer f; float dpth; if (NULL_KEY != TheirKey) return; -// doAnim = (integer) getSetting("osAnim"); -// doSpeed = (integer) getSetting("osSpeed"); if (Attached) { // if (llGetAgentInfo(Owner) & AGENT_ALWAYS_RUN) fast = 1; else fast = 0; diff --git a/1chatter.lsl b/1chatter.lsl index 8ce9237..5a7652d 100644 --- a/1chatter.lsl +++ b/1chatter.lsl @@ -1402,10 +1402,10 @@ fr="1AOor2"; Menus = wipe(Menus, fr, mSTRIDE); Musers = wipe(Musers, fr, uSTRIDE, uSTACK); Settings = wipe(Settings, fr, sSTRIDE); - readTheme(fr); Settings = saveThing(Settings, sSTRIDE, ["PREFIX", "S", fr, aALL], 4, fr + "."); Settings = saveThing(Settings, sSTRIDE, ["SCRIPTKEY", "K", them, aALL], 4, fr + "."); Settings = saveThing(Settings, sSTRIDE, ["VERSION", "S", "", aALL], 4, fr + "."); + readTheme(fr); sendScript(them, lALIAS_DONE, Aliases); sendScript(them, lRESET_DONE, Settings); sendScript(them, lCMD, "*.", [fHTTP, ScriptKey, URL_REQUEST_GRANTED, "URL", URL]); @@ -1650,8 +1650,12 @@ d("listen 1ring.CHANNEL " + message + " -> " + button + " " + cmd + " " + data); list dt = llParseString2List(llList2String(t, 1), [" "], []); string cmd = llList2String(dt, 0); dt = llListReplaceList(dt, [], 0, 0); -//d("timer " + script + "->" + fr + " ... " + cmd + "=" + llDumpList2String(dt, " ")); - sendScript(them, lCMD, fr + ".", [fINT, them, "TimerEvent", cmd, llDumpList2String(dt, " ")]); +d("timer " + script + "->" + fr + " ... " + cmd + "=" + llDumpList2String(dt, " ") + " " + them); + if (them == ScriptKey) +//integer doThing(key id, string command, string fr, string cmd, string data, integer source) + doThing(them, cmd, "*.", cmd, "", fINT); + else + sendScript(them, lCMD, fr + ".", [fINT, them, "TimerEvent", cmd, llDumpList2String(dt, " ")]); } } llSetTimerEvent(NextEvent - now); diff --git a/1ring.lsl b/1ring.lsl index 39e9504..b343a89 100644 --- a/1ring.lsl +++ b/1ring.lsl @@ -429,6 +429,7 @@ integer doThing(key id, string button, string fr, string cmd, string data, integ { set = listFindString(Settings, fr + cmd, sSTRIDE); if (-1 != set) setSetting(id, fr + cmd, data, fINT); else S("Unknown setting '" + cmd); + source = fINT; } if ((fr != (ScriptName + ".") && ("*." != fr))) return TRUE; diff --git a/onefang's leash holder and 1ring support.lsl b/onefang's leash holder and 1ring support.lsl index e9a11e0..b7b34ee 100644 --- a/onefang's leash holder and 1ring support.lsl +++ b/onefang's leash holder and 1ring support.lsl @@ -43,7 +43,11 @@ default list input = llParseStringKeepNulls(data, ["|"], []); string domain = llList2String(input, 0); if ("URL" == domain) + { + list l = llGetObjectDetails(id, [OBJECT_OWNER]); URL = llList2String(input, 1); +llOwnerSay(llKey2Name(id) + ", owned by " + llKey2Name(llList2Key(l, 0)) + ", tells me their new URL is " + URL); + } } http_response(key id, integer status, list metaData, string body) @@ -72,22 +76,27 @@ default { if ("" != URL) { - if (change & CHANGED_REGION) + string message = llGetRegionName() + "|" + (string) llGetPos(); + +// llSleep(1.0); + if (NULL_KEY != them) { - RequestID = llHTTPRequest(URL, + if (change & CHANGED_REGION) + { + RequestID = llHTTPRequest(URL, [HTTP_METHOD, "POST", HTTP_VERBOSE_THROTTLE, FALSE, HTTP_BODY_MAXLENGTH, 16384], - llEscapeURL("REGION|" + llGetRegionName() + "|" + (string)llGetPos())); - llOwnerSay("Changed region to " + llGetRegionName() + " - " + (string)llGetPos() + llEscapeURL("REGION|" + message)); + llOwnerSay("Changed region to " + llGetRegionName() + " - " + (string)llGetPos() + "\n Requesting that " + osKey2Name(them) + " join me."); - } - else if (change & CHANGED_TELEPORT) - { - llSleep(1.0); - RequestID = llHTTPRequest(URL, + } + else if (change & CHANGED_TELEPORT) + { + RequestID = llHTTPRequest(URL, [HTTP_METHOD, "POST", HTTP_VERBOSE_THROTTLE, FALSE, HTTP_BODY_MAXLENGTH, 16384], - llEscapeURL("TELEPORT|" + llGetRegionName() + "|" + (string)llGetPos())); - llOwnerSay("Teleported to " + llGetRegionName() + " - " + (string)llGetPos() + llEscapeURL("TELEPORT|" + message)); + llOwnerSay("Teleported to " + llGetRegionName() + " - " + (string)llGetPos() + "\n Requesting that " + osKey2Name(them) + " join me."); + } } } } diff --git a/~1AOor2.setting.data.txt b/~1AOor2.setting.data.txt index 5a3e6f8..63e7184 100644 --- a/~1AOor2.setting.data.txt +++ b/~1AOor2.setting.data.txt @@ -1,7 +1,15 @@ +1AOor2.SUPER +Y +0 +9 1AOor2.SPEED S 1.0 9 +1AOor2.ADJUSTBY +S +<0.0,0.0,0.0> +9 1AOor2.RANDOM Y 1 @@ -25,8 +33,4 @@ Y 1AOor2.OSSIT Y 1 -9 -1AOor2.SUPER -Y -0 9 \ No newline at end of file -- cgit v1.1