Boa noite galera,
Estou criando algumas funcionalidades pro meu OT e me deparei com este problema, talvez alguem saiba como resolver.
A minha intencao eh fazer com que o paladin de um dano extra quando estiver a uma certa distancia do alvo, pra dar vantagens ao paladin que cacar a uma distancia maior.
Pela logica acredito que o certo a se usar eh o onCombat, pois o onStatsChange teria que ser registrado em todos monstros pra funcionar certo? (me corrijam se estiver errado quanto a isso).
O meu problema eh o seguinte: ao atacar o monstro eu recebo 3x a mensagem "You deal xxx extra damage for being distant from your target". Ou seja, o script esta sendo executado 3x.
Entao segue meu script:
function onCombat(cid, target)
local targetpos = getCreaturePosition(target)
local distancia = getDistanceBetween(getCreaturePosition(cid), targetpos)
if(distancia >= 4) then
local damage = (getPlayerSkill(cid, 4) / 2) + ((getPlayerLevel(cid) + 100) / 2)
doCreatureAddHealth(target, damage)
doSendAnimatedText(targetpos, "Extr dmg", TEXTCOLOR_ORANGE)
doPlayerSendTextMessage(cid, 23, "You deal "..damage.." extra damage for being distant from your target.")
end
return true
end
Desde ja agradeco a ajuda,