Ir para conteúdo

Featured Replies

Postado

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 por Mythusz (veja o histórico de edições)

#Clique na imagem#

 

iodxo.jpg

Resolvido por Vodkart

Ir para solução
  • Respostas 6
  • Visualizações 629
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • 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

  • 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

Postado
  • 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 por Vodkart (veja o histórico de edições)

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Postado
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 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

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

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo