X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=huffware%2Fhuffotronic_tools_n_testers%2Freport_to_merchants_v1.6.txt;fp=huffware%2Fhuffotronic_tools_n_testers%2Freport_to_merchants_v1.6.txt;h=cddc59f000ef446f352bcb1e50ed7248b74cf49f;hb=0d8edb6dc63fa915c775b005830084935f75174c;hp=0000000000000000000000000000000000000000;hpb=29190d88923f6281801872a80811faf6c2d7943e;p=feisty_meow.git diff --git a/huffware/huffotronic_tools_n_testers/report_to_merchants_v1.6.txt b/huffware/huffotronic_tools_n_testers/report_to_merchants_v1.6.txt new file mode 100755 index 00000000..cddc59f0 --- /dev/null +++ b/huffware/huffotronic_tools_n_testers/report_to_merchants_v1.6.txt @@ -0,0 +1,85 @@ + +// huffware script: report to merchants, by fred huffhines. +// +// this script lets merchants know that one of their items has been rezzed or attached. +// it only reports this the first time it happens. + +// global constants... + +integer SCRIPT_ZAPS_SELF_AFTER_REPORT = FALSE; + // if this is true, the script will destroy itself once it reports the object rez or attach. + +// the list of UUIDs for reporting the customer event. +list IDS_TO_ALERT = [ +// "addfa58f-e42e-4dde-9eb0-755bbf4e23ec", // damara's alt. + "71649242-6abe-4288-b45b-a057621d35ea" // SL fred. + "1e7f0c5e-9d15-428b-8873-846d87a9c064" // hal fred. +]; + +// the list of emails that should be alerted. +list EMAILS_TO_ALERT = [ +// "damradbruch@hotmail.com", // damara's alt email. + "fred@gruntose.com" // fred. +]; + +// global variables... + +integer REPORTED_ABOUT_REZ = FALSE; // did we tell the merchants yet? + +key CURRENT_OWNER = NULL_KEY; // the guy who owns the hud right now. + +// helper functions... + +// let the merchants who sold this product know that it was either rezzed or attached. +// either event should cause a nice report to them. +alert_the_merchants(string word) +{ + integer i; + if (CURRENT_OWNER != llGetOwner()) { + // if the owner has changed, then we always believe that we need to report. + REPORTED_ABOUT_REZ = FALSE; + CURRENT_OWNER = llGetOwner(); + } + if (!REPORTED_ABOUT_REZ) { + // we have not reported before (for this owner), so we can tell the merchants now. + REPORTED_ABOUT_REZ = TRUE; + string message_for_merchants = "Your product '" + llGetObjectName() + "' was " + + word + " by " + llKey2Name(llGetOwner()) + + " in " + llGetRegionName() + + " at " + llGetTimestamp(); + // send instant messages about this event. + for (i = 0; i < llGetListLength(IDS_TO_ALERT); i++) { + key id = (key)llList2String(IDS_TO_ALERT, i); + llInstantMessage(id, message_for_merchants); + } + // send emails about it too. + for (i = 0; i < llGetListLength(EMAILS_TO_ALERT); i++) { + string addr = llList2String(EMAILS_TO_ALERT, i); + llEmail(addr, "customer event for " + llKey2Name(llGetOwner()) + + " regarding " + llGetObjectName(), + message_for_merchants); + } + // see if the script should go away now. + if (SCRIPT_ZAPS_SELF_AFTER_REPORT) { + llRemoveInventory(llGetScriptName()); + } + } +} + +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() { CURRENT_OWNER = llGetOwner(); } + + attach(key id) { + if (id != NULL_KEY) { alert_the_merchants("attached"); } + } + + on_rez(integer start_parm) { alert_the_merchants("rezzed"); } +} +