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

healing by stages, public

Roddet

Staff member
Global Moderator
Joined
May 1, 2013
Messages
947
Solutions
103
Reaction score
766
Location
Mex
Hi OTlanders, my field is not spells, so i decided to ask for some help ^_^

Idea: Is change healing formulas by stages, like level 150 X formula, level 250 X formula.

For what vocation? That don't matter.


I found this for a script base.

Lua:
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)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)

setCombatCallback(combat1, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

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)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)

setCombatCallback(combat2, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

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)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)

setCombatCallback(combat3, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)
        if isInArray({1, 5, 2, 6, 9, 10}, getPlayerVocation(cid)) then
                return doCombat(cid, combat1, var)
        elseif isInArray({3, 7, 11}, getPlayerVocation(cid)) then
                return doCombat(cid, combat2, var)
        elseif isInArray({4, 8, 12}, getPlayerVocation(cid)) then
                return doCombat(cid, combat3, var)
        end
end


REP+ !!
 
Hmm IDK that i understood you well.
* If player lvl is lower than 150 then return combat1
* if player lvl is bigger than 150 and lower then 250 then return combat2
* if player lvl is bigger then 250 return combat3

PHP:
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)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)
 
setCombatCallback(combat1, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
 
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)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)
 
setCombatCallback(combat2, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
 
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)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)
 
setCombatCallback(combat3, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
 
function onCastSpell(cid, var)
		if getPlayerLevel(cid) < 150 then
			 return doCombat(cid, combat1, var)
        elseif getPlayerLevel(cid) >= 150 and getPlayerLevel(cid) < 250 then
			 return doCombat(cid, combat2, var)
		elseif getPlayerLevel(cid) >= 250 then
			 return doCombat(cid, combat3, var)
		else
			return FALSE
		end
	return TRUE
end
Not tested!
 
I had to edit some things that did not work, but it's working now, thanks anyway. +REP
 
Back
Top Bottom