// V1 // key owner; string me; integer open = FALSE; list folder_contents; string folder_name; // The folder name will establish from the description of the object this script is in. // CHANGE ONLY THE SETTINGS BELOW // integer give_this_script = TRUE; // Give this FREE script away with the other contents? Think about it.... integer allow_only_owner = FALSE; // Owner only or open to all? integer self_delete = FALSE; // Self delete? integer timed_deletion = FALSE; // Delete immediately after giving contents or hang around a bit? float deletion_delay = 10.0; // Length of time to hang around in seconds (if timed_deletion is set TRUE) string display_rez_text = ""; // Floating text on rez? string localchat_rez_text = ""; // Chatted message on rez? string ownerchat_rez_text = ""; // Chatted message only to owner on rez? string display_deletion_text = ""; // Floating text before deletion? string localchat_deletion_text = ""; // Chatted message before deletion? string ownerchat_deletion_text = ""; // Chatted message only to owner before deletion? vector rez_text_color = <1.0,1.0,1.0>; // Color of floating text if set to show on rez. vector deletion_text_color = <1.0,1.0,1.0>; // Color of floating text if set to show before deletion. float rez_text_alpha = 1.0; // Transparency of floating text if set to show on rez. float deletion_text_alpha = 1.0; // Transparency of floating text if set to show before deletion. // CHANGE ONLY THE SETTINGS ABOVE // OnRezTextOptionsFunctionThingy(integer o) { if(display_rez_text != "") llSetText(display_rez_text, rez_text_color, rez_text_alpha); if(localchat_rez_text != "") llSay(0, localchat_rez_text); if(ownerchat_rez_text != "") llOwnerSay(ownerchat_rez_text); if(!o) { integer count = 0; integer NOI = llGetInventoryNumber(INVENTORY_ALL); if(NOI) { folder_contents = []; do { string name = llGetInventoryName(INVENTORY_ALL, count); if(name == me) { if(give_this_script) folder_contents += [name]; } else folder_contents += [name]; } while((++count) < NOI); } folder_name = llGetObjectDesc(); } } default { on_rez(integer param) { owner = llGetOwner(); me = llGetScriptName(); OnRezTextOptionsFunctionThingy(FALSE); } touch_start(integer nd) { if(!open) { integer give = FALSE; key toucher = llDetectedKey(0); if(allow_only_owner) { if(toucher == owner) give = TRUE; } else { give = TRUE; } if(give) { open = TRUE; llGiveInventoryList(toucher, folder_name, folder_contents); } if(open) { if(display_deletion_text != "") llSetText(display_deletion_text, deletion_text_color, deletion_text_alpha); if(localchat_deletion_text != "") llSay(0, localchat_deletion_text); if(ownerchat_deletion_text != "") llOwnerSay(ownerchat_deletion_text); if(self_delete) { if(timed_deletion) llSetTimerEvent(deletion_delay); else llDie(); } else { open = FALSE; OnRezTextOptionsFunctionThingy(TRUE); } } } } timer() { llDie(); } }