Ir para conteúdo

Cooldown Para Spells


Posts Recomendados

Assim vai:

 

function onCastSpell(cid, var)

if exhaustion.check(cid, 23006) == FALSE then
local parameters = { cid = cid, var = var}
addEvent(onCastSpell1, 1000, parameters)
addEvent(onCastSpell2, 3000, parameters)
addEvent(onCastSpell3, 5000, parameters)
addEvent(onCastSpell4, 7000, parameters)
addEvent(onCastSpell5, 9000, parameters)
exhaustion.set(cid, 23006, 12)
return TRUE
else
doPlayerSendCancel(cid, "Cooldown[" ..exhaustion.get(cid, 23006).."]")
end

end

 

OBS: Foda-se rep.

Link para o comentário
Compartilhar em outros sites

AEEEE!!

sai pulando e gritando pela rua de pantufa o/

funcionou pode cre..

Brigadão :thumbsupsmiley:

 

 

@ OBS: Foda-se rep.

hehehe euri

 

Eu seu que você não esta me ajudando para ganhar rep,

mas eu me sinto tendo que retribuir..

e é o melhor que eu posso fazer, dar rep.

 

mesmo que o sistema de rep seja meio, mal planejado..

as vezes umas pessoas ganham rep por nada e outras se matam ajudando alguem (como vc fez me respondendo 300x)

pra não ganhar rep..

 

mas é isso. acho que é o unico modo de agradecer =P

 

vlw mesmo Demonb.

=D

Editado por OtheReality
Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...

o Problema estav no return true no final do script.

uma pergunta se eu uso divine caldera ganha 1 storage eu entro em exausted só pra ela ou pra todas? (ja que é 1 storage só)

Link para o comentário
Compartilhar em outros sites

  • 1 year later...
  • 2 weeks later...

amigo da pra da uma maozinha nao consegui coloca nesa magia

 

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)

setCombatParam(combat1, COMBAT_PARAM_EFFECT, 52)

setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -17.0, -190, -17.5, -200)

 

local combat2 = createCombatObject()

setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)

setCombatParam(combat2, COMBAT_PARAM_EFFECT, 52)

setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -17.0, -190, -17.5, -200)

 

arr1 = {

{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, 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},

}

 

arr2 = {

{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},

{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},

}

 

local area1 = createCombatArea(arr1)

local area2 = createCombatArea(arr2)

setCombatArea(combat1, area1)

setCombatArea(combat2, area2)

 

local function onCastSpell2(parameters)

doCombat(parameters.combat2, parameters.var)

end

 

local function onCastSpell3(parameters)

doCombat(parameters.combat3, parameters.var)

end

 

function onCastSpell(cid, var)

if exhaustion.check(cid, 23006) == false then

exhaustion.set(cid, 23006, 10)

return doCombat(cid, combat, var)

else

doPlayerSendCancel(cid, "Cooldown[" ..exhaustion.get(cid, 23006).."]")

end

end

Link para o comentário
Compartilhar em outros sites

Tem um problema sério em fazer assim, storages tem limite de caracteres, se não me engano é 255 caracteres.

Mas usar um para cada spell também é ruim pois pesa a database

o ideal mesmo seria que as spells tivessem ids, ai poderia usar numeros, que seriam bem mais leves de se gravar

ou entao deixa assim e aumenta o limite de caracteres das storages

Link para o comentário
Compartilhar em outros sites

Tem um problema sério em fazer assim, storages tem limite de caracteres, se não me engano é 255 caracteres.

Mas usar um para cada spell também é ruim pois pesa a database

o ideal mesmo seria que as spells tivessem ids, ai poderia usar numeros, que seriam bem mais leves de se gravar

ou entao deixa assim e aumenta o limite de caracteres das storages

 

sim... não esquece que eu postei isso em junho de 2011

Link para o comentário
Compartilhar em outros sites

  • 4 weeks later...
  • 1 month later...

ae desculpa reviver é pq eu estou com 1 script de uma magia de 5 efeitos,
eu queria que o player usasse ela em 3 em 3 minutos e tinha que possuir uma bota equipada!.

se puder na parte da bota eu esqueci o id, coloca xxx.

a spell é esta

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_MORTDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 5)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -6.0, -100, -3.0, -250)

local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_MORTDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 5)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -1.0, -500, -1.3, -680)

local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_MORTDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 5)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -1.0, -500, -1.3, -680)

local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_MORTDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, 5)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -1.0, -500, -1.3, -680)

local combat5 = createCombatObject()
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_MORTDAMAGE)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, 5)
setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -1.0, -500, -1.3, -680)

arr1 = {
{1, 1, 1, 1, 1},
{1, 0, 0, 0, 1},
{1, 0, 2, 0, 1},
{1, 0, 0, 0, 1},
{1, 1, 1, 1, 1}
}




arr2 = {
{1, 1, 1, 1, 1},
{1, 0, 0, 0, 1},
{1, 0, 2, 0, 1},
{1, 0, 0, 0, 1},
{1, 1, 1, 1, 1}
}




arr3 = {
{1, 1, 1, 1, 1},
{1, 0, 0, 0, 1},
{1, 0, 2, 0, 1},
{1, 0, 0, 0, 1},
{1, 1, 1, 1, 1}
}




arr4 = {
{1, 1, 1, 1, 1},
{1, 0, 0, 0, 1},
{1, 0, 2, 0, 1},
{1, 0, 0, 0, 1},
{1, 1, 1, 1, 1}
}




arr5 = {
{1, 1, 1, 1, 1},
{1, 0, 0, 0, 1},
{1, 0, 2, 0, 1},
{1, 0, 0, 0, 1},
{1, 1, 1, 1, 1}
}




local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)
local area3 = createCombatArea(arr3)
local area4 = createCombatArea(arr4)
local area5 = createCombatArea(arr5)
setCombatArea(combat1, area1)
setCombatArea(combat2, area2)
setCombatArea(combat3, area3)
setCombatArea(combat4, area4)
setCombatArea(combat5, area5)

local function onCastSpell1(parameters)
doCombat(parameters.cid, combat1, parameters.var)
end

local function onCastSpell2(parameters)
doCombat(parameters.cid, combat2, parameters.var)
end

local function onCastSpell3(parameters)
doCombat(parameters.cid, combat3, parameters.var)
end

local function onCastSpell4(parameters)
doCombat(parameters.cid, combat4, parameters.var)
end

local function onCastSpell5(parameters)
doCombat(parameters.cid, combat5, parameters.var)
end

function onCastSpell(cid, var)
local parameters = { cid = cid, var = var}
addEvent(onCastSpell1, 100, parameters)
addEvent(onCastSpell2, 400, parameters)
addEvent(onCastSpell3, 700, parameters)
addEvent(onCastSpell4, 900, parameters)
addEvent(onCastSpell5, 1200, parameters)

return TRUE
end

 

 

 

 

OBS: já tentei colocar nesta linha da tag (exaustion="xxx") coloquei 30000 e quando lança a spell o player n consegui mais usar a runa até o tempo passar.


Responde rapido porfavor, estrou a procura dessa formula a 1 mes!!


consegui ja xD minha duvida sanada


Manow teria como colocar Cooldown em Runas?

minha runa é a Ultimate Healing Rune


Responde pls!!

Editado por markindoot
Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

Revivendo porque n achei outro tópico melhor..

 

Cara, eu to com quase o mesmo o problema..

deu certo, só que agr o player fica com uns 3000segundos de exaust na spell.. como arrumar?

 

function onCastSpell(cid, var)

if exhaustion.check(cid, 23006) == FALSE then
local parameters = { cid = cid, var = var}
addEvent(onCastSpell1, 1000, parameters)
addEvent(onCastSpell2, 3000, parameters)
addEvent(onCastSpell3, 5000, parameters)
addEvent(onCastSpell4, 7000, parameters)
addEvent(onCastSpell5, 9000, parameters)
exhaustion.set(cid, 23006, 12)
return TRUE
else
doPlayerSendCancel(cid, "Cooldown[" ..exhaustion.get(cid, 23006).."]")
end

end

Link para o comentário
Compartilhar em outros sites

joisman muda a storage que ta ai deve tar igual de outra spell sei la e abaixa o tempo ex:

function onCastSpell(cid, var)

 

if exhaustion.check(cid, 23006) == FALSE then

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

addEvent(onCastSpell1, 1000, parameters) <~ esse tempo entre as spells 1 hita dps do tempo hita dnv... no meu la emcima coloquei em 300~300

addEvent(onCastSpell2, 3000, parameters)

addEvent(onCastSpell3, 5000, parameters)

addEvent(onCastSpell4, 7000, parameters)

addEvent(onCastSpell5, 9000, parameters)

exhaustion.set(cid, 23006, 1) <~ aqui é o tempo para o player lançar dnv, no seu voce pois 12, 12segundos

return TRUE

else

doPlayerSendCancel(cid, "Cooldown[" ..exhaustion.get(cid, 23006).."]")

end

 

end

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...