Troca sua sd por essa:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH)
function onGetFormulaValues(cid, level, maglevel)
local levelTotal = level
local min = levelTotal + (maglevel * 4.3) + 32
local max = levelTotal + (maglevel * 7.4) + 48
return -min, -max
end
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end
Assim você pode fazer o calculo de forma mais simples.
Ali na o minimo e maximo e level e ml,
Por exemplo,
Você falou em: ml 100/ lvl 60 = 300 dano
min = levelTotal + (maglevel * 2.4)
Level (60) + maglevel (100*2.4=240) = 300
E na linha de baixo é o máximo, ai o dano vai variar entre o que colocar no min e no max.