Postado Novembro 18, 2014 10 anos Bom, tenho este script abaixo ele tinha que remover uma wall em uma coordenada mas não está funcionando, na hora de retirar a wall ele não retira e não faz nada. Script: function onThink(interval, lastExecution) local wallpos = {x=296, y=451, z=7, stackpos=1} local wall = getThingfromPos(wallpos) if os.date("%A") == "Monday" then if (os.date("%X") == "19:00:00") or (os.date("%X") == "19:00:05") then if wall.itemid == 1515 then broadcastMessage(" Gran Castle ABERTO! ", MESSAGE_EVENT_ADVANCE) doRemoveItem(wall.uid,1) end elseif (os.date("%X") == "20:00:00") or (os.date("%X") == "20:00:05") then broadcastMessage(" Gran Castle FECHADO! ", MESSAGE_EVENT_ADVANCE) if wall.itemid ~= 1515 then doCreateItem(1515,wallpos) end end end return TRUE end XML: <globalevent name="castle" interval="5" script="castle.lua"/> OBS: Não acontece nada de errado na TFS, nenhum erro. Editado Novembro 18, 2014 10 anos por Mythusz (veja o histórico de edições) #Clique na imagem#
Postado Novembro 18, 2014 10 anos Solução intervalo a cada 5 segundos?? acho melhor colocar a cada 1 segundo mesmo. tem que ver se o seu servidor não é em milissegundos... tenta assim function onThink(interval, lastExecution) local wallpos, wallID = {x=296, y=451, z=7, stackpos=1}, 1515 function OpenAndCloseWall() if getTileItemById(wallpos, wallID).uid == 0 then doCreateItem(wallID, 1, wallpos) else doRemoveItem(getThingfromPos(wallpos).uid,1) doSendMagicEffect(wallpos, CONST_ME_POFF) end broadcastMessage(" Gran Castle ".. getTileItemById(wallpos, wallID).uid == 0 and "ABERTO" or "FECHADO" .."!", MESSAGE_EVENT_ADVANCE) return true end if os.date("%A") == "Monday" then if (os.date("%X") == "19:00:00") or (os.date("%X") == "19:00:05") then OpenAndCloseWall() elseif (os.date("%X") == "20:00:00") or (os.date("%X") == "20:00:05") then OpenAndCloseWall() end end return TRUE end Editado Novembro 18, 2014 10 anos por Vodkart (veja o histórico de edições) [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Novembro 18, 2014 10 anos Autor Funcionou, valeu cara <3 Só uma dúvida, se eu quiser por exemplo adicionar mais dias da semana, como faço? Editado Novembro 18, 2014 10 anos por Mythusz (veja o histórico de edições) #Clique na imagem#
Postado Novembro 19, 2014 10 anos function onThink(interval, lastExecution) local wallpos, wallID = {x=296, y=451, z=7, stackpos=1}, 1515 function OpenAndCloseWall() if getTileItemById(wallpos, wallID).uid == 0 then doCreateItem(wallID, 1, wallpos) else doRemoveItem(getThingfromPos(wallpos).uid,1) doSendMagicEffect(wallpos, CONST_ME_POFF) end broadcastMessage(" Gran Castle ".. getTileItemById(wallpos, wallID).uid == 0 and "ABERTO" or "FECHADO" .."!", MESSAGE_EVENT_ADVANCE) return true end if os.date("%A") == "Monday" then if (os.date("%X") == "19:00:00") or (os.date("%X") == "19:00:05") then OpenAndCloseWall() elseif (os.date("%X") == "20:00:00") or (os.date("%X") == "20:00:05") then OpenAndCloseWall() end end return TRUE end Em if os.date("%A") == "Monday" then você adiciona depois do "Mondey": or "Tuesday" ficando if os.date("%A") == "Monday" or os.date("%A") =="Friday" then Editado Novembro 21, 2014 10 anos por mateusak (veja o histórico de edições) Não se esqueça de dar REP+ para quem te ajudou e caso seja a solução marcar como melhor resposta! NÃO CLIQUE AQUI! NEM AQUI! ________________________________________________________________________________________________________________________________________________________________________________________________________________________ “A imaginação é mais importante que o conhecimento.” Albert Einstein
Postado Novembro 19, 2014 10 anos usa isInArray, mais fácil. troca essa linha: if os.date("%A") == "Monday" then por local days = {"Monday", "Tuesday", "Wednesday"} -- coloque os dias if isInArray(days, os.date("%A")) then [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
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.