Yo, friendly peeps! I've been having trouble sorting out some code I wrote earlier today for a mod I've been working on. I've been using This tutorial as reference/help, and same goes with Robomat's astounding lockpicking mod (the way he made sounds in the world? Eek! ). Although... I haven't used that much (make that any) Lua in the past (used to C# ._.), and I'm sure I've made a mistake somewhere (the compiler agrees), but I haven't the slightest idea what I did wrong or how to fix it. If any of you amazing peeps would like to lend a hand, that would be great. SetNoisemaker = {};function SetNoisemaker.createMenu(_player, _context, _items) local player = getSpecificPlayer(_player); local clickedItems = _items; local item; local stack; local time; if #clickedItems > 1 then return; end item = entry; if item then _context:addOption("Set timer for 15 seconds", clickedItems, SetNoisemaker.setTimer(0.25 ,player, item)); _context:addOption("Set timer for 30 seconds", clickedItems, SetNoisemaker.setTimer(0.5 ,player, item)); _context:addOption("Set timer for 45 seconds", clickedItems, SetNoisemaker.setTimer(0.75 ,player, item)); _context:addOption("Set timer for 60 seconds", clickedItems, SetNoisemaker.setTimer(1 ,player, item)); endendfunction SetNoisemaker.setTimer(_time, _player, _item) time = _time; _item:getContainer():Remove(_item); _player:Say("This should do it. Better move!");endlocal noisemaker = self.object;local tile = noisemaker:getSquare();local startTime = GameTime:getInstance():GetMinutes();local refreshTimer = function() noisemaker = self.object; tile = noisemaker:getSquare(); local currentTime = GameTime:getInstance():GetMinutes(); if(currentTime == startTime + time) getSoundManager():PlayWorldSound("sledgehammer", false, tile, 0, 35, 30, true); addSound(door, tile:getX(), tile:getY(), tile:getZ(), 15, 30); end endEvents.OnTick.Add(refreshTimer);