local config = {
cooldown = 35, -- tempo entre uma magia e outra
storage = 134813,
effect = 49, --- efeito que vai sair
}
local combat = Combat()
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_HEALING)
combat:setParameter(COMBAT_PARAM_EFFECT, config.effect)
combat:setParameter(COMBAT_PARAM_AGGRESSIVE, 0)
local combat2 = Combat()
combat2:setParameter(COMBAT_PARAM_TYPE, COMBAT_MANADRAIN)
combat2:setParameter(COMBAT_PARAM_EFFECT, config.effect)
combat2:setParameter(COMBAT_PARAM_AGGRESSIVE, 0)
function onGetFormulaValues(player, level, maglevel)
cura = (12*player:getMaxHealth()/100)+(player:getSkillLevel()*6)+(maglevel*12)
return cura, cura
end
combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
function onGetFormulaValues(player, level, maglevel)
cura = (12*player:getMaxMana()/100)+(player:getSkillLevel()*6)+(maglevel*12)
return cura, cura
end
combat2:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
function doCastSpell(combat, cid, variant)
local creature = Creature(cid)
if creature ~= nil then
combat:execute(creature, variant)
end
end
function doCastSpell2(combat2, cid, variant)
local creature = Creature(cid)
if creature ~= nil then
combat2:execute(creature, variant)
end
end
function onCastSpell(creature, variant)
if os.time() - creature:getStorageValue(config.storage) >= config.cooldown then
if creature:getSoul() <= 0 then
creature:sendTextMessage(20,'Desculpe, você não tem Souls suficiente.')
return true
else
creature:addSoul(-1)
creature:setStorageValue(config.storage, os.time()+35)
combat:execute(creature, variant)
combat2:execute(creature, variant)
addEvent(doCastSpell, 0, combat, creature:getId(), variant)
addEvent(doCastSpell, 2000, combat, creature:getId(), variant)
addEvent(doCastSpell, 4000, combat, creature:getId(), variant)
addEvent(doCastSpell, 6000, combat, creature:getId(), variant)
addEvent(doCastSpell, 8000, combat, creature:getId(), variant)
addEvent(doCastSpell, 10000, combat, creature:getId(), variant)
addEvent(doCastSpell, 12000, combat, creature:getId(), variant)
addEvent(doCastSpell, 14000, combat, creature:getId(), variant)
addEvent(doCastSpell, 16000, combat, creature:getId(), variant)
addEvent(doCastSpell, 18000, combat, creature:getId(), variant)
addEvent(doCastSpell, 20000, combat, creature:getId(), variant)
addEvent(doCastSpell, 22000, combat, creature:getId(), variant)
addEvent(doCastSpell, 24000, combat, creature:getId(), variant)
addEvent(doCastSpell, 26000, combat, creature:getId(), variant)
addEvent(doCastSpell, 28000, combat, creature:getId(), variant)
addEvent(doCastSpell, 30000, combat, creature:getId(), variant)
addEvent(doCastSpell2, 0, combat2, creature:getId(), variant)
addEvent(doCastSpell2, 2000, combat2, creature:getId(), variant)
addEvent(doCastSpell2, 4000, combat2, creature:getId(), variant)
addEvent(doCastSpell2, 6000, combat2, creature:getId(), variant)
addEvent(doCastSpell2, 8000, combat2, creature:getId(), variant)
addEvent(doCastSpell2, 10000, combat2, creature:getId(), variant)
addEvent(doCastSpell2, 12000, combat2, creature:getId(), variant)
addEvent(doCastSpell2, 14000, combat2, creature:getId(), variant)
addEvent(doCastSpell2, 16000, combat2, creature:getId(), variant)
addEvent(doCastSpell2, 18000, combat2, creature:getId(), variant)
addEvent(doCastSpell2, 20000, combat2, creature:getId(), variant)
addEvent(doCastSpell2, 22000, combat2, creature:getId(), variant)
addEvent(doCastSpell2, 24000, combat2, creature:getId(), variant)
addEvent(doCastSpell2, 26000, combat2, creature:getId(), variant)
addEvent(doCastSpell2, 28000, combat2, creature:getId(), variant)
addEvent(doCastSpell2, 30000, combat2, creature:getId(), variant)
end
else
creature:sendTextMessage(20, "cooldown "..(config.cooldown - (os.time() - creature:getStorageValue(config.storage))).." seconds.")
end
return true
end
Versão Testada: TFS 1.2