No script da SUPER SD tem uma linha com esse comando: addDamageCondition
Os argumentos dele são esses: condition, rounds, time, value
Ou seja:
addDamageCondition(condition, rounds, time, value)
Almente somente o value (valor, ultimo argumento) para um número menor, que vai tirar mais do player.
Ex.:
Original: addDamageCondition(condition, 5, 2000, -25)
Modificado: addDamageCondition(condition, 5, 2000, -200)
O modificado vai tirar mais do que o original.
Script vai ficar assim:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1.3, -30, -1.7, 0)
function onCastSpell(cid, var)
local condition = createConditionObject(CONDITION_CURSED)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 5, 2000, -100)
setCombatCondition(combat, condition)
return doCombat(cid, combat, var)
end
function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end
~~~~~~~~~~~~~~~~~~~~~~
Agora no script da SUPER UH...
Há um erro, ele não tem o END no final!
Nele tem uma função que retorna o mínimo e o máximo de recuperação:
function onGetFormulaValues(cid, level, maglevel)
min = (level * 2 + maglevel * 3) * 2.3 - 25
max = (level * 2 + maglevel * 3) * 2.6
if min < 1500 then
min = 1500
end
return min, max
end
min é mínimo de recuperação.
max é máximo de recuperação.
No mínimo, ele pega o level, multiplica por 2, soma com o ml multiplicado por 3, pega o valor, multiplica por 2,3 e diminue 25, dando o valor do mínimo. A mesma coisa acontece com o máximo, mas com uma outra fórmula.
A partir desses valores do min e max, ele vai pegar um número randômico entre eles.
Vou modificar ele um pouco para você:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
--setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 1.3, -30, 1.7, 0)
function onGetFormulaValues(cid, level, maglevel)
min = (level * 2.1 + maglevel * 3.1) * 2.5 - 25
max = (level * 2.1 + maglevel * 3.1) * 3
if min < 1500 then
min = 1500
end
return min, max
end
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end
Lembre-se de colocar o END no final (obs: eu já coloquei no de cima).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;D