Postado Janeiro 8, 2015 10 anos ó que fique contando regressivamente: 60 minuto(s) / 59 minuto(s) / 58 minuto(s). Fiz uma função pra retornar o tempo do modo como você quer, porém não testei. Códigos do membro zipter98: function getGlobalExhaust(key) local t = getGlobalStorageValue(key) exhaust = math.floor((t - os.time()) / 60) > 0 and math.floor((t - os.time()) / 60) or 0 return exhaust end local gates = { {x = 470, y = 243, z = 7}, --Posições dos portões. {x = 471, y = 243, z = 7} } local etime = {5, 60} -- {tempo para fechar, tempo para usar} ~ em minutos local id = 9485 -- ID do portão. local gstor = 91801 -- global storage function onUse(cid, item, frompos, item2, topos) if getGlobalStorageValue(gstor) > os.time() then return doPlayerSendCancel(cid, "[Castle of Titans] Você deve aguardar "..getGlobalExhaust(gstor).." minuto(s) para usar a alavanca.") elseif getPlayerGuildId(cid) < 1 then return doPlayerSendCancel(cid, "You aren't member of any guild.") end for _, b in pairs(gates) do local gate = getTileItemById(b, id).uid if gate > 0 then doRemoveItem(gate, 1) doSendMagicEffect(b, 2) addEvent(function() doCreateItem(id, 1, b) end, 5 * 60 * 1000) else return doPlayerSendCancel(cid, "Someone already opened the gates.") end end broadcastMessage('Os Portões da ponte the Castle of Titans foram abertos, e se fecharão em 5 minutos', MESSAGE_EVENT_ADVANCE) addEvent(setGlobalStorageValue, etime[1] * 60000, gstor, os.time() + etime[2] * 60) return true end The corrupt fear us. The honest support us. The heroic join us.
Postado Janeiro 8, 2015 10 anos Autor não deu nenhum erro no distro, mas, bugou! Tipo: quando o player clica na alavanca, depois de 5min, quando os portões fecharem, o player consegue abrir denovo F3lip3
Postado Janeiro 8, 2015 10 anos Solução Hm, curioso. Tenta esse: ps: se não se importa, eu coloquei pra mostrar os segundos também (acho mais legal e.e). caso você não goste, só avisar que eu retiro. function convertTime(time) local minutes = math.floor(time/60) local seconds = time - (minutes * 60) return {minutes, seconds} end function onUse(cid, item, frompos, item2, topos) local msg = "[Castle of Titans] Você deve aguardar %d minuto%s e %d segundo%s para usar a alavanca." local gates = { {x = 470, y = 243, z = 7}, --Posições dos portões. {x = 471, y = 243, z = 7}, } local id = 9485 --ID do portão. if getGlobalStorageValue(91801) > os.time() then local t = convertTime(getGlobalStorageValue(91801) - os.time()) return doPlayerSendCancel(cid, msg:format(t[1], t[1] > 1 and "s" or "", t[2], t[2] > 1 and "s" or "")) elseif getPlayerGuildId(cid) < 1 then return doPlayerSendCancel(cid, "You aren't member of any guild.") end for _, b in pairs(gates) do local gate = getTileItemById(b, id).uid if gate > 0 then doRemoveItem(gate, 1) doSendMagicEffect(b, 2) addEvent(function() doCreateItem(id, 1, b) end, 5 * 60 * 1000) else return doPlayerSendCancel(cid, "Someone already opened the gates.") end end broadcastMessage('Os Portões da ponte the Castle of Titans foram abertos, e se fecharão em 5 minutos', MESSAGE_EVENT_ADVANCE) addEvent(function() setGlobalStorageValue(91801, os.time() + 3600) end, 5 * 60 * 1000) return true end Editado Janeiro 8, 2015 10 anos por zipter98 (veja o histórico de edições) não respondo pms solicitando suporte em programação/scripting
Postado Janeiro 8, 2015 10 anos Autor Você é o cara zipter98 Funfo direito agora, do jeito que eu queria! Obrigado! pela ajuda pessoal (zipter98 e ) Juro que não peço mais nada rsrs. Aqui um print Muito Obrigado! Editado Janeiro 8, 2015 10 anos por shadowfall (veja o histórico de edições) F3lip3
Postado Janeiro 8, 2015 10 anos Nada. c: não respondo pms solicitando suporte em programação/scripting
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.