demon088
#088 in the Horde
Hello Otland!
I have this weapon actually working, but I want to make it different. Take a look on this code:
Ok, I want to change this line:
... to something like this:
I'm using tfs 1.2. I want this is because I'm using attack and defense in my wands and rods and I need this script to work with attack (from weapon), magic lvl and level from player. I've been trying this for hours and I can't build this kind of script... I'd be thankful if someone can help with this mess. Thanks for your time!
I have this weapon actually working, but I want to make it different. Take a look on this code:
Code:
-- Wand/Rod Multi-Elements. -- by leyendario.
local config = {
min1 = 0.5,
min2 = 1,
max1 = 1,
max2 = 1
}
local fisico = createCombatObject() -- 1
setCombatParam(fisico, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(fisico, COMBAT_PARAM_EFFECT, 5)
setCombatParam(fisico, COMBAT_PARAM_DISTANCEEFFECT, 27)
setCombatFormula(fisico, COMBAT_FORMULA_LEVELMAGIC, -config.min1, -config.min2, -config.max1, -config.max2)
local energy = createCombatObject() -- 2
setCombatParam(energy, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(energy, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT)
setCombatParam(energy, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGYBALL)
setCombatFormula(energy, COMBAT_FORMULA_LEVELMAGIC, -config.min1, -config.min2, -config.max1, -config.max2)
local tierra = createCombatObject() -- 3
setCombatParam(tierra, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatParam(tierra, COMBAT_PARAM_EFFECT, 46)
setCombatParam(tierra, COMBAT_PARAM_DISTANCEEFFECT, 30)
setCombatFormula(tierra, COMBAT_FORMULA_LEVELMAGIC, -config.min1, -config.min2, -config.max1, -config.max2)
local fuego = createCombatObject() -- 4
setCombatParam(fuego, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(fuego, COMBAT_PARAM_EFFECT, 6)
setCombatParam(fuego, COMBAT_PARAM_DISTANCEEFFECT, 4)
setCombatFormula(fuego, COMBAT_FORMULA_LEVELMAGIC, -config.min1, -config.min2, -config.max1, -config.max2)
local hielo = createCombatObject() -- 5
setCombatParam(hielo, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(hielo, COMBAT_PARAM_EFFECT, 43)
setCombatParam(hielo, COMBAT_PARAM_DISTANCEEFFECT, 29)
setCombatFormula(hielo, COMBAT_FORMULA_LEVELMAGIC, -config.min1, -config.min2, -config.max1, -config.max2)
local holy = createCombatObject() -- 6
setCombatParam(holy, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(holy, COMBAT_PARAM_EFFECT, 40)
setCombatParam(holy, COMBAT_PARAM_DISTANCEEFFECT, 38)
setCombatFormula(holy, COMBAT_FORMULA_LEVELMAGIC, -config.min1, -config.min2, -config.max1, -config.max2)
local death = createCombatObject() -- 7
setCombatParam(death, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(death, COMBAT_PARAM_EFFECT, 39)
setCombatParam(death, COMBAT_PARAM_DISTANCEEFFECT, 11)
setCombatFormula(death, COMBAT_FORMULA_LEVELMAGIC, -config.min1, -config.min2, -config.max1, -config.max2)
local storage = 6999
function onUseWeapon(cid, var)
local valor = getPlayerStorageValue(cid, storage)
doCombat(cid, valor == 2 and energy or valor == 3 and tierra or valor == 4 and fuego or valor == 5 and hielo or valor == 6 and holy or valor == 7 and death or fisico, var)
return true
end
Code:
setCombatFormula(death, COMBAT_FORMULA_LEVELMAGIC, -config.min1, -config.min2, -config.max1, -config.max2)
Code:
function onGetFormulaValues(player, level, maglevel, attack, factor)
local min = (attack + 53) + (maglevel + 32)
local max = (attack + 57) + (maglevel + 37)
return -min, -max
end
combat:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")