Ir para conteúdo

[Spell] Storage Na Magia


lucasy1995

Posts Recomendados

Bom pessoal, eu tenho uma spell aqui estilo foxworld, com storage e 2 tempos e talz, funciona tudo certinho, mas quando um player lança a magia, ele ganha um storage e tem q esperar 10 segundos até usar novamente, mas o problema eh q nesse meio tempo, se ele morrer, ele nao consegue lancar a magia novamente, pois fica mostrando a mensagem que tem q aguardar 10 segundos pra usar a spell.

ai vai o script da spell

 

local config =

{

seconds = 10,

storage = 471121200,

msg = "Voc\ê precisa aguardar 10 segundos para acumular o esp\írito.",

mana = 2400,

semMana = "Voc\ê n\ão t\êm mana suficiente."

}

 

local function useAgain(cid)

setPlayerStorageValue(cid, config.storage, 2)

return TRUE

end

 

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat1, COMBAT_PARAM_EFFECT, 52)

setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -3.5, -16, -2.9, -100)

 

local combat2 = createCombatObject()

setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat2, COMBAT_PARAM_EFFECT, 43)

setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -3.5, -16, -2.9, -100)

 

arr1 = {

{0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}

arr2 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0},

}

 

local area1 = createCombatArea(arr1)

local area2 = createCombatArea(arr2)

 

setCombatArea(combat1, area1)

setCombatArea(combat2, area2)

 

local function spell(parameters)

doCombat(parameters.cid, parameters.combat2, parameters.var)

end

 

function onCastSpell(cid, var)

if getPlayerStorageValue(cid, config.storage) == 1 then

doPlayerSendCancel(cid, config.msg)

return TRUE

end

if getPlayerStorageValue(cid, config.storage) ~= 1 then

if getPlayerMana(cid) >= config.mana then

doPlayerAddMana(cid, -config.mana)

setPlayerStorageValue(cid, config.storage, 1)

addEvent(useAgain, config.seconds*1000, cid)

local parameters = { cid = cid, var = var, combat2 = combat2 }

addEvent(spell, 500, parameters)

return doCombat(cid, combat1, var)

else

doPlayerSendCancel(cid, config.semMana)

end

end

return TRUE

end

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...