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

fefuxd
Por fefuxd
em Tópicos Sem Resposta

fefuxd

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 13/01/17Posts: 28Gênero: Masculino

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?

Stigal

don't ever stop...
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 28/11/10Posts: 3402Gênero: Masculino

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

VI6MDIG.png

 

"O fracasso é a oportunidade de se começar de novo inteligentemente"

Minhas Redes Sociais: Youtube | Página & Grupo | Steam  | Discord Xtibia | Skype: @mrooger

 

OTpanel

raizinhoxd

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 11/03/17Posts: 2Gênero: Masculino

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

Justiceiro751

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 21/03/16Posts: 258
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.

Stigal

don't ever stop...
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 28/11/10Posts: 3402Gênero: Masculino

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.

VI6MDIG.png

 

"O fracasso é a oportunidade de se começar de novo inteligentemente"

Minhas Redes Sociais: Youtube | Página & Grupo | Steam  | Discord Xtibia | Skype: @mrooger

 

OTpanel

Justiceiro751

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 21/03/16Posts: 258
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 ?

Stigal

don't ever stop...
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 28/11/10Posts: 3402Gênero: Masculino

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.

VI6MDIG.png

 

"O fracasso é a oportunidade de se começar de novo inteligentemente"

Minhas Redes Sociais: Youtube | Página & Grupo | Steam  | Discord Xtibia | Skype: @mrooger

 

OTpanel

Stigal

don't ever stop...
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 28/11/10Posts: 3402Gênero: Masculino
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

VI6MDIG.png

 

"O fracasso é a oportunidade de se começar de novo inteligentemente"

Minhas Redes Sociais: Youtube | Página & Grupo | Steam  | Discord Xtibia | Skype: @mrooger

 

OTpanel