Ive want to have an object rezz and you touch it and choose an item and after a timed waited period you get the object. I have the dialog menu script that works just like I want and I THOUGHT i added a timer, it compiles but when the obect is touched you get the object right away heres my very bad script. please help! integer intChannel = -38654; integer intListen; list objects; default { state_entry() { integer num_drinks = llGetInventoryNumber(INVENTORY_OBJECT); integer i; for (i = 0; i < num_drinks; i++) { objects += [llGetInventoryName(INVENTORY_OBJECT, i)]; } } touch_start(integer num) { intListen = llListen(intChannel, "", llDetectedKey(0), ""); llSetTimerEvent(30); llDialog(llDetectedKey(0), "Pick Object:", objects, intChannel); } listen(integer channel, string name, key id, string message) { llSetTimerEvent(0); llGiveInventory(id, message); llInstantMessage(id, "here is your object"); llListenRemove(intListen); } }