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

Lua Spell needing help

Guiaki

Member
Joined
Jan 3, 2011
Messages
137
Reaction score
8
Well, I was trying to do a "upgradeable" spell, a fireball which can be upgraded, so I tought.. why not using a storage? you have a npc that will change the storage and the spell check what it is, but actually it didn't work... can someone help me? here is the script:
Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -10, -10, -20, -20, 5, 7, 1.5, 2.0)
local combat2 = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -20, -20, -40, -40, 7, 9, 2.0, 2.5)
local combat3 = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -30, -30, -50, -50, 9, 11, 2.5, 3.0)
local combat4 = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -40, -40, -70, -70, 11, 15, 3.0, 4.0)

function onCastSpell(cid, var)
storage = 6172
local fireball = getPlayerStorageValue(cid,storage)
if fireball == 1 then
	return doCombat(cid, combat, var)
elseif fireball == 2 then
	return doCombat(cid, combat2, var)
elseif fireball == 3 then
	return doCombat(cid, combat3, var)
elseif fireball == 4 then
	return doCombat(cid, combat4, var)
end
end
i am using TFS 0.4 dev 4101 or something like it
 
you didn't register the combatParams and Formula correctly to each combat, this is how it should look like:
Lua:
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -20, -20, -40, -40, 7, 9, 2.0, 2.5)
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -30, -30, -50, -50, 9, 11, 2.5, 3.0)
local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatParam(combat4, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -40, -40, -70, -70, 11, 15, 3.0, 4.0)



kind regards, Evil Hero.
 
Back
Top