• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Lua No exhaustion -- manarune

Apoccalypse

New Member
Joined
Apr 15, 2017
Messages
114
Solutions
2
Reaction score
4
I have a problem with my manarune exhaustion and actually of lack of it.
Here is a script:

Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_MANADRAIN)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 12)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)


function onCastSpell(cid, var)
doCombat(cid, combat, var)
maglevel = getPlayerMagLevel(cid)
lvl = getPlayerLevel(cid)
local youv = getPlayerVocation(cid)

if youv == 1 or youv == 2 or youv == 5 or youv == 6 or youv == 9 or youv == 10 then
local minmana = (400+(maglvl*3)+(lvl*2))--- Min of mana can heal
local maxmana = (800+(maglvl*3)+(lvl*2))---- Max of mana can heal
local random = math.random(minmana, maxmana)
doPlayerAddMana(cid, random)
doSendAnimatedText(getPlayerPosition(cid), random, 23)
doSendMagicEffect(getThingPos(cid),28 )
doSendMagicEffect(getThingPos(cid),12 )

end
return true
end

<rune name="Manarune" id="2283" allowfaruse="1" charges="1" lvl="100" maglv="4" exhaustion="1000" aggressive="0" needtarget="1" blocktype="solid" script="New/Manarune.lua"/>

Anyone have idea why other runes have exhaustion and only this one have not?
 
Last edited:
Solution
You can specify vocation ID in spells.xml, make sure the path is correct (value="FILE NAME.lua")

XML:
<rune name="Manarune" id="2283" allowfaruse="1" charges="1" lvl="100" maglv="4" exhaustion="2000" blocktype="solid" event="script" value="mr.lua">
        <vocation id="1"/>
        <vocation id="2"/>
        <vocation id="5"/>
        <vocation id="6"/>
        <vocation id="9"/>
        <vocation id="10"/>
</rune>

Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_MANADRAIN)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 12)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)

function onCastSpell(cid, var)
local maglevel = getPlayerMagLevel(cid)
local lvl = getPlayerLevel(cid)

local...
Code:
local vocations = {1, 2, 5, 6, 9, 10}
local min_mana = 400
local max_mana = 800

function onCastSpell(cid, var)
    if not isInArray(vocations, getPlayerVocation(cid)) then
        return doPlayerSendCancel(cid, "Your vocation cannot use this rune.")
    end

    rand = math.random(min_mana, max_mana)
   
    doPlayerAddMana(cid, rand)
    doSendAnimatedText(getPlayerPosition(cid), rand, 23)
    doSendMagicEffect(getPlayerPosition(cid), 28)
    doSendMagicEffect(getPlayerPosition(cid), 12)
return true
end
 
You can specify vocation ID in spells.xml, make sure the path is correct (value="FILE NAME.lua")

XML:
<rune name="Manarune" id="2283" allowfaruse="1" charges="1" lvl="100" maglv="4" exhaustion="2000" blocktype="solid" event="script" value="mr.lua">
        <vocation id="1"/>
        <vocation id="2"/>
        <vocation id="5"/>
        <vocation id="6"/>
        <vocation id="9"/>
        <vocation id="10"/>
</rune>

Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_MANADRAIN)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 12)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)

function onCastSpell(cid, var)
local maglevel = getPlayerMagLevel(cid)
local lvl = getPlayerLevel(cid)

local minmana = (400 + (maglvl * 3) + (lvl * 2)) -- Min of mana can heal
local maxmana = (800 + (maglvl * 3) + (lvl * 2)) -- Max of mana can heal
local randomX = math.random(minmana, maxmana)

doPlayerAddMana(cid, randomX)
doSendAnimatedText(getPlayerPosition(cid), randomX, 23)
doSendMagicEffect(getThingPos(cid), 28)
doSendMagicEffect(getThingPos(cid), 12)

return doCombat(cid, combat, var)
end
 
Solution
Back
Top