What kind of formula do you want to use? Depending on level and magic level or static number?
function onUse(cid, item, frompos, item2, topos)
mag = getPlayerMagLevel(cid)
if isPladadin(cid) == TRUE then
doSendMagicEffect(topos,1)
doCreatureSay(cid,"Donated Manarune!!",19)
doPlayerAddMana(cid, 10000)
else
doSendMagicEffect(frompos,2)
doPlayerSendCancel(cid,"You don't have the required vocation to use that rune.")
end
return TRUE
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
if isPlayer(itemEx.uid) == TRUE and isPaladin(cid) == TRUE then
doSendMagicEffect(toPosition, CONST_ME_MAGIC_GREEN)
doPlayerAddMana(itemEx.uid, 1000)
doPlayerAddHealth(itemEx.uid, 1000)
else
doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
doPlayerSendCancel(cid, isPlayer(itemEx.uid) == TRUE and "You don't have the required magic level to use that rune." or "You can only use this rune on players.")
end
return TRUE
end
as an action script or spell script?
Is in spell.xml right?it should work
<rune name="Manarune" id="2294" aggressive="0" charges="100" needtarget="1" maglv="1" exhaustion="2000" enabled="1" allowfaruse="1" script="custom/manarune.lua"></rune>
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
function onCastSpell(cid, var)
local pos = getPlayerPosition(cid)
local mana_minimum = 500
local mana_maximum = 1000
-- Mana Formula Settings END --
local mana_add = math.random(mana_minimum, mana_maximum)
doPlayerAddMana(cid, mana_add)
return doCombat(cid, combat, var)
end
<item id="2294" article="a" name="Manarune">
<attribute key="weight" value="120"/>
<attribute key="charges" value="5"/>
</item>
local combat_health = createCombatObject()
setCombatParam(combat_health, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat_health, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat_health, COMBAT_PARAM_AGGRESSIVE, false)
setCombatParam(combat_health, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat_health, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
setHealingFormula(combat_health, COMBAT_FORMULA_LEVELMAGIC, 0, 500, 0, 1000)
local combat_mana = createCombatObject()
setCombatParam(combat_mana, COMBAT_PARAM_TYPE, COMBAT_MANADRAIN)
setCombatParam(combat_mana, COMBAT_PARAM_AGGRESSIVE, false)
setCombatParam(combat_mana, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat_mana, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
setHealingFormula(combat_mana, COMBAT_FORMULA_LEVELMAGIC, 0, 500, 0, 1000)
function onCastSpell(cid, var)
doCombat(cid, combat_health, var)
doCombat(cid, combat_mana, var)
return TRUE
end
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
function onCastSpell(cid, var)
doPlayerAddMana(cid, 500)
return doCombat(cid, combat, var)
end
<rune name="Mana Rune" id="2300" allowfaruse="1" charges="5" lvl="8" exhaustion="899" maglv="5" aggressive="0" needtarget="1" blocktype="solid" script="manarune.lua"/>