• 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!

Solved Exura script not working properly.

Demnish

Tibian Hero
Joined
Sep 28, 2011
Messages
401
Solutions
2
Reaction score
63
Location
Sweden
I've made all the healing script work as the old UH did but it is not working properly, the min value is still below the set one in the script.

Here it is:
Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

function onGetFormulaValues(cid, level, maglevel)
    min = (level * 1 + maglevel * 4) * 0.2
    max = (level * 1 + maglevel * 4) * 0.5
    if min < 10 then
        min = 10
    end
    return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
end

min = 10 does not work, at lvl 9 I get only 8 hp from it, when I should get 10 as the bare minimum. (No errors in console either)

It is a copy of this script:
Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, TRUE)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

function onGetFormulaValues(cid, level, maglevel)
    min = (level * 1 + maglevel * 4) * 2.0
    max = (level * 1 + maglevel * 4) * 2.5
    if min < 250 then
        min = 250
    end
    return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
end

Except that I removed this line:
Code:
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, TRUE)

Any ideas?

Thanks in advance.
/Zeeb


SOLVED

Here is the script:
Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

function onGetFormulaValues(cid, level, maglevel)
min = (level * 1 + maglevel * 4) * 0.2
max = (level * 1 + maglevel * 4) * 0.5
    if min < 10 then
        min = 10
        max = 10
        end
    return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
end
 
Last edited:
@Demnish try this.
Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

function onGetFormulaValues(cid, level, maglevel)
min = (level * 1 + maglevel * 4) * 0.2
max = (level * 1 + maglevel * 4) * 0.5
    if min < 10 then
        min = 10
        max = 10
        end
    return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
end
 
It works, but will you care to explain "how" since the max value should make a higher lvled character only get 10 hp aswell, but this actually works as it should, while the UH script only has min value?
rep+ for solving it, thanks. :)
 
It works, but will you care to explain "how" since the max value should make a higher lvled character only get 10 hp aswell, but this actually works as it should, while the UH script only has min value?
rep+ for solving it, thanks. :)
the max is inside the if min < 10, so it heals 10 when the minimum is below 10.. if its higher then the formula applies
 
Back
Top