10.08.2010, 06:44
Moin zusammen
Ich habe hier noch ein ganz einfaches Skript, dass es möglich macht, eine Notecard zu hinterlassen. Dem Besitzer wird per Hovertext angezeigt, ob und wie viele Nachrichten im Kasten sind, durch touch auf selbigen "nimmt" man die NC heraus ...
Funktioniert einwandfrei, hab's grad noch mal probiert ... Viel Spaà damit
Ich habe hier noch ein ganz einfaches Skript, dass es möglich macht, eine Notecard zu hinterlassen. Dem Besitzer wird per Hovertext angezeigt, ob und wie viele Nachrichten im Kasten sind, durch touch auf selbigen "nimmt" man die NC heraus ...
Code:
string owner;
key g_quary_owner;
integer count = 0;
default
{
state_entry()
{
g_quary_owner = llRequestAgentData( llGetOwner(), DATA_NAME);
}
changed(integer mask)
{
if(mask & (CHANGED_ALLOWED_DROP | CHANGED_INVENTORY))
{
count = llGetInventoryNumber(INVENTORY_ALL) - 1;
llSetText(owner +"'s Postbox \n " + count + " messages \n \n Drop Inventory with message in here" ,<1,1,1>,1.0);
}
}
touch_start(integer egal)
{
if (llDetectedKey(0) == llGetOwner())
{
integer number = llGetInventoryNumber(INVENTORY_ALL);
integer x;
for (x = 0; x < number; x++)
{
string name = llGetInventoryName(INVENTORY_ALL,x);
if (name != llGetScriptName())
{
llGiveInventory(llGetOwner(),name);
}
}
llSleep(2.5);
number = llGetInventoryNumber(INVENTORY_ALL);
for (x = 1; x < (number+1); x++)
{
string name = llGetInventoryName(INVENTORY_ALL,number-x);
if (name != llGetScriptName())
{
llRemoveInventory(name);
}
}
llResetScript();
}
}
dataserver(key queryid, string data)
{
if(queryid == g_quary_owner)
{
owner = data;
count = llGetInventoryNumber(INVENTORY_ALL) - 1;
llSetText(owner +"'s Postbox \n " + count + " messages \n \n Drop Inventory with message in here" ,<1,1,1>,1.0);
llAllowInventoryDrop(TRUE); // erlaubt das Hineinlegen ins Prim
}
}
}
Funktioniert einwandfrei, hab's grad noch mal probiert ... Viel Spaà damit