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

wand hit per level

jel

Member
Joined
Mar 22, 2014
Messages
302
Reaction score
12
Give as much information as possible(TFS version, OS, errors, scripts).
Someone help me to put this wand script, I want to damage based on level

tfs 1.3

thanks
Lua:
local DamageTypes = {
    [1] = {DamageType = COMBAT_HOLYDAMAGE, DamageEffect = CONST_ANI_HOLY},
    [2] = {DamageType = COMBAT_FIREDAMAGE, DamageEffect = CONST_ANI_FIRE},
    [3] = {DamageType = COMBAT_DEATHDAMAGE, DamageEffect = CONST_ANI_DEATH},
    [4] = {DamageType = COMBAT_POISONDAMAGE, DamageEffect = CONST_ANI_POISON},
    [5] = {DamageType = COMBAT_ENERGYDAMAGE, DamageEffect = CONST_ANI_ENERGY},
    [6] = {DamageType = COMBAT_EARTHDAMAGE, DamageEffect = CONST_ANI_EARTH},
    [7] = {DamageType = COMBAT_ICEDAMAGE, DamageEffect = CONST_ANI_ICE}
}

function onGetFormulaValues(player, level, maglevel)
    if DamageTypeWand.values == true then
        min = -(DamageTypeWand.wandMinDam)
        max = -(DamageTypeWand.wandMaxDam)
    else
        min = DamageTypeWand.formula.wandMinDam(level, maglevel)
        max = DamageTypeWand.formula.wandMaxDam(level, maglevel)
    end
    return min, max
end

local combat = {}
for k, dam_Table in pairs(DamageTypes) do
    combat[k] = Combat()
    combat[k]:setParameter(COMBAT_PARAM_BLOCKARMOR, 1)
    combat[k]:setParameter(COMBAT_PARAM_BLOCKSHIELD, 1)
    combat[k]:setParameter(COMBAT_PARAM_TYPE, dam_Table.DamageType)
    combat[k]:setParameter(COMBAT_PARAM_DISTANCEEFFECT, dam_Table.DamageEffect) 
  
    -- _G Is used to manually define 'onGetFormulaValues' in this loop in doesnt seem to be able to find the function.
    _G['onGetFormulaValues' .. k] = onGetFormulaValues
    combat[k]:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues" .. k)
end

function onUseWeapon(player, var)
    local value = player:getStorageValue(10009)
    local combatUse = combat[value]
    if not combatUse then
        return true
    end
    return combatUse:execute(player, var)
end
 
Last edited:
TFS version? Read Support board rules before posting a thread.
 
TFS version? Read Support board rules before posting a thread.
edited sorry
 
idk how this scripts work, like what does this refer to ?
Code:
    if DamageTypeWand.values == true then
the question is where is local DamageTypeWand? or config for it, anyway just do something like this
Code:
min = -(level * 5) -- if player is level 10 minimum will be 50
max = -(level * 7) -- if player is level 10 maximum will be 70
 
Back
Top