// 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; nCount 1) 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