X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=huffware%2Fhuffotronic_jaunter_updater_v5.1%2Fjaunter_button_pusher_v0.8.txt;fp=huffware%2Fhuffotronic_jaunter_updater_v5.1%2Fjaunter_button_pusher_v0.8.txt;h=0000000000000000000000000000000000000000;hb=f2be7577716da4384c07946069b3b353ca15403a;hp=9b5e315f3ca88814dcf6e5f56b605f2f59f7654d;hpb=620a99face4f2cefadeed9ce69b4fd4f8d6e2b56;p=feisty_meow.git diff --git a/huffware/huffotronic_jaunter_updater_v5.1/jaunter_button_pusher_v0.8.txt b/huffware/huffotronic_jaunter_updater_v5.1/jaunter_button_pusher_v0.8.txt deleted file mode 100755 index 9b5e315f..00000000 --- a/huffware/huffotronic_jaunter_updater_v5.1/jaunter_button_pusher_v0.8.txt +++ /dev/null @@ -1,123 +0,0 @@ - -// huffware script: jaunter button pusher, by fred huffhines -// -// the button pusher script warped into service for jaunters. -// -// 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. -// - -string JAUNT_NEXT_BUTTON_NAME = "next"; -string JAUNT_MENU_BUTTON_NAME = "menu"; - -// the button pushing API. -////////////// -integer BUTTON_PUSHER_HUFFWARE_ID = 10029; - // 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. -////////////// - -float MENU_TIMER_FOR_TOUCH = 0.8; // click hold delay before we decide they want the menu. - -key last_toucher; // the last person who touched the jaunter. - -integer sent_menu_event = FALSE; // true when we just sent out a menu event. - -////////////// - -handle_timer() -{ - if (last_toucher != NULL_KEY) { -//log_it("decided to send menu event!"); - // this is a timer elapsing for a touch-hold menu event. - send_menu_button_event(); - last_toucher = NULL_KEY; - llSetTimerEvent(0.0); - sent_menu_event = TRUE; - return; - } -} - -// generates our next button alert, once the user has finished clicking on the button. -send_next_button_event() -{ - llMessageLinked(LINK_SET, BUTTON_PUSHER_HUFFWARE_ID + REPLY_DISTANCE, - BUTTON_PUSHED_ALERT, JAUNT_NEXT_BUTTON_NAME); -} - -// tells the jaunter to show the menu of places. -send_menu_button_event() -{ - llMessageLinked(LINK_SET, BUTTON_PUSHER_HUFFWARE_ID + REPLY_DISTANCE, - BUTTON_PUSHED_ALERT, wrap_parameters([JAUNT_MENU_BUTTON_NAME, last_toucher])); -} - - -////////////// -// from hufflets... - -integer debug_num = 0; - -// a debugging output method. can be disabled entirely in one place. -log_it(string to_say) -{ - debug_num++; - // tell this to the owner. - llOwnerSay(llGetScriptName() + "[" + (string)debug_num + "] " + to_say); - // say this on open chat, but use an unusual channel. -// llSay(108, (string)debug_num + "- " + to_say); -} - -string wrap_parameters(list to_flatten) -{ return llDumpList2String(to_flatten, HUFFWARE_PARM_SEPARATOR); } - -/////////////// - -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_start(integer total_number) { - if (llDetectedLinkNumber(0) != llGetLinkNumber()) return; -//log_it("touch start"); - llSetTimerEvent(MENU_TIMER_FOR_TOUCH); - // how long before "hold touch" kicks in and we show the destination menu. - last_toucher = llDetectedKey(0); - } - - timer() { handle_timer(); } - - touch_end(integer total_number) - { - if (llDetectedLinkNumber(0) != llGetLinkNumber()) return; -//log_it("touch end"); - if (sent_menu_event) { - // don't send a click event if we popped the menu. - sent_menu_event = FALSE; - return; - } - // clear timer since we got to here. - llSetTimerEvent(0.0); - last_toucher = NULL_KEY; - send_next_button_event(); - } -}