diff options
Diffstat (limited to '')
-rw-r--r-- | 1AOor2.lsl | 33 |
1 files changed, 33 insertions, 0 deletions
@@ -269,6 +269,26 @@ integer doThing(key id, string button, string fr, string cmd, string data, integ | |||
269 | Smile = llList2String(Smiles, (integer) llFrand(2.5)); | 269 | Smile = llList2String(Smiles, (integer) llFrand(2.5)); |
270 | addEvent(3.0 + llFrand(5.0), cmd); | 270 | addEvent(3.0 + llFrand(5.0), cmd); |
271 | animBegin(llGetOwner(), Smile); | 271 | animBegin(llGetOwner(), Smile); |
272 | else if ("SLOWER_-" == cmd) | ||
273 | { | ||
274 | integer sp = llListFindList(AOspeeds, [getSetting("SPEED")]); | ||
275 | if (sp > 0) sp--; else sp = 0; | ||
276 | setSetting(id, "SPEED", llList2String(AOspeeds, sp), fMENU); | ||
277 | s("Now moving at " + llList2String(AOspeedNames, sp) + " speed."); | ||
278 | } | ||
279 | else if ("NORMAL_SPEED" == cmd) | ||
280 | { | ||
281 | setSetting(id, "SPEED", "1.0", fMENU); | ||
282 | s("Now moving at normal speed."); | ||
283 | } | ||
284 | else if ("FASTER_+" == cmd) | ||
285 | { | ||
286 | integer sp = llListFindList(AOspeeds, [getSetting("SPEED")]); | ||
287 | integer l = llGetListLength(AOspeeds) - 1; | ||
288 | if (sp < l) sp++; else sp = l; | ||
289 | setSetting(id, "SPEED", llList2String(AOspeeds, sp), fMENU); | ||
290 | s("Now moving at " + llList2String(AOspeedNames, sp) + " speed."); | ||
291 | } | ||
272 | } | 292 | } |
273 | else if ("LESS_-" == cmd) | 293 | else if ("LESS_-" == cmd) |
274 | { | 294 | { |
@@ -651,6 +671,18 @@ integer Swimming; | |||
651 | integer Bobbing; | 671 | integer Bobbing; |
652 | float Tick = 0.2; | 672 | float Tick = 0.2; |
653 | float AOspeed = 1.0; | 673 | float AOspeed = 1.0; |
674 | list AOspeeds = ["0.1", "0.5", "1.0", "2.0", "5.0", "10.0", "20.0", "50.0"]; // Strings coz LSL can't find floats. | ||
675 | list AOspeedNames = | ||
676 | [ | ||
677 | "snail", | ||
678 | "slow", | ||
679 | "normal", | ||
680 | "fast", | ||
681 | "light", | ||
682 | "ridiculous", | ||
683 | "ludicrous", | ||
684 | "plaid" | ||
685 | ]; | ||
654 | list flyStates; | 686 | list flyStates; |
655 | list initialStates; // "Taking Off", "hover_up", | 687 | list initialStates; // "Taking Off", "hover_up", |
656 | list ANIMATIONS; | 688 | list ANIMATIONS; |
@@ -1631,6 +1663,7 @@ checkAO() | |||
1631 | else AOspeed = 4.0; | 1663 | else AOspeed = 4.0; |
1632 | } | 1664 | } |
1633 | else AOspeed = 1.0; | 1665 | else AOspeed = 1.0; |
1666 | AOspeed = AOspeed * (float) getSetting("speed"); | ||
1634 | if (0.0 < AOspeed) speed(Owner, AOspeed + ((AOspeed / 2) * (fast + (2 * (integer) getSetting("super"))))); | 1667 | if (0.0 < AOspeed) speed(Owner, AOspeed + ((AOspeed / 2) * (fast + (2 * (integer) getSetting("super"))))); |
1635 | else AOspeed = 1.0; | 1668 | else AOspeed = 1.0; |
1636 | for (f = 0; f < l; f += pSTRIDE) | 1669 | for (f = 0; f < l; f += pSTRIDE) |