local combat = createCombatObject() local xcombat = createCombatObject() setCombatParam(xcombat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(xcombat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(xcombat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1) setCombatParam(xcombat, COMBAT_PARAM_AGGRESSIVE, 0) function onGetFormulaValues(cid, level, maglevel) min = (level * 2 + maglevel * 3) * 1.7 - 30 max = (level * 2 + maglevel * 3) * 2.2 if min < 250 then min = 250 end return min, max end setCombatCallback(xcombat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local arrx = { {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 3, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0} } local areax = createCombatArea(arrx) setCombatArea(xcombat, areax) local function onCastSpell_1(param) doCombat(param.cid, param.combat, param.var) end local function onCastSpell_2(param) --player = getPlayerByName(param.name) pos = param.name --pos.stackpos = 253 --player = getThingfromPos(pos) --mayNotMove(player.uid, 0) unlock(pos) end function onCastSpell(cid, var) --doCombat(cid, combat, var) pos = getPlayerPosition(cid) item = doCreateItem(6707,1,pos) doDecayItem(item) mayNotMove(cid, 1) --name = getPlayerName(cid) name = getPlayerPosition(cid) local param = { cid = cid, var = var, combat = xcombat, name = name} addEvent(onCastSpell_1, 1000, param) addEvent(onCastSpell_1, 2000, param) addEvent(onCastSpell_1, 3000, param) addEvent(onCastSpell_1, 4000, param) addEvent(onCastSpell_1, 5000, param) addEvent(onCastSpell_1, 6000, param) addEvent(onCastSpell_1, 7000, param) addEvent(onCastSpell_1, 8000, param) addEvent(onCastSpell_1, 9000, param) addEvent(onCastSpell_1, 10000, param) addEvent(onCastSpell_2, 10000, param) return doCombat(cid, combat, var) end function unlock(ppos) local x,y x = 1 y = 0 while y == 0 do ppos.stackpos = x player = getThingfromPos(ppos) if isPlayer(player.uid) == 1 then mayNotMove(player.uid, 0) end x = x+1 if x > 8 then y=1 end end end