Ir para conteúdo
  • 0

[Resolvido] [AJUDA]Respaw npc por tile


Liu King

Pergunta

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

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

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

Link para o comentário
Compartilhar em outros sites

  • 0

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 

Link para o comentário
Compartilhar em outros sites

  • 0

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 por Meguminyan
Link para o comentário
Compartilhar em outros sites

  • 0

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

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...