Ir para conteúdo

[Encerrado] Função getPokemonMaxLife


etarus

Posts Recomendados

Olá pessoal, eu usava o sistema operacional Windows Server 2003 , agora troquei para Ubuntu 12.04.1 LTS, e apareceu um erro numa função, não é bem um erro...

A função é essa..

function getPokemonMaxLife(name)
local file = io.open('data/monster/monsters.xml','r')
local arquivo = file:read(-1):lower():match('<monster name="'..name:lower()..'" file="(.-)"/>')
file:close()
local data = io.open('data/monster/'..(arquivo or ''),'r')
if not data then
return 100
end
local maximo = data:read(-1):match('max%s*=%s*"(%d+)"')
data:close()
return maximo
end

 

 

Antes a função retornava a Health do Pokemon, ex Bulbasaur 1200 ..
Agora ela ta retornando 100 pra todos pokemons que eu solto..
Alguem pode me ajudar por favor ??
Obrigado.
Link para o comentário
Compartilhar em outros sites

cara é proibido postar duas vezes a mesma coisa mano antes de criar sua conta nao leu as regras nao? olha ae você ja postou aqui ... http://www.xtibia.com/forum/topic/222223-funcao-getpokemonmaxlife/ RELATADO PARA A EQUIPE

Link para o comentário
Compartilhar em outros sites

Quando postar na seção errada, denuncia seu tópico antigo que a equipe move ele pra você. Ou se você estiver com pressa, denuncia, avisa que criou outro e pede pra fechar. E, de qualquer jeito, continua na área errada.
Movido para pedidos e dúvidas - servidores derivados.

Link para o comentário
Compartilhar em outros sites

Foi só por que você trocou? Se for, não tenho a minima ideia...

Caso contrário, tente:

function getPokemonMaxLife(name)

local johto = false
for i = 209, 308 do
if oldpokedex[i][1] and oldpokedex[i][1] == name then
johto = true
end
end
if isShinyName(name) then
a = "data/monster/pokes/Shiny/"..name..".xml"
elseif johto then
a = "data/monster/pokes/geracao 2/"..name..".xml"    --edited pra melhorar a pasta monster
else
a = "data/monster/pokes/geracao 1/"..name..".xml"
end

local file = io.open('data/monster/monsters.xml','r')
local arquivo = file:read(-1):lower():match('<monster name="'..name:lower()..'" file="(.-)"/>')
file:close()
local data = io.open(a,'r')
if not data then
return 100
end
local maximo = data:read(-1):match('max%s*=%s*"(%d+)"')
data:close()
return maximo
end
Link para o comentário
Compartilhar em outros sites

Akumah, obrigado por tentar me ajudar, tentei o que você postou mais não deu...

Acho que não é isso..

Eu fis isso aki e funcionou:

 

function getPokemonMaxLife(name)
local file = io.open('data/monster/monsters.xml','r')
local arquivo = file:read(-1):lower():match('<monster name="'..name:lower()..'" file="(.-)"/>')
file:close()
local data = io.open('data/monster/pokes/Players/Squirtle.xml','r')
if not data then
return 100
end
local maximo = data:read(-1):match('max%s*=%s*"(%d+)"')
data:close()
return maximo
end

Mais queria que ele colocasse a MaxLife de acordo com o Pokemon, porque se não vai ter Charizard com life de Squirtle (1200)..

:s

Link para o comentário
Compartilhar em outros sites

 

Akumah, obrigado por tentar me ajudar, tentei o que você postou mais não deu...

Acho que não é isso..

Eu fis isso aki e funcionou:

 





function getPokemonMaxLife(name)
local file = io.open('data/monster/monsters.xml','r')
local arquivo = file:read(-1):lower():match('<monster name="'..name:lower()..'" file="(.-)"/>')
file:close()
local data = io.open('data/monster/pokes/Players/Squirtle.xml','r')
if not data then
return 100
end
local maximo = data:read(-1):match('max%s*=%s*"(%d+)"')
data:close()
return maximo
end

Mais queria que ele colocasse a MaxLife de acordo com o Pokemon, porque se não vai ter Charizard com life de Squirtle (1200)..

:s

 

 

Ah sim, haha.

É porque achava que você usava o PDA, e só mudei o diretório para os mesmos do PDA, mas vejo que o seu é diferente.

Tente esse:

function getPokemonMaxLife(name)
local file = io.open('data/monster/monsters.xml','r')
local arquivo = file:read(-1):lower():match('<monster name="'..name:lower()..'" file="(.-)"/>')
file:close()
local data = io.open('data/monster/pokes/Players/"..name..".xml','r')
if not data then
return 100
end
local maximo = data:read(-1):match('max%s*=%s*"(%d+)"')
data:close()
return maximo
end
Editado por Akumah
Link para o comentário
Compartilhar em outros sites

Akumah, coloquei o que você pediu, mais o script está retornando 100 ainda...

:s

Quando eu coloco

local data = io.open('data/monster/pokes/Players/Squirtle.xml','r')

 

funciona direitinho

mais fica uma vida fixa pra todos pokes..

Link para o comentário
Compartilhar em outros sites

function getPokemonMaxLife(name)
local file = io.open('data/monster/monsters.xml','r')
local arquivo = file:read(-1):lower():match('<monster name="'..name:lower()..'" file="(.-)"/>')
file:close()
local data = io.open('data/monster/pokes/Players/"..doCorrectString(name)..".xml','r')
if not data then
return 100
end
local maximo = data:read(-1):match('max%s*=%s*"(%d+)"')
data:close()
return maximo
end

Agora eu tenho quase certeza que vai...

Link para o comentário
Compartilhar em outros sites

Ta retornando 100 ainda..

Fis um arquivo na lib com a life dos poke e coloquei

pokelifes[poke_name].maxhealth

em vez de

getPokemonMaxLife(poke_name)

Ai deu certo...

Só falta eu adicionar as lifes certinho.

Obrigado por ter me ajudado Akumah.

Link para o comentário
Compartilhar em outros sites

  • 4 years later...
A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...