this is what i have so far.
{
touch_start(integer num_detected)
{
key owner = llGetOwner();
if (llDetectedKey(0) != owner)
return;
list inventoryItems;
integer inventoryNumber = llGetInventoryNumber(INVENTORY_ALL);
integer index;
for ( ; index < inventoryNumber; ++index )
{
string itemName = llGetInventoryName(INVENTORY_ALL, index);
if (Comer/Eat [G&S] != llGetScriptName() )
{
if (llGetInventoryPermMask(itemName, MASK_OWNER) & PERM_COPY)
{
inventoryItems += Comer/Eat [G&S];
}
else
{
llGiveInventory(owner, Comer/Eat [G&S]); // 2.0 seconds delay
}
}
}
if (inventoryItems != [] )
llGiveInventoryList(owner, llGetObjectName(), inventoryItems); // 3.0 seconds delay
}
}