// This script transform a prim to a Mail Box. // Folks can drop notecard to the box. // Read/unread information is displayed as hovering text. // You can copy/modify this script, it's totally free. // --------------------------------------// // Modified by dakar Muliaina, converted to The king's English // and a few other enhancements. //-------------------------------------------// list lMail = []; // column 1 = notecard name, column 2 = read by user integer MAIL_UNREADED = 0; integer MAIL_READED = 1; integer DIALOG_CHANNEL = 49383; list DIALOG_CHOICE = ["Unread", "Read", "Delete"]; integer nLastCardCount = 0; integer nLastItemCount = 0; TxtRefresh() { // show the unreadable notecard integer nTotalCard = 0; integer nNotReaded = 0; integer nCount = 0; for (nCount = 0; nCount1) cPost += "s"; cPost += " posted"; // unreaded string string cUnreaded = (string)nNotReaded + " unread"; llSetText("\n" + cPost + "\n" + cUnreaded, <1 .95, .75, 0>, 1); } default { state_entry() { // Allowing dropping of object llAllowInventoryDrop(TRUE); llListen(DIALOG_CHANNEL, "", NULL_KEY, ""); nLastCardCount = llGetInventoryNumber(INVENTORY_ALL); nLastItemCount = llGetInventoryNumber(INVENTORY_NOTECARD); // Auto complete list integer nCardCount = llGetInventoryNumber(INVENTORY_NOTECARD); integer n_CurObj = 0; string c_Name = "NotEmpty"; while (c_Name != "") { c_Name = llGetInventoryName(INVENTORY_NOTECARD, n_CurObj); n_CurObj += 1; if (c_Name != "") { lMail += [c_Name]; lMail += MAIL_UNREADED; } } TxtRefresh(); } touch_start(integer total_number) { //---- Change MY OWNER above to suit your likes and needs. // // if owner key id = llDetectedKey(0); if (id == llGetOwner()) { // Show a dialog llDialog(id, "What do you want to do ?", DIALOG_CHOICE, DIALOG_CHANNEL); } } listen(integer channel, string name, key id, string message) { if (llGetOwner() == id && llListFindList(DIALOG_CHOICE, [message]) != -1) { integer i; string cName; list lRemove; integer nStatus; for (i = 0; i 0) { integer k; for (k = 0; k >
Suggestion Box
Expired