VI
dúvida

Globalevent Que Sumona Npc

Por victormoaz, 24 de out. de 2012 em Scripts

script
9
1.3k
victormoazV
24 de outubro de 2012 às 11:28

Olá,

Encontrei esse script (Global Event) no fórum a algum tempo (não me lembro o nick do autor).

Ele serve para Summonar um npc no mapa em um período determinado de tempo.

Porém, ele deveria remover o npc num período, também determinado, de tempo apos ele ser sumonado. Mas, isso não ocorre. O que faz com que acumule vários npcs desses no mesmo lugar.

 

Alguém sabe como resolver?

 

Script (GlobalEvent)

 

 

 

function onThink(interval, lastExecution, thinkInterval)

local pos = {x=1261,y=1065,z=7} -- Local onde aparece o npc

local npc = doCreateNpc("Dalk", pos ) -- Altere o (dalk) pelo nome do seu npc.

local nMin = 15 -- tempo em minuto para o npc sumir.

doCreateNpc("Dalk", pos )

addEvent(doRemoveCreature, nMin*60*1000, npc)

return true

end

 

 

 

 

Obrigado

Yan OliveiraY
24 de outubro de 2012 às 13:32

Dei uma editada, mas testa ae:

 

 

 

 

function onThink(interval, lastExecution, thinkInterval)

local pos = {x=1261,y=1065,z=7} -- Local onde aparece o npc

local npc = doCreateNpc("Dalk", pos ) -- AddRemoveCreature(cid) altere o (dalk) pelo nome do seu npc.

local nMin = 15 -- tempo em minuto para o npc sumir.

doCreateNpc("XXXX", pos )

addEvent(doRemoveCreature, Min*60*1000, npc)

return true

end

if player ~= false then return npc end

 

 

 

Em XXXX coloca nome do Npc.

 

Aki não deu erro, ve se da ae, qualquer coisa me avisa.

SlicerS
24 de outubro de 2012 às 13:39

na verdade ele n tira o npc pq, aparentemente, ele ta criando 2 npc ao ms tepo ;x

function onThink(interval, lastExecution, thinkInterval)
local pos = {x=1261,y=1065,z=7} -- Local onde aparece o npc
local npc = doCreateNpc("Dalk", pos ) -- Altere o (dalk) pelo nome do seu npc.
local nMin = 15 -- tempo em minuto para o npc sumir.
addEvent(doRemoveCreature, nMin*60*1000, npc)
return true
end

victormoazV
25 de outubro de 2012 às 00:48

na verdade ele n tira o npc pq, aparentemente, ele ta criando 2 npc ao ms tepo ;x

function onThink(interval, lastExecution, thinkInterval)
local pos = {x=1261,y=1065,z=7} -- Local onde aparece o npc
local npc = doCreateNpc("Dalk", pos ) -- Altere o (dalk) pelo nome do seu npc.
local nMin = 15 -- tempo em minuto para o npc sumir.
addEvent(doRemoveCreature, nMin*60*1000, npc)
return true
end

 

 

Se eu colocar do seu jeito não sumona o npc... =/

 

@yan18

 

Irei testar o seu e edito aqui

 

---Edit----

não mudou nada em relação ao meu. Sumona mas não remove

Editado Outubro 25 por BobStriker

GuhPkG
25 de outubro de 2012 às 17:19

Só reparei 1 coisinha, você colocou o local "pos"...

Porém não usou ele em lugar algum, ou é assim mesmo??

É que estou iniciando em script agora... Se for erro meu malz ai!! xD

Editado Outubro 25 por GuhPk

Yan OliveiraY
25 de outubro de 2012 às 17:26

Só reparei 1 coisinha, você colocou o local "pos"...

Porém não usou ele em lugar algum, ou é assim mesmo??

É que estou iniciando em script agora... Se for erro meu malz ai!! xD

 

Não é o tempo é sim o script.

 

@Bobstriker

 

 

Não sei se é isso, mas acho q nessa parte:

 

addEvent(doRemoveCreature, nMin, npc)

 

vc coloco pra remover o npc, mas n falou qual, pode ser isso, vo ve se consigo arrumar.

 

--- EDIT ---

 

Dei uma editada ve se funciona agora:

 

function onThink(interval, lastExecution, thinkInterval)
local pos = {x=1261,y=1065,z=7} -- Local onde aparece o npc
local npc = doCreateNpc("Dalk", pos ) -- AddRemoveCreature(cid) altere o (dalk) pelo nome do seu npc.
local nMin = 15 -- tempo em minuto para o npc sumir.
doCreateNpc("Dalk", pos)
addEvent(doRemoveCreature(cid), nMin*60*1000, npc)
return true
end
if player ~= false then return npc
end
end

 

Se não funcionar me avise.

Editado Outubro 25 por Yan18

brun123B
25 de outubro de 2012 às 17:33

GuhPk, ele declarou pos e usou na função doCreateNpc, está sendo usado sim.

 

2 erros no seu script Yan18:

 

essa linha:

 

if player ~= false then return npc end

 

está fora do escopo, ela não é executada e serve pra nada também...

 

sem falar que no addEvent você usou uma variável não declarada (Min) e usou ela num cálculo numérico, isso vai dar erro.

 

Nessa linha:

 

addEvent(doRemoveCreature, nMin, npc)

 

o que está acontecendo é:

 

-- esperar nMin passar
doRemoveCreature(npc)

 

sendo que npc foi declarado como doCreateNpc (essa função retorna o UID do npc criado)

 

o jeito do Slicer está correto e deveria funcionar sem problemas, o autor do tópico chegou a testar antes de falar que não sumona?

Editado Outubro 25 por brun123

victormoazV
26 de outubro de 2012 às 03:36

Ja testei... do modo do slicer o npc não é sumonado.

=/

 

------EDIT------

 

Erro Meu... Funcionou --- Rep+ Slicer

Editado Outubro 26 por BobStriker

HisashiitYamagutiH
26 de outubro de 2012 às 10:50

Dúvida resolvida, movida para Dúvidas Resolvidas - Otserv Scripting.