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
- Fórum
- OTServ
- Suporte
- Tópicos Sem Resposta
- [Encerrado] Função getPokemonMaxLife
[Encerrado] Função getPokemonMaxLife
Por etarus, 05 de out. de 2013 em Tópicos Sem Resposta
info
Grupo: Conde
Registrado: 29/07/13
Posts: 780
Reputação: +60
Gênero: Masculino
Char no Tibia: aguarde...

È que eu postei na área errada ... :s
Era pra ter postado aqui na área de scripting, desculpa.
info
Grupo: Marquês
Registrado: 16/06/07
Posts: 1.2k
Reputação: +377
Gênero: Masculino
Char no Tibia: Nenhum

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.
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
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
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 endMais 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 Outubro 5 por Akumah
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..
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...
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.
info
Grupo: Herói
Registrado: 12/06/12
Posts: 2.2k
Reputação: +739
Gênero: Masculino
Char no Tibia: Supreme Player

Tópico movido para a seção de dúvidas e pedidos resolvidos.
info
Grupo: Herói
Registrado: 28/11/10
Posts: 3.4k
Reputação: +585
Gênero: Masculino

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






info
Grupo: Campones
Registrado: 06/12/10
Posts: 14
Reputação: 0
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..