Ir para conteúdo
Propaganda

Posts Recomendados

Salve guys, encontrei um problema com um pokemon dentro do meu servidor no qual eu derroto ele, mas não consigo capturar. O corpo fica lá com loot e tudo mas só isso também, não encontrei nenhuma restrição no action, conferi o configuration na lib e tambem o xml do monstro mas não encontrei nada que pudesse estar travando essa action. A linhagem dele eu consigo capturar q é o Duskull e Dusclops já o Dusknoir que é o poke em questão não!

  • Like 1
Link para o comentário
https://tibiadevs.com/forums/topic/1264-corpse-pokemon/
Compartilhar em outros sites

15 horas atrás, Ladaia disse:

Salve guys, encontrei um problema com um pokemon dentro do meu servidor no qual eu derroto ele, mas não consigo capturar. O corpo fica lá com loot e tudo mas só isso também, não encontrei nenhuma restrição no action, conferi o configuration na lib e tambem o xml do monstro mas não encontrei nada que pudesse estar travando essa action. A linhagem dele eu consigo capturar q é o Duskull e Dusclops já o Dusknoir que é o poke em questão não!

Bom diaaa!

Antes de tudo, qual base está usando?

Dependendo da base (principalmente as puxada pra OTP) tem restrição de Catch em certos pokémons (o mesmo script para restringir o Catch de lendários).

Além disso, esse tipo de problema geralmente está ligado a um dos quatro pontos abaixo:

 Verifique o corpse e looktype no XML do monstro em: data/monster/pokemons/Dusknoir procura por essas duas coisas:

<monster name="Dusknoir" corpse="6001" looktype="..." ...>

( corpse: tem que estar definido e ser um corpo válido do cliente que você está usando.

 Se o corpse estiver 0, vazio, incorreto ou inexistente no .spr, o sistema de captura não reconhece o corpo e não executa a action.)

 

Confere o nome exatamente igual no catch.lua (ou script equivalente)

 

No data/actions/scripts/catch.lua, geralmente existe algo assim:

 

local pokemons = {

   ["duskull"] = { chance = 50 },

   ["dusclops"] = { chance = 35 },

   ["dusknoir"] = { chance = 20 }

}

Se o nome no XML for "Dusknoir" com maiúscula, mas no script estiver "dusknoir" minúsculo (ou vice-versa), o sistema não encontra o Pokémon na tabela e não executa a captura.

Nomes com espaço, traço ou acento também quebram a verificação ("Dusk Noir" ≠ "Dusknoir").
 

----->  Verifique se existe uma restrição especial no script de captura (o ponto que citei no início do comentário)

Algumas bases têm um trecho assim no catch.lua ou em um arquivo de configuração:

 

if not pokemons[name] then

   doPlayerSendCancel(cid, "You can't catch this pokemon.")

   return true

end

 

Se Dusknoir não estiver listado lá, vai cair nessa verificação silenciosa e simplesmente não deixa capturar. (Caso esteja, basta retirar o nome do Dusknoir e de outros pokémons que você queira deoxar de restringir o Catch, caso queira restringir o Catch de algum pokémon basta adiciona-lo  a lista)

 

Depois que verificar tudo isso, teste o catch spawnando um Dusknoir e tentando captura-lo!

 

 

 

Link para o comentário
https://tibiadevs.com/forums/topic/1264-corpse-pokemon/#findComment-6530
Compartilhar em outros sites

10 minutos atrás, joaodomiciano disse:

Bom diaaa!

Antes de tudo, qual base está usando?

Dependendo da base (principalmente as puxada pra OTP) tem restrição de Catch em certos pokémons (o mesmo script para restringir o Catch de lendários).

Além disso, esse tipo de problema geralmente está ligado a um dos quatro pontos abaixo:

 Verifique o corpse e looktype no XML do monstro em: data/monster/pokemons/Dusknoir procura por essas duas coisas:

<monster name="Dusknoir" corpse="6001" looktype="..." ...>

( corpse: tem que estar definido e ser um corpo válido do cliente que você está usando.

 Se o corpse estiver 0, vazio, incorreto ou inexistente no .spr, o sistema de captura não reconhece o corpo e não executa a action.)

 

Confere o nome exatamente igual no catch.lua (ou script equivalente)

 

No data/actions/scripts/catch.lua, geralmente existe algo assim:

 

local pokemons = {

   ["duskull"] = { chance = 50 },

   ["dusclops"] = { chance = 35 },

   ["dusknoir"] = { chance = 20 }

}

Se o nome no XML for "Dusknoir" com maiúscula, mas no script estiver "dusknoir" minúsculo (ou vice-versa), o sistema não encontra o Pokémon na tabela e não executa a captura.

Nomes com espaço, traço ou acento também quebram a verificação ("Dusk Noir" ≠ "Dusknoir").
 

----->  Verifique se existe uma restrição especial no script de captura (o ponto que citei no início do comentário)

Algumas bases têm um trecho assim no catch.lua ou em um arquivo de configuração:

 

if not pokemons[name] then

   doPlayerSendCancel(cid, "You can't catch this pokemon.")

   return true

end

 

Se Dusknoir não estiver listado lá, vai cair nessa verificação silenciosa e simplesmente não deixa capturar. (Caso esteja, basta retirar o nome do Dusknoir e de outros pokémons que você queira deoxar de restringir o Catch, caso queira restringir o Catch de algum pokémon basta adiciona-lo  a lista)

 

Depois que verificar tudo isso, teste o catch spawnando um Dusknoir e tentando captura-lo!

 

 

 

Verifica primeiro se o Dusknoir está na lista de restrição de catch!
Caso esteja, só remove o nome dele da lista e resolvido 😁

Link para o comentário
https://tibiadevs.com/forums/topic/1264-corpse-pokemon/#findComment-6531
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
  • Criar Novo...