Movido para pedidos e dúvidas de derivados.
Sobre seu problema, poderia nos enviar o quê se encontra na linha 659 de level system.lua (lib)?
Movido para pedidos e dúvidas de derivados.
Sobre seu problema, poderia nos enviar o quê se encontra na linha 659 de level system.lua (lib)?
Desculpe pelo local errado.
Aqui está o exp.lua linha: 451
block = 1 - (getSpecialDefense(cid) / (getSpecialAttack(attacker) + getSpecialDefense(cid)))
Aqui o level system.lua linha: 659
return getSpecialAttack(cid) * 0.85 + getDefense(cid) * 0.2
Editado Abril 12 por walquer
Substitua sua função getSpecialDefense por essa:
function getSpecialDefense(cid)
if not isCreature(cid) then return 0 end
local spatk = getSpecialAttack(cid)
local defense = getDefense(cid)
local str = ""
if not spatk then
str = "A criatura "..getCreatureName(cid).." possui valor nulo para a função getSpecialAttack. Valor da storage 1005: "..getPlayerStorageValue(cid, 1005) and getPlayerStorageValue(cid, 1005) or "NIL"
if not pokes[getCreatureName(cid)] then
str = str..". Esta criatura não se encontra na tabela pokes, de configuration.lua."
end
print(str)
spatk = 0
elseif not defense then
str = "A criatura "..getCreatureName(cid).." possui valor nulo para a função getDefense. Valor da storage 1002: "..getPlayerStorageValue(cid, 1002) and getPlayerStorageValue(cid, 1002) or "NIL"
if not pokes[getCreatureName(cid)] then
str = str..". Esta criatura não se encontra na tabela pokes, de configuration.lua."
end
print(str)
defense = 0
end
return spatk * 0.85 + defense * 0.2
end
Editado Abril 12 por zipter98
Achei que tinha resolvido mas ta dando este outro erro agora:
Agora, substitua sua função getSpeed(cid) por esta:
function getSpeed(cid)
if not isCreature(cid) then return 0 end
local speed = tonumber(getPlayerStorageValue(cid, 1003))
if not speed then
speed = 1
local str = getCreatureName(cid).." possui valor nulo para a função getSpeed (storage 1003)."
if not pokes[getCreatureName(cid)] then
str = str.." Esta criatura não se encontra na tabela pokes, de configuration.lua."
end
print(str)
end
return speed
end
PS: Parece que o erro está sendo causado devido à criaturas que possuem valor nulo das storages de status, como defense, offense, speed, etc. Se for imprimido em seu console alguma das mensagens que deixei programadas no código, peço-lhe que envie-a.
Editado Abril 15 por zipter98
Não existe essa function no exp.lua, eu poderia adicionar em qualquer lugar?
Não, essa função fica em level system.lua.
info
Grupo: Administrador
Registrado: 26/02/07
Posts: 254
Reputação: +205
Gênero: Masculino
Char no Tibia: Frenvius

info
Grupo: Campones
Registrado: 16/04/08
Posts: 91
Reputação: +3
Char no Tibia: walquer