Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
archiv:opensim:downloads:scripts:give_item [2024/01/24 16:39] – Externe Bearbeitung 127.0.0.1 | archiv:opensim:downloads:scripts:give_item [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== Give Item ===== | ||
+ | |||
+ | < | ||
+ | // Idea and written by Criz Collins | ||
+ | // Don't sell this FREE script!!! | ||
+ | |||
+ | string | ||
+ | float | ||
+ | |||
+ | ///////////////////////////////////////////// | ||
+ | |||
+ | list visitors; | ||
+ | list lastsent; | ||
+ | integer n; | ||
+ | |||
+ | default | ||
+ | { | ||
+ | on_rez( integer param ) | ||
+ | { | ||
+ | llResetScript(); | ||
+ | } | ||
+ | |||
+ | changed(integer change) | ||
+ | { | ||
+ | if (change & CHANGED_INVENTORY) | ||
+ | { | ||
+ | llResetScript(); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | touch_start(integer total_number) | ||
+ | { | ||
+ | for (n=0; n< | ||
+ | { | ||
+ | integer giveallowed = 0; | ||
+ | integer index = llListFindList( visitors, [ llDetectedKey(n) ] ); | ||
+ | if (index == -1) | ||
+ | { | ||
+ | visitors = visitors + [ llDetectedKey(n) ]; | ||
+ | lastsent = lastsent + [(integer)llGetUnixTime()]; | ||
+ | giveallowed = 1; | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | if (llList2Integer(lastsent, | ||
+ | { | ||
+ | list replacer = [(integer)llGetUnixTime()]; | ||
+ | list newlastsent = llListReplaceList(lastsent, | ||
+ | lastsent = []; | ||
+ | lastsent = newlastsent; | ||
+ | giveallowed = 1; | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | giveallowed = 0; | ||
+ | } | ||
+ | } | ||
+ | if (giveallowed == 1) | ||
+ | { | ||
+ | llGiveInventory(llDetectedKey(n), | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||