+++ /dev/null
-
-// huffware script: button pusher, by fred huffhines
-//
-// a simple API for reporting when buttons are pushed.
-//
-// 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.
-//
-
-// this is a kludgy thing, but this must be hard-coded to have the right button
-// name for what the rest of the device is expecting. it should vary depending on
-// the actual button prim that this script is placed in.
-string BUTTON_NAME = "next";
-
-// the button pushing API.
-//////////////
-integer BUTTON_PUSHER_HUFFWARE_ID = 10035;
- // a unique ID within the huffware system for this script.
-string HUFFWARE_PARM_SEPARATOR = "{~~~}";
- // this pattern is an uncommon thing to see in text, so we use it to separate
- // our commands in link messages.
-string HUFFWARE_ITEM_SEPARATOR = "{|||}";
- // used to separate lists of items from each other when stored inside a parameter.
- // this allows lists to be passed as single string parameters if needed.
-integer REPLY_DISTANCE = 100008; // offset added to service's huffware id in reply IDs.
-//////////////
-string BUTTON_PUSHED_ALERT = "#btnp";
- // this event is generated when the button is pushed. the number parameter will be
- // the huffware id plus the reply distance. the id parameter in the link message will
- // contain the name of the button that was pushed.
-//////////////
-
-// generates our button pressed alert, when the user has finished clicking on the button.
-send_button_event()
-{
-//llOwnerSay("user clicked on button " + BUTTON_NAME);
- llMessageLinked(LINK_SET, BUTTON_PUSHER_HUFFWARE_ID + REPLY_DISTANCE,
- BUTTON_PUSHED_ALERT, BUTTON_NAME);
-}
-
-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()
- {
- }
-
- touch_end(integer count) {
- if (llDetectedLinkNumber(0) == llGetLinkNumber())
- send_button_event();
- }
-}