this is my original script that work for one item, (i'm not a good scripter ) ,but if i have 2 rezzed item ,the script still give me error
integer channel=-00001;
string Pass_Message = "533af431-4bac-803f-e9b2-95b0b3381da7";
delete_all_other_contents()
{
string thisScript = llGetScriptName();
string inventoryItemName;
integer index = llGetInventoryNumber(INVENTORY_ALL);
while (index)
{
--index; // (faster than index--;)
inventoryItemName = llGetInventoryName(INVENTORY_ALL, index);
if (inventoryItemName != thisScript)
llRemoveInventory(inventoryItemName);
}
}
default
{
on_rez(integer num){
llListen(channel,"",NULL_KEY,"");
}
listen(integer channel, string name, key id, string message)
{ llSetTimerEvent(0.0);
Pass_Message = message;
llSetTimerEvent(0.1);
}
state_entry()
{
llListen(channel,"",NULL_KEY,"");
llAllowInventoryDrop(TRUE);
}
touch_start(integer num_detected)
{
float j = (float)Pass_Message;
string thisScript = llGetScriptName();
list inventoryItems;
integer inventoryNumber = llGetInventoryNumber(INVENTORY_ALL);
integer index;
for ( ; index < inventoryNumber; ++index )
{
string itemName = llGetInventoryName(INVENTORY_ALL, index);
if (itemName != thisScript)
{
if (llGetInventoryPermMask(itemName, MASK_OWNER) & PERM_COPY)
{
inventoryItems += itemName;
}
else
{
llSay(0, "Unable to copy the item named '" + itemName + "'.");
}
}
}
if (inventoryItems == [] )
{
llSay(0, "No copiable items found, sorry.");
}
else
{
llGiveInventoryList(Pass_Message, llGetObjectName(), inventoryItems); // 3.0 seconds delay
delete_all_other_contents();
}
}
}