+++ /dev/null
-
-// testing of an opensim bug, where there was a new requirement that
-// the object have a sit target before any changed events will be fired.
-//
-// 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.
-//
-
-integer link_changes = 0;
-
-
-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()
- {
- llSitTarget(<0, 0, 0.1>, ZERO_ROTATION);
-//above line makes things work. comment it out, and put in new object, and
-// the object will not get changed events.
- llSay(0, "sit to run the test...");
- }
-
- on_rez(integer count) { llResetScript(); }
-
- changed(integer chang) {
- llSay(0, "got into changed event...");
- if (! (chang & CHANGED_LINK) ) {
- llSay(0, "change was not a link, leaving.");
- return; // not for us.
- }
- llSay(0, "into changed event, CHANGED_LINK...");
- link_changes++;
- key av_sitting = llAvatarOnSitTarget();
- if (av_sitting == NULL_KEY) {
- llSay(0, "avatar stood up since key is null");
- } else {
- llSay(0, "avatar sat down: " + llDetectedName(0));
- }
- }
-
- touch_start(integer count) {
- llSay(0, "there have been " + (string)link_changes
- + " 'changed' events for links since the last reset.");
- }
-}
\ No newline at end of file