my spell does not execute arr2 and arr3
using tfs 1.3
using tfs 1.3
Lua:
local combat1 = Combat()
combat1:setParameter(COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
combat1:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_GIANTICE)
combat1:setFormula(COMBAT_FORMULA_LEVELMAGIC, -4.5, -400, -4.0, -400)
local combat2 = Combat()
combat2:setParameter(COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
combat2:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
combat2:setFormula(COMBAT_FORMULA_LEVELMAGIC, -4.5, -400, -4.0, -400)
local combat3 = Combat()
combat3:setParameter(COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
combat3:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_GIANTICE)
combat3:setFormula(COMBAT_FORMULA_LEVELMAGIC, -4.5, -400, -4.0, -400)
local arr1 = {
{2},
{1}
}
local arr2 = {
{1},
{1},
{1},
{1},
{1},
{3}
}
local arr3 = {
{1},
{1},
{1},
{1},
{1},
{1},
{1},
{3}
}
combat1:setArea(createCombatArea(arr1))
combat2:setArea(createCombatArea(arr2))
combat3:setArea(createCombatArea(arr3))
local function onCastSpell2(param)
if getTilePzInfo(getPlayerPosition(param.cid)) == true or isPlayer(param.cid) == false then -- não continua a magia se o jogador entrar em PZ ou morrer
return false
end
if param.skill == true then -- se no teste anterior ele tinha a skill de upgrade, a magia é melhor
combat:execute(param.cid, param.combat3, param.var)
else
combat:execute(param.cid, param.combat2, param.var)
end
end
function onCastSpell(creature, variant)
local player = Player(creature)
-- if player:getExhaustion(51001) <= 0 then -- testa se o jogador já pode usar a magia novamente (exhausted)
-- player:getPosition():sendMagicEffect(CONST_ME_POFF)
-- player:sendCancelMessage("Você precisa aguardar "..player:getExhaustion(51001).." segundos.")
-- return false
-- end
if player:getMana() < 2400 then -- testa se tem mana pra usar a skill
player:getPosition():sendMagicEffect(CONST_ME_POFF)
player:sendCancelMessage("You do not have enough mana.")
return false
end
player:addMana(-2400, false)
player:addManaSpent(2400)
--player:setExhaustion(51001, 10) -- seta o exhaust
combat1:execute(creature, variant)
-- if player:getStorageValue(30021) == 1 then -- testa se tem a skill de aprimoramento
local param = {cid = cid, var = var, combat2 = combat2, combat3 = combat3, skill = true}
addEvent(onCastSpell2, 500, param)
-- else
-- local param = {cid = cid, var = var, combat2 = combat2, skill = false}
-- addEvent(onCastSpell2, 800, param)
-- end
return true
end