aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authoronefang2021-09-06 20:30:26 +1000
committeronefang2021-09-06 20:30:26 +1000
commit59821c36ea13232eecf2a2b7a1b9620c2c9e06ac (patch)
treeeac963725d3ba901249a8db1920d008f4070cc24
parentUpdate the list of viewers built in animations. (diff)
download1ring-59821c36ea13232eecf2a2b7a1b9620c2c9e06ac.zip
1ring-59821c36ea13232eecf2a2b7a1b9620c2c9e06ac.tar.gz
1ring-59821c36ea13232eecf2a2b7a1b9620c2c9e06ac.tar.bz2
1ring-59821c36ea13232eecf2a2b7a1b9620c2c9e06ac.tar.xz
Leash texture, size, and length adjustments.
-rw-r--r--.1ring.settings.txt3
-rw-r--r--.1ring.theme.txt12
-rw-r--r--1ring.lsl86
-rw-r--r--~1ring.command.data.txt15
-rw-r--r--~1ring.setting.data.txt10
5 files changed, 122 insertions, 4 deletions
diff --git a/.1ring.settings.txt b/.1ring.settings.txt
index 4b7cc73..57df3e4 100644
--- a/.1ring.settings.txt
+++ b/.1ring.settings.txt
@@ -1 +1,4 @@
1HIDE=0 1HIDE=0
2LEASH=leash_chain
3LEASH_SIZE=<0.100000, 0.100000, 0.100000>
4LEASH_RANGE=4.000000
diff --git a/.1ring.theme.txt b/.1ring.theme.txt
index 834a32d..c7ef112 100644
--- a/.1ring.theme.txt
+++ b/.1ring.theme.txt
@@ -42,8 +42,16 @@ TOMENU Leash | CHOOSE_ALL
42BUTTON Unleash | RELEASE 42BUTTON Unleash | RELEASE
43TOGGLE Locate 43TOGGLE Locate
44BUTTON Yank 44BUTTON Yank
45TOMENU Length 45TOMENU length
46TOMENU Texture 46TOMENU size
47TOMENU texture | CHOOSE_ALL texture
48MENU size | leash size menu: | PRIV
49BUTTON △ bigger | LEASH_BIGGER
50BUTTON ▽ smaller | LEASH_SMALLER
51
52MENU length | leash length menu: | PRIV
53BUTTON △ longer | LEASH_LONGER
54BUTTON ▽ shorter | LEASH_SHORTER
47 55
48MENU other | other things that don't fit anywhere else: | PRIV 56MENU other | other things that don't fit anywhere else: | PRIV
49TOMENU channel 57TOMENU channel
diff --git a/1ring.lsl b/1ring.lsl
index db0706e..59db460 100644
--- a/1ring.lsl
+++ b/1ring.lsl
@@ -470,6 +470,31 @@ llShout(0, "AAAHHHHH!");
470 s = [ACTIVE | AGENT | PASSIVE, "Select something or someone to leash to", "LEASH"]; 470 s = [ACTIVE | AGENT | PASSIVE, "Select something or someone to leash to", "LEASH"];
471 else if ("Sit…" == button) // This will only be for objects, can't sit on an avatar. 471 else if ("Sit…" == button) // This will only be for objects, can't sit on an avatar.
472 s = [ACTIVE | PASSIVE, "Select something to sit on", "SIT"]; 472 s = [ACTIVE | PASSIVE, "Select something to sit on", "SIT"];
473 else if ("texture" == data)
474 {
475 integer i = llGetInventoryNumber(INVENTORY_TEXTURE);
476 integer j = 0;
477 string opts = "";
478 string cmds = "";
479 while (i-- > 0)
480 {
481 string t = llGetInventoryName(INVENTORY_TEXTURE, i);
482 if ("leash_" == llGetSubString(t, 0, 5))
483 {
484 string n = llGetSubString(t, 6, -1);
485 opts += n + "|";
486 cmds += "LEASH_TEXTURE " + t + "|";
487 j++;
488 }
489 }
490 if (j)
491 {
492 dynamicMenu(id, "", "", "Choose a leash texture: ",
493 llGetSubString(opts, 0, -2), llGetSubString(cmds, 0, -2), 2);
494 return FALSE;
495 }
496 return (source == fMENU);
497 }
473 else 498 else
474 { 499 {
475 D("Unknown CHOOSE_ALL option - " + button); 500 D("Unknown CHOOSE_ALL option - " + button);
@@ -520,6 +545,64 @@ s("YAY! Freeeeeee at last!!!!!");
520 leashTo(Stalkee); 545 leashTo(Stalkee);
521 } 546 }
522 } 547 }
548 else if ("LEASH_BIGGER" == cmd)
549 {
550 vector sz = (vector) getSetting("leash_size");
551
552 sz.x += 0.1;
553 sz.y += 0.1;
554 setSetting(id, "leash_size", (string) sz, source);
555 if (MODE_LEASH == mode)
556 {
557 unleash();
558 leashTo(Stalkee);
559 }
560 }
561 else if ("LEASH_SMALLER" == cmd)
562 {
563 vector sz = (vector) getSetting("leash_size");
564
565 if (0.1 < sz.x) sz.x -= 0.1;
566 if (0.1 < sz.y) sz.y -= 0.1;
567 setSetting(id, "leash_size", (string) sz, source);
568 if (MODE_LEASH == mode)
569 {
570 unleash();
571 leashTo(Stalkee);
572 }
573 }
574 else if ("LEASH_LONGER" == cmd)
575 {
576 RANGE += 2.0;
577 setSetting(id, "leash_range", (string) RANGE, source);
578 if (MODE_LEASH == mode)
579 {
580 unleash();
581 leashTo(Stalkee);
582 }
583 s("The leash range is now " + (string) RANGE + " meters.");
584 }
585 else if ("LEASH_SHORTER" == cmd)
586 {
587 if (2.0 < RANGE)
588 RANGE -= 2.0;
589 setSetting(id, "leash_range", (string) RANGE, source);
590 if (MODE_LEASH == mode)
591 {
592 unleash();
593 leashTo(Stalkee);
594 }
595 s("The leash range is now " + (string) RANGE + " meters.");
596 }
597 else if ("LEASH_TEXTURE" == cmd)
598 {
599 setSetting(id, "leash", data, source);
600 if (MODE_LEASH == mode)
601 {
602 unleash();
603 leashTo(Stalkee);
604 }
605 }
523 else if ("RELEASE" == cmd) 606 else if ("RELEASE" == cmd)
524 { 607 {
525 someBoss = id; 608 someBoss = id;
@@ -717,7 +800,7 @@ leashTo(key id)
717 [ 800 [
718 PSYS_PART_FLAGS, PSYS_PART_FOLLOW_VELOCITY_MASK | PSYS_PART_TARGET_POS_MASK | PSYS_PART_EMISSIVE_MASK | PSYS_PART_FOLLOW_SRC_MASK, 801 PSYS_PART_FLAGS, PSYS_PART_FOLLOW_VELOCITY_MASK | PSYS_PART_TARGET_POS_MASK | PSYS_PART_EMISSIVE_MASK | PSYS_PART_FOLLOW_SRC_MASK,
719 PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_DROP, 802 PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_DROP,
720 PSYS_PART_START_SCALE, <0.3, 0.3, 0.1>, 803 PSYS_PART_START_SCALE, (vector) getSetting("leash_size"),
721 PSYS_SRC_ACCEL, <0,0,-0.4>, 804 PSYS_SRC_ACCEL, <0,0,-0.4>,
722 PSYS_PART_MAX_AGE, age, 805 PSYS_PART_MAX_AGE, age,
723 PSYS_SRC_BURST_RADIUS, 0.1, 806 PSYS_SRC_BURST_RADIUS, 0.1,
@@ -817,6 +900,7 @@ goto(key this)
817 if (NULL_KEY == this) 900 if (NULL_KEY == this)
818 return; 901 return;
819 902
903 RANGE = (float) getSetting("leash_range");
820 float dist = 0.0; 904 float dist = 0.0;
821 vector pos = getRange(this); 905 vector pos = getRange(this);
822 906
diff --git a/~1ring.command.data.txt b/~1ring.command.data.txt
index 9a84f73..ffd190e 100644
--- a/~1ring.command.data.txt
+++ b/~1ring.command.data.txt
@@ -34,6 +34,21 @@ ho
341ring.GRAB 341ring.GRAB
35 35
369 369
371ring.LEASH_BIGGER
38
399
401ring.LEASH_SMALLER
41
429
431ring.LEASH_LONGER
44
459
461ring.LEASH_SHORTER
47
489
491ring.LEASH_TEXTURE
50
519
371ring.LEASH 521ring.LEASH
38ho 53ho
399 549
diff --git a/~1ring.setting.data.txt b/~1ring.setting.data.txt
index db010f4..38e4252 100644
--- a/~1ring.setting.data.txt
+++ b/~1ring.setting.data.txt
@@ -16,7 +16,7 @@ I
169 169
171ring.PREFIX 171ring.PREFIX
18S 18S
191r 19
209 209
211ring.GROUP 211ring.GROUP
22Y 22Y
@@ -30,6 +30,14 @@ Y
30S 30S
31leash_chain 31leash_chain
329 329
331ring.LEASH_SIZE
34S
35<0.1, 0.1, 0.1>
369
371ring.LEASH_RANGE
38I
394
409
331ring.HIDE 411ring.HIDE
34Y 42Y
350 430