FE

[Encerrado] respawn de monstro em uma area que andam até outra area quando criados

Por fefuxd, 10 de mar. de 2017 em Tópicos Sem Resposta

8
1.2k
fefuxdF
10 de março de 2017 às 17:32

preciso de um script onde de tempo em tempo o monstro nasce e percorre até uma determinada posição do mapa..

como posso fazer isso?

2 semanas depois...
StigalS
17 de março de 2017 às 23:37

Crie um arquivo com a extensão .lua chamado "invasion.lua" em "data\globalevents\scripts" e adicione o código abaixo :

local i = {["20:14"] = {nome = "The Demon Invasion", pos = {x=32369, y=32167, z=7}, monster = {"50 Demon", "1 The Imperor"}},["14:35"] = {nome = "The Massive Dragon Invasion", pos = {x=32368, y=32188, z=8}, monster = {"200 Dragon"}},}function onThink(interval, lastExecution)hours = tostring(os.date("%X")):sub(1, 5)tb = i[hours]if tb thendoBroadcastMessage(hours .. " - " .. tb.nome .. " iníciou.")for _,x in pairs(tb.monster) dofor s = 1, tonumber(x:match("%d+")) dodoSummonCreature(x:match("%s(.+)"), tb.pos)endendendreturn trueend

 

Ainda em globalevents, abra o arquivo "globalevents.xml" e adicione a seguinte TAG:

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

 

# Configurando:

1. ["20:14"] > Horário da invasão.
2.
nome = "The Demon Invasion" > Nome da invasão.

3. {x=32369, y=32167, z=7} > Posição que ira iniciar.

4. {"50 Demon", "1 The Imperor"} > Monstros da invasão.

 

 

# Preview / Créditos: Kamex

2U6Wx.png

raizinhoxdR
20 de março de 2017 às 11:36

Bom dia meus jovens!

 

mas tem como o monstro andar na hora do spawn?? por exemplo.. ele na na pos x... ai ele vai andando ate xegar na outra posicao x...

 

tipo algo relacionado a isso.

 

For i = 1, 10 do    AddEvent(doMoveCreature, 500 * i, Cid, getLookDirection)End

Editado Março 20 por raizinhoxd

eskeci de por um exemplo

20 de março de 2017 às 13:04
Em 17/03/2017 at 23:37, Stigal disse:

Crie um arquivo com a extensão .lua chamado "invasion.lua" em "data\globalevents\scripts" e adicione o código abaixo :

local i = {["20:14"] = {nome = "The Demon Invasion", pos = {x=32369, y=32167, z=7}, monster = {"50 Demon", "1 The Imperor"}},["14:35"] = {nome = "The Massive Dragon Invasion", pos = {x=32368, y=32188, z=8}, monster = {"200 Dragon"}},}function onThink(interval, lastExecution)hours = tostring(os.date("%X")):sub(1, 5)tb = i[hours]if tb thendoBroadcastMessage(hours .. " - " .. tb.nome .. " iníciou.")for _,x in pairs(tb.monster) dofor s = 1, tonumber(x:match("%d+")) dodoSummonCreature(x:match("%s(.+)"), tb.pos)endendendreturn trueend

 

Ainda em globalevents, abra o arquivo "globalevents.xml" e adicione a seguinte TAG:

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

 

# Configurando:

1. ["20:14"] > Horário da invasão.

2. nome = "The Demon Invasion" > Nome da invasão.

3. {x=32369, y=32167, z=7} > Posição que ira iniciar.

4. {"50 Demon", "1 The Imperor"} > Monstros da invasão.

 

 

# Preview / Créditos: Kamex

2U6Wx.png

 

Tem como adaptar um comando de /invasão para os players entrarem no evento ?

Queria que acontecesse o seguinte.

20:14 - The Demon Invasion iníciou.

Digite "/invasao" para participar...

O portal fecha em X segundos

O portal fecha em X segundos

O portal fecha em X segundos

O portal para invasão fechou, tente novamente no próximo evento !!!

 

Quando matar determinado monstro, todos os players da invasão são movidos pro templo.

StigalS
20 de março de 2017 às 13:24

Você pode adicionar um global teleporte para todos entrarem em determinada área.

 

 

Crie um arquivo com a extensão .lua chamado "globalteleport.lua" em "data\globalevents\scripts" e adicione o código abaixo :

function onThink(interval, lastExecution, thinkInterval)local config = {pos = {x=152, y=50, z=7}, -- Posição aonde sera criado o teleporttopos = {x=1235, y=1197, z=7}, -- Posição pra onde o teleport ira levar o playertpid = 1387, -- id do teleporttime = 5 -- tempo que o teleport ira sumir em minutos}function DelTp()local t = getTileItemById(config.pos, config.tpid)if t thendoRemoveItem(t.uid, 1)doSendMagicEffect(config.pos, CONST_ME_POFF)endendlocal time = 116for i = 1,time doformula = time - 1*iaddEvent(doSendAnimatedText,i*1000, config.pos, formula, 192)enddoCreateTeleport(config.tpid, config.topos, config.pos)doBroadcastMessage("Evento foi aberto!por favor os entereçados corram para o teleport que se localiza no templo e se fechara "..config.time.." minutos")addEvent(DelTp, config.time*60*1000)addEvent(doBroadcastMessage, config.time*60*1000, "Evento Proximo evento em 1h.")return trueend

 

 

Ainda em globalevents, abra o arquivo "globalevents.xml" e adicione a seguinte TAG:

<globalevent name="globalteleport" interval="240000" event="script" value="globalteleport.lua"/>

 

*Estou sem tempo agora, mas depois posso ver a possibilidade do evento por talk.

Editado Março 20 por Stigal

20 de março de 2017 às 16:17
2 horas atrás, Stigal disse:

Você pode adicionar um global teleporte para todos entrarem em determinada área.

 

 

Crie um arquivo com a extensão .lua chamado "globalteleport.lua" em "data\globalevents\scripts" e adicione o código abaixo :

function onThink(interval, lastExecution, thinkInterval)local config = {pos = {x=152, y=50, z=7}, -- Posição aonde sera criado o teleporttopos = {x=1235, y=1197, z=7}, -- Posição pra onde o teleport ira levar o playertpid = 1387, -- id do teleporttime = 5 -- tempo que o teleport ira sumir em minutos}function DelTp()local t = getTileItemById(config.pos, config.tpid)if t thendoRemoveItem(t.uid, 1)doSendMagicEffect(config.pos, CONST_ME_POFF)endendlocal time = 116for i = 1,time doformula = time - 1*iaddEvent(doSendAnimatedText,i*1000, config.pos, formula, 192)enddoCreateTeleport(config.tpid, config.topos, config.pos)doBroadcastMessage("Evento foi aberto!por favor os entereçados corram para o teleport que se localiza no templo e se fechara "..config.time.." minutos")addEvent(DelTp, config.time*60*1000)addEvent(doBroadcastMessage, config.time*60*1000, "Evento Proximo evento em 1h.")return trueend

 

 

Ainda em globalevents, abra o arquivo "globalevents.xml" e adicione a seguinte TAG:

<globalevent name="globalteleport" interval="240000" event="script" value="globalteleport.lua"/>

 

*Estou sem tempo agora, mas depois posso ver a possibilidade do evento por talk.

Obrigado pelos scripts. Mas me tira uma dúvida ...

O comando pra abrir/criar esse portal, seria o /globalteleport , correto ?

StigalS
20 de março de 2017 às 19:11

O Global Teleport é um evento, ele ira se auto-executar em determinados momentos programados.

Você pode alinhar ele juntamente com o outro script de invasão.

Editado Março 20 por Stigal

8 meses depois...
StigalS
29 de novembro de 2017 às 15:17
A questão neste tópico de suporte foi encerrada por falta de resposta. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta