simplified folder names for huffotronic updaters, and moved the IAR packs into a...
[feisty_meow.git] / huffware / huffotronic_tools_n_testers / hamster_sound_effects_v0.8.txt
diff --git a/huffware/huffotronic_tools_n_testers/hamster_sound_effects_v0.8.txt b/huffware/huffotronic_tools_n_testers/hamster_sound_effects_v0.8.txt
new file mode 100755 (executable)
index 0000000..163bc38
--- /dev/null
@@ -0,0 +1,38 @@
+
+// huffware script: hamster sound effects, by fred huffhines
+//
+// a randomizing sound player, originally used to replace a sound
+// playing script with bad perms in a freebie hamster.
+//
+//   this script is licensed by the GPL v3 which is documented at: http://www.gnu.org/licenses/gpl.html
+//   do not use it in objects without fully realizing you are implicitly accepting that license.
+//
+
+list all_sounds;
+
+default
+{
+    state_entry() { if (llSubStringIndex(llGetObjectName(),  "huffotronic") < 0) state real_default; }
+    on_rez(integer parm) { state rerun; }
+}
+state rerun { state_entry() { state default; } }
+
+state real_default {
+    state_entry() {
+        llStopSound();
+        integer indy;
+        for (indy = 0; indy < llGetInventoryNumber(INVENTORY_SOUND); indy++) {
+            all_sounds += [ llGetInventoryName(INVENTORY_SOUND, indy) ];
+        }
+    }
+
+    touch_start(integer cnt) {
+        all_sounds = llListRandomize(all_sounds, 1);
+        llTriggerSound(llList2String(all_sounds, 0), 1.0);
+    }
+    
+    changed(integer change) {
+        if (change & CHANGED_INVENTORY) llResetScript();  // reset when sounds might have changed.
+    }
+}
+