Oq exatamente quer fazer? Não é mais fácil spawnar por posição?
- Fórum
- OTServ
- Suporte
- Resolvidos
- [Resolvido] [AJUDA]Respaw npc por tile
info
Grupo: Administrador
Registrado: 23/07/06
Posts: 121
Reputação: +99
Gênero: Masculino
Char no Tibia: Politico

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
info
Grupo: Campones
Registrado: 01/10/17
Posts: 27
Reputação: +9
Gênero: Outro

o npc que você fala seria um npc agressivo igual o da brotherhood?
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
info
Grupo: Campones
Registrado: 01/10/17
Posts: 27
Reputação: +9
Gê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
Editado Maio 22 por Meguminyan
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...
info
Grupo: Herói
Registrado: 28/11/10
Posts: 3.4k
Reputação: +585
Gênero: Masculino





info
Grupo: Campones
Registrado: 16/04/16
Posts: 8
Reputação: 0
Gê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 ><