[Resolvido] [AJUDA]Respaw npc por tile

Liu King
em Resolvidos

Liu King

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 16/04/16Posts: 8Gênero: Masculino

Olá venho aqui pedir uma ajuda não tenho muita experiencia em programação mas queria implementar um script
é possivel criar um script onde um npc X nasça apenas em tiles pre determinados?
Exemplo: NPC Xtibia só vai nascer nos tileid 156
assim o npc Xtibia iria "escolher" entre todos os tiles do mapa com id 156 para respawnar 
Estou usando a base open source do KPDO 
se puderem ajudar eu agradeço >< 

PoRaI

avatar
Administrador
Administrador

INFOS

Grupo: AdministradorRegistrado: 23/07/06Posts: 121Gênero: MasculinoChar no Tibia: Politico

Liu King

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 16/04/16Posts: 8Gênero: Masculino

A ideia é criar um respaw aleatório de vários npc onde o jogador precise procurar diariamente por eles por todo o mapa...e todo server save todo o processo se repete e novamente procurar pelo npc... etc

Meguminyan

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 02/10/17Posts: 27Gênero: Outro

o npc que  você fala seria um npc agressivo igual o da brotherhood?

Liu King

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 16/04/16Posts: 8Gênero: Masculino

Nn seriam npc's normais... de troca, missão, task etc

o que eu queria é que esses npc's fossem respawnados aleatoriamente no mapa e não algo fixo 

Meguminyan

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 02/10/17Posts: 27Gênero: Outro

olha, enquanto você não acha o script ideal você pode usar este aqui

Em movements xml adicione essa tag
 

<movevent type="StepIn" actionid="19384" event="script" value="npcrandom.lua"/>

agora em creature events > scripts copie um .lua e renomeie para npcrandom.lua, apague tudo que tem dentro e cole isto

function onStepIn(cid, item, position, fromPosition)
local positio =   {x=1034, y=1039, z=7}
local positio2 =  {x=1036, y=1039, z=7}
local positio3 =  {x=1038, y=1039, z=7}
local positio4 =  {x=1040, y=1039, z=7}
local positio5 =  {x=1034, y=1039, z=7}
local positio6 =  {x=1036, y=1039, z=7}
local positio7 =  {x=1038, y=1039, z=7}
local positio8 =  {x=1040, y=1039, z=7}
local positio9 =  {x=1034, y=1039, z=7}
local positio10 = {x=1036, y=1039, z=7}
local chance = math.random(1,10)



if chance == 1     then
doTeleportThing(cid, positio) 
elseif chance == 2 then
doTeleportThing(cid, positio2) 
elseif chance == 3 then
doTeleportThing(cid, positio3)
elseif chance == 4 then
doTeleportThing(cid, positio4)
elseif chance == 5 then
doTeleportThing(cid, positio5)
elseif chance == 6 then
doTeleportThing(cid, positio6)
elseif chance == 7 then
doTeleportThing(cid, positio7)
elseif chance == 8 then
doTeleportThing(cid, positio8)
elseif chance == 9 then
doTeleportThing(cid, positio9)
elseif chance == 10 then
doTeleportThing(cid, positio10)

end
return true
end

Agora crie um teleport em 1 lugar onde os players não tem acesso com o adction id 19384 no seu mapa e faça o npc desejado spawnar em cima dele (lembre de não deixar espaço aberto ao lado do teleport se não o npc ira spawnar no espaço do lado do teleport


então ao iniciar o server o npc sera jogado em 1 dessas 10  localizações editaveis.

para adicionar mais lugares é só ir adicionando os positiosX, mudar a quantidade de lugars no  Math.random e adicionar mais elseif chance = X

Liu King

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 16/04/16Posts: 8Gênero: Masculino

Nossa... realmente é muito bom o script posso determinar mts coordenadas e usar isso a todos os npc... mt obrigado reputado...
se a staff quiser pode fechar o tópico...

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 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.

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