Ir para conteúdo
  • 0

Teleport automático


Leoxtibia

Pergunta

Aí, estou com esse script que seria para abrir um teleport automaticamente em certo local, horário e dia. Mas não aparece nenhum erro no distro e também o script não funciona, alguém saberia qual o erro? Rep +

 

local hora = "20:00"
local quedia = {
dias = {"Sunday", "Saturday"}
}
function onThink(interval, lastExecution)
local pos = {x = 155, y = 50, z = 7} --posição que surge o tp
local topos = {x=794, y=228, z=7} -- o player é teletransportado pra essa posição
local timer = 7 -- tempo em minutos pro tp sumir
if isInArray(quedia.dias, os.date("%A")) and isInArray(hora, os.date("%X")) then
pid = doCreateTeleport(1387, topos, pos)
addEvent(deleteTp, timer*60*1000, pid)
broadcastMessage("Evento Aberto",22)
return true
end
return true
end
function deleteTp(pos)
local pos = {x = 155, y = 50, z = 7, stackpos = 1}
doRemoveItem(getThingfromPos(pos).uid,1)
broadcastMessage("Evento Closed",22)
end

 

O script é do caotic.

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

você está usando Array na hora, sendo que ali só tem um horário e nem usou chaves '-'

tira ele, sem falar que os.date %X está sendo usado de forma errônea.

 

Vou refazer, me diz os horários e dias que vai ser criado o teleport

Editado por Vodkart
Link para o comentário
Compartilhar em outros sites

  • 0

n testei

 

tpevent.lua

config = {
days = {{"Thursday","19:00"},{"Sunday","15:00"}},
Tp = {{x=794, y=228, z=7},{x = 155, y = 50, z = 7}} ,
TpTime = 7 -- em minutos
}
function onThink(interval, lastExecution)
for i = 1, #config.days do
if isInArray(config.days[i][1], os.date("%A")) and isInArray(config.days[i][2], tostring(os.date("%X")):sub(1, 5)) then
function removeTp(config)
       local t = getTileItemById(config.Tp[1], 1387)
       if t then
               doRemoveItem(t.uid, 1)
               doSendMagicEffect(config.Tp[1], CONST_ME_POFF)
broadcastMessage("O teleporte se fechou.",22)

       end
end
doCreateTeleport(1387, config.Tp[2], config.Tp[1])
broadcastMessage("O evento foi aberto, você tem "..config.TpTime.." minutos para entrar no teleport.",22)
addEvent(removeTp, config.TpTime*1000*60, config)
end
break
end
return true
end

 

tag

<globalevent name="TpEvent" interval="60" event="script" value="tpevent.lua"/>

Link para o comentário
Compartilhar em outros sites

  • 0

Galera peço que não ajudem tópicos com titulos que não expressão a dúvida diretamente, isso é proibido, mais atenção na proxima.

Renomeado.

Link para o comentário
Compartilhar em outros sites

  • 0
Em 01/06/2012 em 22:12, Vodkart disse:

n testei

 

tpevent.lua

 


config = {
days = {{"Thursday","19:00"},{"Sunday","15:00"}},
Tp = {{x=794, y=228, z=7},{x = 155, y = 50, z = 7}} ,
TpTime = 7 -- em minutos
}
function onThink(interval, lastExecution)
for i = 1, #config.days do
if isInArray(config.days[i][1], os.date("%A")) and isInArray(config.days[i][2], tostring(os.date("%X")):sub(1, 5)) then
function removeTp(config)
       local t = getTileItemById(config.Tp[1], 1387)
       if t then
               doRemoveItem(t.uid, 1)
               doSendMagicEffect(config.Tp[1], CONST_ME_POFF)
broadcastMessage("O teleporte se fechou.",22)

       end
end
doCreateTeleport(1387, config.Tp[2], config.Tp[1])
broadcastMessage("O evento foi aberto, você tem "..config.TpTime.." minutos para entrar no teleport.",22)
addEvent(removeTp, config.TpTime*1000*60, config)
end
break
end
return true
end
 

 

 

tag

 


<globalevent name="TpEvent" interval="60" event="script" value="tpevent.lua"/>
 

 

tem como fazer de hora em hora, todos os dias ??

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...