KL

[Resolvido] GlobalEvents Script

Por kleitonnalan, 09 de fev. de 2019 em Resolvidos

14
2.8k
09 de fevereiro de 2019 às 10:50

Bom dia, precisava de um script que funcionasse da seguinte maneira.

 

A cada 6 horas o script removia X portas de determinado local e depois de uma hora elas retornavam.

MarshmelloM
09 de fevereiro de 2019 às 14:04

Me informe os resultados amigo

Citar
local conf = {
idPorta = 1257 -- id da porta
pos = {x= 0, y=0,z= 0} -- pos onde a porta esta
time = 3600 -- tempo em segundos 
}
function retornoPorta(pos)
		
		doCreateItem(conf.idPorta,1, conf.pos)
		doSendMagicEffect(conf.pos, CONST_ME_POFF)
		
end

function onThink(cid, interval, lastExecution)

local z = getTileItemById(conf.pos, conf.idPorta)
	if z then
	doRemoveItem(z.uid, 1)
	doSendMagicEffect(pos, CONST_ME_POFF)
	end
addEvent(retornoPorta, conf.time*1000, pos)

return true 

end

<globalevent name="PortaScript" interval="7200" event="script" value="NOMEDOSCRIPT.lua"/>
11 de fevereiro de 2019 às 18:11

preciso que faça uma modificação, porque precisava que esse script removesse 3 paredes ao mesmo tempo.

 

MarshmelloM
12 de fevereiro de 2019 às 09:49

@kleitonnalan

 

Spoiler
local conf = {
idPorta = 1257 -- id da porta
pos = {x= 0, y=0,z= 0} -- pos onde a porta1 esta
pos2 = {x= 0, y=0,z= 0} -- pos onde a porta2 esta
pos3 = {x= 0, y=0,z= 0} -- pos onde a porta3 esta
time = 3600 -- tempo em segundos 
}
function retornoPorta(pos)
		
		doCreateItem(conf.idPorta,1, conf.pos)
doCreateItem(conf.idPorta,1, conf.pos2)
doCreateItem(conf.idPorta,1, conf.pos3)
		doSendMagicEffect(conf.pos, CONST_ME_POFF)
		
end

function onThink(cid, interval, lastExecution)

local z = getTileItemById(conf.pos, conf.idPorta)
local z2 = getTileItemById(conf.pos2, conf.idPorta)
local z3 = getTileItemById(conf.pos3, conf.idPorta)
	if z then
	doRemoveItem(z.uid, 1)
        doRemoveItem(z2.uid, 1)
        doRemoveItem(z3.uid, 1)
	doSendMagicEffect(pos, CONST_ME_POFF)
	end
addEvent(retornoPorta, conf.time*1000, pos)

return true 

end
12 de fevereiro de 2019 às 10:37

Wall.lua:3: '}' expected (to close '{' at line 1) near 'pos'

MarshmelloM
12 de fevereiro de 2019 às 13:08

Erro meu sorry

Citar
local conf = {
idPorta = 1257, -- id da porta
pos = {x= 0, y=0,z= 0}, -- pos onde a porta1 esta
pos2 = {x= 0, y=0,z= 0}, -- pos onde a porta2 esta
pos3 = {x= 0, y=0,z= 0}, -- pos onde a porta3 esta
time = 3600,-- tempo em segundos 
}
function retornoPorta(pos)
		
		doCreateItem(conf.idPorta,1, conf.pos)
doCreateItem(conf.idPorta,1, conf.pos2)
doCreateItem(conf.idPorta,1, conf.pos3)
		doSendMagicEffect(conf.pos, CONST_ME_POFF)
		
end

function onThink(cid, interval, lastExecution)

local z = getTileItemById(conf.pos, conf.idPorta)
local z2 = getTileItemById(conf.pos2, conf.idPorta)
local z3 = getTileItemById(conf.pos3, conf.idPorta)
	if z then
	doRemoveItem(z.uid, 1)
        doRemoveItem(z2.uid, 1)
        doRemoveItem(z3.uid, 1)
	doSendMagicEffect(pos, CONST_ME_POFF)
	end
addEvent(retornoPorta, conf.time*1000, pos)

return true 

end
12 de fevereiro de 2019 às 13:51
42 minutos atrás, Marshmello disse:

Erro meu sorry

as paredes não retornam aos lugares 

MarshmelloM
12 de fevereiro de 2019 às 14:27

@kleitonnalan

 

Spoiler
local conf = {
idPorta = 1257, -- id da porta
pos = {x= 0, y=0,z= 0}, -- pos onde a porta1 esta
pos2 = {x= 0, y=0,z= 0}, -- pos onde a porta2 esta
pos3 = {x= 0, y=0,z= 0}, -- pos onde a porta3 esta
time = 3600,-- tempo em segundos 
}
function retornoPorta()
		
		doCreateItem(conf.idPorta,1, conf.pos)
doCreateItem(conf.idPorta,1, conf.pos2)
doCreateItem(conf.idPorta,1, conf.pos3)
		doSendMagicEffect(conf.pos, CONST_ME_POFF)
		
end

function onThink(cid, interval, lastExecution)

local z = getTileItemById(conf.pos, conf.idPorta)
local z2 = getTileItemById(conf.pos2, conf.idPorta)
local z3 = getTileItemById(conf.pos3, conf.idPorta)
	if z then
	doRemoveItem(z.uid, 1)
        doRemoveItem(z2.uid, 1)
        doRemoveItem(z3.uid, 1)
	doSendMagicEffect(pos, CONST_ME_POFF)
	end
addEvent(retornoPorta(), conf.time*1000)

return true 

end

 

12 de fevereiro de 2019 às 14:56

Wall.lua:8: unexpected symbol near '?'

 

MarshmelloM
12 de fevereiro de 2019 às 16:32

Verifique na script se tem algum simbulo "?" e retire

12 de fevereiro de 2019 às 16:36

[Error - GlobalEvent Interface]
data/globalevents/scripts/Castle/Wall.lua:onThink
Description:
attempt to index a nil value
stack traceback:
        [C]: in function 'doSendMagicEffect'
        data/globalevents/scripts/Castle/Wall.lua:23: in function <data/globalevents/scripts/Castle/Wall.lua:14>
[Error - GlobalEvents::think] Couldn't execute event: Walls

teria como ela funcionar por horario determinado tbm?

MarshmelloM
12 de fevereiro de 2019 às 18:04
Melhor resposta

@kleitonnalan  Com horario determinado amigo

 

Spoiler
local conf = {
idPorta = 1257, -- id da porta
pos = {x= 0, y=0,z= 0}, -- pos onde a porta1 esta
pos2 = {x= 0, y=0,z= 0}, -- pos onde a porta2 esta
pos3 = {x= 0, y=0,z= 0}, -- pos onde a porta3 esta
time = 3600,-- tempo em segundos 
}
function retornoPorta(pos)
		
		doCreateItem(conf.idPorta,1, conf.pos)
doCreateItem(conf.idPorta,1, conf.pos2)
doCreateItem(conf.idPorta,1, conf.pos3)
		doSendMagicEffect(conf.pos, CONST_ME_POFF)
		
end

function onTimer()

local z = getTileItemById(conf.pos, conf.idPorta)
local z2 = getTileItemById(conf.pos2, conf.idPorta)
local z3 = getTileItemById(conf.pos3, conf.idPorta)
	if z then
	doRemoveItem(z.uid, 1)
        doRemoveItem(z2.uid, 1)
        doRemoveItem(z3.uid, 1)
	end
addEvent(retornoPorta, conf.time*1000, pos)

return true 

end

 

Tag

Spoiler
<globalevent name="PortaScript" time="11:00" event="script" value="NOMEDOSCRIPT.lua"/>

 

12 de fevereiro de 2019 às 19:08

obrigado, agora está funcionando 100%

MarshmelloM
12 de fevereiro de 2019 às 19:46
A questão neste tópico de suporte foi respondida e/ou o autor do tópico resolveu o problema. Este tópico está fechado e foi movido para Suporte - Resolvidos. Se você tiver outras dúvidas, crie um novo tópico.