• 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!
  • 2026 staff recruitment is open! Check it out and consider applying!

Lua Spells based on magiclevel, w/casting

Helliot1

Owner of Empire Online
Joined
Jul 26, 2017
Messages
315
Solutions
1
Reaction score
60
Can someone tell me what I'm doing wrong ???

LUA:
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 9)

function onGetFormulaValues(player, level, maglevel)
    local min = (level / 5) + (maglevel * 0.8) + 5
    local max = (level / 5) + (maglevel * 1.2) + 7
    return -min, -max
end

combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local function onCastSpell1(parameters)
doCombat(parameters.cid, parameters.combat1, parameters.var)
end

local function castingTime(cid)
end
local function castingStop(cid)
end
function onCastSpell(cid, var)
    local parameters = { cid = cid, var = var, combat1 = combat1 }
    local casttime = 2000
    local globaltime=(casttime)
   
    if (globaltime <= 0) then
    addEvent(castingStop, (50), cid)
    addEvent(onCastSpell1, (51), parameters)
   
    else
    addEvent(castingTime, 1, cid)
    addEvent(castingStop, (globaltime+50), cid)
    addEvent(onCastSpell1, (globaltime+51), parameters)
   
    end
    return true
end
 
Solution
Can someone tell me what I'm doing wrong ???

LUA:
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 9)

function onGetFormulaValues(player, level, maglevel)
    local min = (level / 5) + (maglevel * 0.8) + 5
    local max = (level / 5) + (maglevel * 1.2) + 7
    return -min, -max
end

combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local function onCastSpell1(parameters)
doCombat(parameters.cid, parameters.combat1, parameters.var)
end

local function castingTime(cid)
end
local function castingStop(cid)
end
function onCastSpell(cid, var)
    local parameters = { cid = cid, var = var, combat1 = combat1 }...
Can someone tell me what I'm doing wrong ???

LUA:
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 9)

function onGetFormulaValues(player, level, maglevel)
    local min = (level / 5) + (maglevel * 0.8) + 5
    local max = (level / 5) + (maglevel * 1.2) + 7
    return -min, -max
end

combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local function onCastSpell1(parameters)
doCombat(parameters.cid, parameters.combat1, parameters.var)
end

local function castingTime(cid)
end
local function castingStop(cid)
end
function onCastSpell(cid, var)
    local parameters = { cid = cid, var = var, combat1 = combat1 }
    local casttime = 2000
    local globaltime=(casttime)
  
    if (globaltime <= 0) then
    addEvent(castingStop, (50), cid)
    addEvent(onCastSpell1, (51), parameters)
  
    else
    addEvent(castingTime, 1, cid)
    addEvent(castingStop, (globaltime+50), cid)
    addEvent(onCastSpell1, (globaltime+51), parameters)
  
    end
    return true
end

Please read the rules; Rules for the Support board
#5

If there is a problem with the formula it's here.

LUA:
function onGetFormulaValues(player, level, maglevel)
    local min = (level / 5) + (maglevel * 0.8) + 5
    local max = (level / 5) + (maglevel * 1.2) + 7
    return -min, -max
end

combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

You can also remove these;
LUA:
local function castingTime(cid)
end
local function castingStop(cid)
end

local casttime = 2000

addEvent(castingTime, 1, cid)
addEvent(castingStop, (50), cid)
 
Solution
Back
Top