function onStatsChange(cid, attacker, type, combat, value) if isPlayer(cid) and isPlayer(attacker) and type == STATSCHANGE_HEALTHLOSS then value = value - 10 doTargetCombatHealth(attacker, cid, combat, -value, -value, type) end return true end
bump
function onStatsChange(cid, attacker, type, combat, value) if isPlayer(cid) and isPlayer(attacker) and type == STATSCHANGE_HEALTHLOSS then value = value - 10 doTargetCombatHealth(attacker, cid, combat, -value, -value, type) end return true end
bump
tu tem uma opção de fazer por script a redução do dano e dar return false, dai é cancelado o que seria feito pelas sources e vale apenas o que tu fez no script
"A covardia coloca a questão: à seguro? O comodismo coloca a questão: à popular? A etiqueta coloca a questão: é elegante? Mas a consciência coloca a questão, à correto? E chega uma altura em que temos de tomar uma posição que não é segura, não é elegante, não é popular, mas o temos de fazer porque a nossa consciência nos diz que é essa a atitude correta."
(Martin Luther King)
tu tem uma opção de fazer por script a redução do dano e dar return false, dai é cancelado o que seria feito pelas sources e vale apenas o que tu fez no script
sim no e posible, agora estoy mudando para reflection:
function onStatsChange(cid, attacker, type, combat, value) if isPlayer(cid) and type == STATSCHANGE_HEALTHLOSS then if isPlayer(attacker) or isMonster(attacker) then if combat == COMBAT_ICEDAMAGE then absorb = math.floor(value / 2) doSendMagicEffect(getThingPosition(attacker), CONST_ME_ICEATTACK) doCreatureAddHealth(attacker, -absorb) doSendAnimatedText(getThingPosition(attacker), absorb, COLOR_TEAL) end if combat == COMBAT_EARTHDAMAGE then absorb = math.floor(value / 2) doSendMagicEffect(getThingPosition(attacker), CONST_ME_GREEN_RINGS) doCreatureAddHealth(attacker, -absorb) doSendAnimatedText(getThingPosition(attacker), absorb, COLOR_LIGHTGREEN) end end return true end end
bump