Ir para conteúdo
  • Cadastre-se

(Resolvido)[PEDIDO] Raid de aparecer uma Porta!


Ir para solução Resolvido por lordzetros,

Posts Recomendados

5 horas atrás, Sttorm disse:

function onTime()

local day = {"Tuesday", "Thursday","Saturday"} -- em ingles
local itemid = 3456 -- item que sera criado
local pos = {x=94, y=126, z=7, stackpos= 1} -- pos onde será criado
local newitem = 2768 -- Id do novo item
local min = 1 -- minutos de duração do evento

        if (os.date("%A") == #day) then
        
        doRemoveItem(getThingfromPos(pos).uid, 1)
        addEvent(doCreateItem, 100, itemid, 1, pos)
        doBroadcastMessage("O evento abriu", 25)
        
        addEvent(function()
        doTransformItem(getThingFromPos(pos).uid, newitem)
        end, min * 60 * 1000)
        addEvent(doBroadcastMessage, min * 60 * 1000, "O evento encerrou", 25)
        end
return true
end

 

nada ainda... o evento não acontece

tem certeza que não é no xml?

@Sttorm não acontece nenhum erro no console, nem começa o evento 

tumblr_o70wteR8521r9n6kzo1_400.gif

Link para o post
Compartilhar em outros sites
function onTime()

local day = {"Tuesday", "Thursday","Saturday"} -- em ingles
local itemid = 3456 -- item que sera criado
local pos = {x=94, y=126, z=7, stackpos= 1} -- pos onde será criado
local newitem = 2768 -- Id do novo item
local min = 1 -- minutos de duração do evento

        if isInArray(day, os.date("%A")) then
        
        doRemoveItem(getThingfromPos(pos).uid, 1)
        addEvent(doCreateItem, 100, itemid, 1, pos)
        doBroadcastMessage("O evento abriu", 25)
        
        addEvent(function()
        doTransformItem(getThingFromPos(pos).uid, newitem)
        end, min * 60 * 1000)
        addEvent(doBroadcastMessage, min * 60 * 1000, "O evento encerrou", 25)
        end
return true
end

 

Link para o post
Compartilhar em outros sites
1 hora atrás, Sttorm disse:

function onTime()

local day = {"Tuesday", "Thursday","Saturday"} -- em ingles
local itemid = 3456 -- item que sera criado
local pos = {x=94, y=126, z=7, stackpos= 1} -- pos onde será criado
local newitem = 2768 -- Id do novo item
local min = 1 -- minutos de duração do evento

        if isInArray(day, os.date("%A")) then
        
        doRemoveItem(getThingfromPos(pos).uid, 1)
        addEvent(doCreateItem, 100, itemid, 1, pos)
        doBroadcastMessage("O evento abriu", 25)
        
        addEvent(function()
        doTransformItem(getThingFromPos(pos).uid, newitem)
        end, min * 60 * 1000)
        addEvent(doBroadcastMessage, min * 60 * 1000, "O evento encerrou", 25)
        end
return true
end

 

nada ainda, você testou aí?

tumblr_o70wteR8521r9n6kzo1_400.gif

Link para o post
Compartilhar em outros sites
4 horas atrás, Sttorm disse:

O evento irá acontecer que dias da semana ? se for mais de um , você ta registrando na XML os horários de cada um ?

eu tô testando só com um, pra ver se funciona... botei Friday, e 

tumblr_o70wteR8521r9n6kzo1_400.gif

Link para o post
Compartilhar em outros sites
  • Solução

Opa, vou dá uma olhada, daqui a pouco edito aqui.
Edit1: @Yamborghini Testado e funcionando:
Em data/globalevents/scripts/criaPorta.lua
 

function onTime()

local day = {"Tuesday", "Thursday","Saturday", "Wednesday"} -- em ingles / ADICIONEI Wednesday para teste, porque hoje é quarta-feira, caso n queira, só remover
local itemid = 3456 -- item que sera criado
local pos = {x=94, y=126, z=7, stackpos= 1} -- pos onde será criado
local min = 1 -- minutos de duração do evento
local newitem = 2768 -- Id do novo item

        if isInArray(day, os.date("%A")) then
			if (getTileItemById(pos, newitem).uid > 0) then
				doRemoveItem(getTileThingByPos(pos).uid, newitem)
			end
			addEvent(doCreateItem, 100, itemid, 1, pos)
			doBroadcastMessage("O evento abriu", 25)
			addEvent(function()
				doRemoveItem(getTileThingByPos(pos).uid, itemid)
				doBroadcastMessage("O evento encerrou", 25)
				doCreateItem(newitem,1,pos)
			end, min * 60 * 1000)
        end
return true
end

Em data/globalevents/globalevents.xml
 

<globalevent name="CriaPorta" time="13:29" event="script" value="criaPorta.lua"/>

Repare que tem time="13:29", isso é o horário que irá funcionar o evento.

OBS.: Se quiser que ele rode em DETERMINADOS INTERVALOS, como por exemplo, de 30 em 30 min, precisa ser feito algumas outras modificações.

Vai no globalevents.xml, deixe:
 

<globalevent name="criaPorta" interval="1800000" event="script" value="criaPorta.lua"/>

E em criaPorta.lua, deixe:
 

function onThink(interval, lastExecution)

local day = {"Tuesday", "Thursday","Saturday", "Wednesday"} -- em ingles
local itemid = 3456 -- item que sera criado
local pos = {x=94, y=126, z=7, stackpos= 1} -- pos onde será criado
local min = 1 -- minutos de duração do evento
local newitem = 2768 -- Id do novo item

        if isInArray(day, os.date("%A")) then
			if (getTileItemById(pos, newitem).uid > 0) then
				doRemoveItem(getTileThingByPos(pos).uid, newitem)
			end
			addEvent(doCreateItem, 1000, itemid, 1, pos)
			doBroadcastMessage("O evento abriu", 25)
			addEvent(function()
				doRemoveItem(getTileThingByPos(pos).uid, itemid)
				doBroadcastMessage("O evento encerrou", 25)
				doCreateItem(newitem,1,pos)
			end, min * 60 * 1000)
        end
return true
end


Aí funcionará de 30 em 30 min.

Valeu! ^^

Editado por lordzetros (veja o histórico de edições)

Feliz daquele que ensina o que sabe, e aprende o que ensina.

 

               

star-wars-animated-gif-23.gif

Link para o post
Compartilhar em outros sites
8 horas atrás, lordzetros disse:

Opa, vou dá uma olhada, daqui a pouco edito aqui.
Edit1: @Yamborghini Testado e funcionando:
Em data/globalevents/scripts/criaPorta.lua
 


function onTime()

local day = {"Tuesday", "Thursday","Saturday", "Wednesday"} -- em ingles / ADICIONEI Wednesday para teste, porque hoje é quarta-feira, caso n queira, só remover
local itemid = 3456 -- item que sera criado
local pos = {x=94, y=126, z=7, stackpos= 1} -- pos onde será criado
local min = 1 -- minutos de duração do evento
local newitem = 2768 -- Id do novo item

        if isInArray(day, os.date("%A")) then
			if (getTileItemById(pos, newitem).uid > 0) then
				doRemoveItem(getTileThingByPos(pos).uid, newitem)
			end
			addEvent(doCreateItem, 100, itemid, 1, pos)
			doBroadcastMessage("O evento abriu", 25)
			addEvent(function()
				doRemoveItem(getTileThingByPos(pos).uid, itemid)
				doBroadcastMessage("O evento encerrou", 25)
				doCreateItem(newitem,1,pos)
			end, min * 60 * 1000)
        end
return true
end

Em data/globalevents/globalevents.xml
 


<globalevent name="CriaPorta" time="13:29" event="script" value="criaPorta.lua"/>

Repare que tem time="13:29", isso é o horário que irá funcionar o evento.

OBS.: Se quiser que ele rode em DETERMINADOS INTERVALOS, como por exemplo, de 30 em 30 min, precisa ser feito algumas outras modificações.

Vai no globalevents.xml, deixe:
 


<globalevent name="criaPorta" interval="1800000" event="script" value="criaPorta.lua"/>

E em criaPorta.lua, deixe:
 


function onThink(interval, lastExecution)

local day = {"Tuesday", "Thursday","Saturday", "Wednesday"} -- em ingles
local itemid = 3456 -- item que sera criado
local pos = {x=94, y=126, z=7, stackpos= 1} -- pos onde será criado
local min = 1 -- minutos de duração do evento
local newitem = 2768 -- Id do novo item

        if isInArray(day, os.date("%A")) then
			if (getTileItemById(pos, newitem).uid > 0) then
				doRemoveItem(getTileThingByPos(pos).uid, newitem)
			end
			addEvent(doCreateItem, 1000, itemid, 1, pos)
			doBroadcastMessage("O evento abriu", 25)
			addEvent(function()
				doRemoveItem(getTileThingByPos(pos).uid, itemid)
				doBroadcastMessage("O evento encerrou", 25)
				doCreateItem(newitem,1,pos)
			end, min * 60 * 1000)
        end
return true
end


Aí funcionará de 30 em 30 min.

Valeu! ^^

 

mais uma vez, perfeito!

nenhum erro...

Obrigado!!

tumblr_o70wteR8521r9n6kzo1_400.gif

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo