É algo simples de se fazer, é necessário apenas criar 4 váriaveis de combate, 1 para cada vocação.
O script da 'ultimate healing rune' ficaria assim:
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat1, COMBAT_PARAM_AGGRESSIVE, false)
setCombatParam(combat1, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat1, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
setHealingFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 10, 12) --[[Fórmula dos Sorcerers]]
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat2, COMBAT_PARAM_AGGRESSIVE, false)
setCombatParam(combat2, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat2, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
setHealingFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 10, 12) --[[Fórmula dos Druids]]
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat3, COMBAT_PARAM_AGGRESSIVE, false)
setCombatParam(combat3, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat3, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
setHealingFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 10, 12) --[[Fórmula dos Paladins]]
local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat4, COMBAT_PARAM_AGGRESSIVE, false)
setCombatParam(combat4, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat4, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
setHealingFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 10, 12) --[[Fórmula dos Knights]]
function onCastSpell(cid, var)
if isInArray({1, 5}, getPlayerVocation(cid)) then
return doCombat(cid, combat1, var)
elseif isInArray({2, 6}, getPlayerVocation(cid)) then
return doCombat(cid, combat2, var)
elseif isInArray({3, 7}, getPlayerVocation(cid)) then
return doCombat(cid, combat3, var)
elseif isInArray({4, 8}, getPlayerVocation(cid)) then
return doCombat(cid, combat4, var)
end
end
É só modificar as fórmulas a seu gosto
Abraços.