aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authoronefang2021-09-06 22:22:07 +1000
committeronefang2021-09-06 22:22:07 +1000
commitd979ead2e64476b72266d94bfd35c400e93f9e77 (patch)
treeff3b0496dc3cdf0b24ef62ab13ad7b85ba4b51ea
parent1AOor2.ADJUST_ALL (diff)
download1ring-d979ead2e64476b72266d94bfd35c400e93f9e77.zip
1ring-d979ead2e64476b72266d94bfd35c400e93f9e77.tar.gz
1ring-d979ead2e64476b72266d94bfd35c400e93f9e77.tar.bz2
1ring-d979ead2e64476b72266d94bfd35c400e93f9e77.tar.xz
Various bits and clean ups.
-rw-r--r--1AOor2.lsl48
-rw-r--r--1chatter.lsl10
-rw-r--r--1ring.lsl1
-rw-r--r--onefang's leash holder and 1ring support.lsl31
-rw-r--r--~1AOor2.setting.data.txt12
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;
11key ScriptKey; 11key ScriptKey;
12key LibraryKey; 12key LibraryKey;
13key Owner; 13key Owner;
14string URL; 14//string URL;
15 15
16// Settings. 16// Settings.
17list Aliases; 17list Aliases;
@@ -319,6 +319,7 @@ integer doThing(key id, string button, string fr, string cmd, string data, integ
319 { 319 {
320 set = listFindString(Settings, fr + cmd, sSTRIDE); 320 set = listFindString(Settings, fr + cmd, sSTRIDE);
321 if (-1 != set) setSetting(id, fr + cmd, data, fINT); else S("Unknown setting '" + cmd); 321 if (-1 != set) setSetting(id, fr + cmd, data, fINT); else S("Unknown setting '" + cmd);
322 source = fINT;
322 } 323 }
323 if ((fr != (ScriptName + ".") && ("*." != fr))) return TRUE; 324 if ((fr != (ScriptName + ".") && ("*." != fr))) return TRUE;
324 integer av = findAvatar(id); 325 integer av = findAvatar(id);
@@ -408,6 +409,7 @@ integer doThing(key id, string button, string fr, string cmd, string data, integ
408 --distance; 409 --distance;
409 if (0 > distance) distance = 0; 410 if (0 > distance) distance = 0;
410 Avs = llListReplaceList(Avs, [distance], av + aDIST, av + aDIST); 411 Avs = llListReplaceList(Avs, [distance], av + aDIST, av + aDIST);
412 // This is done so we can do a bit more than the usual menu showing stuff.
411 showMenu(id); 413 showMenu(id);
412 return FALSE; 414 return FALSE;
413 } 415 }
@@ -724,7 +726,7 @@ d("SIT_DONE for " + llKey2Name(data));
724 integer y = (integer)(cr.y / 256); 726 integer y = (integer)(cr.y / 256);
725 cr.x = cr.x % 256; 727 cr.x = cr.x % 256;
726 cr.y = cr.y % 256; 728 cr.y = cr.y % 256;
727 osTeleportAgent(Stalkee, x, y, cr, <1.0,1.0,1.0>); 729 osTeleportAgent(Stalkee, x, y, cr, ZERO_VECTOR);
728 } 730 }
729 } 731 }
730 else if ("RLV" == cmd) 732 else if ("RLV" == cmd)
@@ -735,7 +737,11 @@ d("RLV command requested " + llList2String(dt, 0));
735 if (2 < llGetListLength(dt)) 737 if (2 < llGetListLength(dt))
736 addEvent(llList2Float(dt, 1), "RLV " + llDumpList2String(llList2List(dt, 2, -1), "|")); 738 addEvent(llList2Float(dt, 1), "RLV " + llDumpList2String(llList2List(dt, 2, -1), "|"));
737 } 739 }
738 else if ("URL" == cmd) 740// else if ("URL" == cmd)
741// {
742// URL = data;
743//d("New URL " + URL);
744// }
739 else if ("BUILTINS" == cmd) 745 else if ("BUILTINS" == cmd)
740 { 746 {
741 integer l = llGetListLength(ANIMATIONS); 747 integer l = llGetListLength(ANIMATIONS);
@@ -876,7 +882,7 @@ integer psNAME = 0; // Name of pose.
876integer psANIM = 1; // | separated animations. 882integer psANIM = 1; // | separated animations.
877integer psEMOTE = 2; // | separated emotions and timers list. 883integer psEMOTE = 2; // | separated emotions and timers list.
878integer psPOSROT= 3; // | separated position and rotation pairs. 884integer psPOSROT= 3; // | separated position and rotation pairs.
879integer psSTRIDE= 4; 885integer psSTRIDE= 4;
880string Posed; // Single pose, overrides AO. 886string Posed; // Single pose, overrides AO.
881string Pose; // Couples pose name. 887string Pose; // Couples pose name.
882string State; // AO state name. 888string State; // AO state name.
@@ -1129,6 +1135,12 @@ savePose(string name, string anim, string exp, string posRot)
1129 exp = llList2String(Poses, f + psEMOTE); 1135 exp = llList2String(Poses, f + psEMOTE);
1130 } 1136 }
1131 else if ("" == posRot) posRot = llList2String(Poses, f + psPOSROT); 1137 else if ("" == posRot) posRot = llList2String(Poses, f + psPOSROT);
1138 }
1139 else
1140 {
1141 if ("" == posRot)
1142 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>";
1143 }
1132 if (NULL_KEY == exp) exp = ""; 1144 if (NULL_KEY == exp) exp = "";
1133 if (NULL_KEY == posRot) posRot = ""; 1145 if (NULL_KEY == posRot) posRot = "";
1134 if (-1 != f) 1146 if (-1 != f)
@@ -1150,9 +1162,13 @@ list reportPose()
1150 integer m = llGetListLength(prs); 1162 integer m = llGetListLength(prs);
1151 integer j; 1163 integer j;
1152 1164
1153 for (j = 0; j < m; j++) 1165 if (m)
1154 r += llList2String(prs, j); 1166 {
1155 result += [r]; 1167 for (j = 0; j < m; j++)
1168 r += llList2String(prs, j);
1169 result += [r];
1170 }
1171//s(r);
1156 } 1172 }
1157 return result; 1173 return result;
1158} 1174}
@@ -1164,7 +1180,12 @@ lookAtMe(key id)
1164 d("setting camera for " + llKey2Name(id)); 1180 d("setting camera for " + llKey2Name(id));
1165 llClearCameraParams(); 1181 llClearCameraParams();
1166 llSetCameraParams( 1182 llSetCameraParams(
1167 [ CAMERA_ACTIVE, 1, CAMERA_FOCUS_OFFSET, <0.0, 0.0, 1.0>, CAMERA_PITCH, 12.5, 1183// [ CAMERA_ACTIVE, TRUE, CAMERA_FOCUS_OFFSET, <0.0, 0.0, 0.0>, CAMERA_PITCH, 12.5,
1184// CAMERA_BEHINDNESS_ANGLE, 10.0, CAMERA_BEHINDNESS_LAG, 0.0, CAMERA_DISTANCE, 3.0,
1185// CAMERA_FOCUS_LAG, 0.1 , CAMERA_FOCUS_THRESHOLD, 1.0,
1186// CAMERA_POSITION_LAG, 0.1, CAMERA_POSITION_THRESHOLD, 1.0
1187// ]);
1188 [ CAMERA_ACTIVE, TRUE, CAMERA_FOCUS_OFFSET, <0.0, 0.0, 1.0>, CAMERA_PITCH, 12.5,
1168 CAMERA_BEHINDNESS_ANGLE, 0.1, CAMERA_BEHINDNESS_LAG, 0.0, CAMERA_DISTANCE, 2.75, 1189 CAMERA_BEHINDNESS_ANGLE, 0.1, CAMERA_BEHINDNESS_LAG, 0.0, CAMERA_DISTANCE, 2.75,
1169 CAMERA_FOCUS_LAG, 0.0 , CAMERA_FOCUS_THRESHOLD, 0.0, 1190 CAMERA_FOCUS_LAG, 0.0 , CAMERA_FOCUS_THRESHOLD, 0.0,
1170 CAMERA_POSITION_LAG, 0.0, CAMERA_POSITION_THRESHOLD, 0.0 1191 CAMERA_POSITION_LAG, 0.0, CAMERA_POSITION_THRESHOLD, 0.0
@@ -1194,6 +1215,7 @@ doControl(key id, integer level, integer edge)
1194 if (NULL_KEY != TheirKey) 1215 if (NULL_KEY != TheirKey)
1195 { 1216 {
1196 sendPrim(TheirKey, "CONTROLS", [id, level, edge]); 1217 sendPrim(TheirKey, "CONTROLS", [id, level, edge]);
1218// TODO - check this.
1197 if ("Sitting" != llGetAnimation(id)) 1219 if ("Sitting" != llGetAnimation(id))
1198 oldController(id); 1220 oldController(id);
1199 return; 1221 return;
@@ -1222,7 +1244,7 @@ doControl(key id, integer level, integer edge)
1222 s(id, "Switched out of adjusting mode."); 1244 s(id, "Switched out of adjusting mode.");
1223 addEvent(Tick * Smooth, "Keys"); 1245 addEvent(Tick * Smooth, "Keys");
1224 } 1246 }
1225 else 1247 else
1226 showMenu(id); 1248 showMenu(id);
1227 } 1249 }
1228 HeldKeys = held; 1250 HeldKeys = held;
@@ -1384,14 +1406,14 @@ updateAvatar(key id)
1384 localrot = llList2Rot(local, 1); 1406 localrot = llList2Rot(local, 1);
1385 } 1407 }
1386 pos += <0.0, 0.0, 0.2>; // Fudge it. Pffft 1408 pos += <0.0, 0.0, 0.2>; // Fudge it. Pffft
1387 // <0.008906, -0.049831, 0.088967> are the coefficients for a parabolic curve that 1409 // <0.008906, -0.049831, 0.088967> are the coefficients for a parabolic curve that
1388 // best fits real avatars. It is not a perfect fit. 1410 // best fits real avatars. It is not a perfect fit.
1389 float fAdjust = ((((0.008906 * size.z) + -0.049831) * size.z) + 0.088967) * size.z; 1411 float fAdjust = ((((0.008906 * size.z) + -0.049831) * size.z) + 0.088967) * size.z;
1390 vector fa = llRot2Up(rot) * fAdjust; 1412 vector fa = llRot2Up(rot) * fAdjust;
1391 llSetLinkPrimitiveParamsFast(lnk, 1413 llSetLinkPrimitiveParamsFast(lnk,
1392 [ 1414 [
1393 PRIM_POS_LOCAL, ((pos - fa) * localrot) + localpos, 1415 PRIM_POS_LOCAL, ((pos - fa) * localrot) + localpos,
1394 PRIM_ROT_LOCAL, rot * localrot // This does rotate around the avatar's centre, not the prims centre. 1416 PRIM_ROT_LOCAL, rot * localrot // This rotates around the avatar's centre, not the prims centre.
1395 ]); 1417 ]);
1396 } 1418 }
1397} 1419}
@@ -1638,7 +1660,7 @@ updateVehicle(integer keys, integer mode, float move, float rotate)
1638 if (!f & PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS) d("No group create objects."); 1660 if (!f & PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS) d("No group create objects.");
1639 if (!f & PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY) d("No group object entry."); 1661 if (!f & PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY) d("No group object entry.");
1640 if ((f & PARCEL_FLAG_ALLOW_SCRIPTS) && (f & PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY)) 1662 if ((f & PARCEL_FLAG_ALLOW_SCRIPTS) && (f & PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY))
1641 llSetLinkPrimitiveParamsFast(LINK_THIS, [PRIM_POSITION, pos, PRIM_ROTATION, 1663 llSetLinkPrimitiveParamsFast(LINK_THIS, [PRIM_POSITION, pos, PRIM_ROTATION,
1642 llEuler2Rot(<0.0, 0.0, rotate>) * llGetRot()]); 1664 llEuler2Rot(<0.0, 0.0, rotate>) * llGetRot()]);
1643 } 1665 }
1644 } 1666 }
@@ -1927,8 +1949,6 @@ checkAO()
1927 integer fast = 0; integer i; integer f; float dpth; 1949 integer fast = 0; integer i; integer f; float dpth;
1928 if (NULL_KEY != TheirKey) return; 1950 if (NULL_KEY != TheirKey) return;
1929 1951
1930// doAnim = (integer) getSetting("osAnim");
1931// doSpeed = (integer) getSetting("osSpeed");
1932 if (Attached) 1952 if (Attached)
1933 { 1953 {
1934// if (llGetAgentInfo(Owner) & AGENT_ALWAYS_RUN) fast = 1; else fast = 0; 1954// 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";
1402 Menus = wipe(Menus, fr, mSTRIDE); 1402 Menus = wipe(Menus, fr, mSTRIDE);
1403 Musers = wipe(Musers, fr, uSTRIDE, uSTACK); 1403 Musers = wipe(Musers, fr, uSTRIDE, uSTACK);
1404 Settings = wipe(Settings, fr, sSTRIDE); 1404 Settings = wipe(Settings, fr, sSTRIDE);
1405 readTheme(fr);
1406 Settings = saveThing(Settings, sSTRIDE, ["PREFIX", "S", fr, aALL], 4, fr + "."); 1405 Settings = saveThing(Settings, sSTRIDE, ["PREFIX", "S", fr, aALL], 4, fr + ".");
1407 Settings = saveThing(Settings, sSTRIDE, ["SCRIPTKEY", "K", them, aALL], 4, fr + "."); 1406 Settings = saveThing(Settings, sSTRIDE, ["SCRIPTKEY", "K", them, aALL], 4, fr + ".");
1408 Settings = saveThing(Settings, sSTRIDE, ["VERSION", "S", "", aALL], 4, fr + "."); 1407 Settings = saveThing(Settings, sSTRIDE, ["VERSION", "S", "", aALL], 4, fr + ".");
1408 readTheme(fr);
1409 sendScript(them, lALIAS_DONE, Aliases); 1409 sendScript(them, lALIAS_DONE, Aliases);
1410 sendScript(them, lRESET_DONE, Settings); 1410 sendScript(them, lRESET_DONE, Settings);
1411 sendScript(them, lCMD, "*.", [fHTTP, ScriptKey, URL_REQUEST_GRANTED, "URL", URL]); 1411 sendScript(them, lCMD, "*.", [fHTTP, ScriptKey, URL_REQUEST_GRANTED, "URL", URL]);
@@ -1650,8 +1650,12 @@ d("listen 1ring.CHANNEL " + message + " -> " + button + " " + cmd + " " + data);
1650 list dt = llParseString2List(llList2String(t, 1), [" "], []); 1650 list dt = llParseString2List(llList2String(t, 1), [" "], []);
1651 string cmd = llList2String(dt, 0); 1651 string cmd = llList2String(dt, 0);
1652 dt = llListReplaceList(dt, [], 0, 0); 1652 dt = llListReplaceList(dt, [], 0, 0);
1653//d("timer " + script + "->" + fr + " ... " + cmd + "=" + llDumpList2String(dt, " ")); 1653d("timer " + script + "->" + fr + " ... " + cmd + "=" + llDumpList2String(dt, " ") + " " + them);
1654 sendScript(them, lCMD, fr + ".", [fINT, them, "TimerEvent", cmd, llDumpList2String(dt, " ")]); 1654 if (them == ScriptKey)
1655//integer doThing(key id, string command, string fr, string cmd, string data, integer source)
1656 doThing(them, cmd, "*.", cmd, "", fINT);
1657 else
1658 sendScript(them, lCMD, fr + ".", [fINT, them, "TimerEvent", cmd, llDumpList2String(dt, " ")]);
1655 } 1659 }
1656 } 1660 }
1657 llSetTimerEvent(NextEvent - now); 1661 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
429 { 429 {
430 set = listFindString(Settings, fr + cmd, sSTRIDE); 430 set = listFindString(Settings, fr + cmd, sSTRIDE);
431 if (-1 != set) setSetting(id, fr + cmd, data, fINT); else S("Unknown setting '" + cmd); 431 if (-1 != set) setSetting(id, fr + cmd, data, fINT); else S("Unknown setting '" + cmd);
432 source = fINT;
432 } 433 }
433 if ((fr != (ScriptName + ".") && ("*." != fr))) return TRUE; 434 if ((fr != (ScriptName + ".") && ("*." != fr))) return TRUE;
434 435
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
43 list input = llParseStringKeepNulls(data, ["|"], []); 43 list input = llParseStringKeepNulls(data, ["|"], []);
44 string domain = llList2String(input, 0); 44 string domain = llList2String(input, 0);
45 if ("URL" == domain) 45 if ("URL" == domain)
46 {
47 list l = llGetObjectDetails(id, [OBJECT_OWNER]);
46 URL = llList2String(input, 1); 48 URL = llList2String(input, 1);
49llOwnerSay(llKey2Name(id) + ", owned by " + llKey2Name(llList2Key(l, 0)) + ", tells me their new URL is " + URL);
50 }
47 } 51 }
48 52
49 http_response(key id, integer status, list metaData, string body) 53 http_response(key id, integer status, list metaData, string body)
@@ -72,22 +76,27 @@ default
72 { 76 {
73 if ("" != URL) 77 if ("" != URL)
74 { 78 {
75 if (change & CHANGED_REGION) 79 string message = llGetRegionName() + "|" + (string) llGetPos();
80
81// llSleep(1.0);
82 if (NULL_KEY != them)
76 { 83 {
77 RequestID = llHTTPRequest(URL, 84 if (change & CHANGED_REGION)
85 {
86 RequestID = llHTTPRequest(URL,
78 [HTTP_METHOD, "POST", HTTP_VERBOSE_THROTTLE, FALSE, HTTP_BODY_MAXLENGTH, 16384], 87 [HTTP_METHOD, "POST", HTTP_VERBOSE_THROTTLE, FALSE, HTTP_BODY_MAXLENGTH, 16384],
79 llEscapeURL("REGION|" + llGetRegionName() + "|" + (string)llGetPos())); 88 llEscapeURL("REGION|" + message));
80 llOwnerSay("Changed region to " + llGetRegionName() + " - " + (string)llGetPos() 89 llOwnerSay("Changed region to " + llGetRegionName() + " - " + (string)llGetPos()
81 + "\n Requesting that " + osKey2Name(them) + " join me."); 90 + "\n Requesting that " + osKey2Name(them) + " join me.");
82 } 91 }
83 else if (change & CHANGED_TELEPORT) 92 else if (change & CHANGED_TELEPORT)
84 { 93 {
85 llSleep(1.0); 94 RequestID = llHTTPRequest(URL,
86 RequestID = llHTTPRequest(URL,
87 [HTTP_METHOD, "POST", HTTP_VERBOSE_THROTTLE, FALSE, HTTP_BODY_MAXLENGTH, 16384], 95 [HTTP_METHOD, "POST", HTTP_VERBOSE_THROTTLE, FALSE, HTTP_BODY_MAXLENGTH, 16384],
88 llEscapeURL("TELEPORT|" + llGetRegionName() + "|" + (string)llGetPos())); 96 llEscapeURL("TELEPORT|" + message));
89 llOwnerSay("Teleported to " + llGetRegionName() + " - " + (string)llGetPos() 97 llOwnerSay("Teleported to " + llGetRegionName() + " - " + (string)llGetPos()
90 + "\n Requesting that " + osKey2Name(them) + " join me."); 98 + "\n Requesting that " + osKey2Name(them) + " join me.");
99 }
91 } 100 }
92 } 101 }
93 } 102 }
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 @@
11AOor2.SUPER
2Y
30
49
11AOor2.SPEED 51AOor2.SPEED
2S 6S
31.0 71.0
49 89
91AOor2.ADJUSTBY
10S
11<0.0,0.0,0.0>
129
51AOor2.RANDOM 131AOor2.RANDOM
6Y 14Y
71 151
@@ -25,8 +33,4 @@ Y
251AOor2.OSSIT 331AOor2.OSSIT
26Y 34Y
271 351
289
291AOor2.SUPER
30Y
310
329 \ No newline at end of file 369 \ No newline at end of file