Ir para conteúdo
  • Cadastre-se

(Resolvido)ajuda cooldown em spell com multiplos hits


Ir para solução Resolvido por llucas75,

Posts Recomendados

estou tentando criar um otserv com spell para combar, mas não estou conseguindo adicionar cooldown em spells que dá mais que 1 hit

segue a spell :

 

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)

setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)

setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)

setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)

local combat2 = createCombatObject()

setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)

setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)


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


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




function onCastSpell(cid, var)
if exhaustion.check(cid, 23006) == false then
        exhaustion.set(cid, 23006, 1)
    return doCombat(cid, combat1, var)
else
        doPlayerSendCancel(cid, "Cooldown[" ..exhaustion.get(cid, 23006).."]")
        end

local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2 }
addEvent(onCastSpell1, 200, parameters)
addEvent(onCastSpell2, 600, parameters)
return true
end

 

 

alguém poderia me ajudar ? :s

Editado por Mauricio Marcari (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Em speels.xml vá ate a magia e em exaustion coloca o tempo que vc quiser em milésimos... lembrando 1s=1000milésimos.. se quiser cooldown de 10 s será = 10000.

 

Att:lucas

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

mas isso iria editar o exausted da magia em si... onde se eu mudar pra 10000, só vou poder usar qlqr outra magia de atk dentro de 10 segundos...
e oq eu quero, é q mude somente o cooldown para aquela spell... onde eu só possa usar ele dentro de 10 segundos novamente, mas posso usar outras magias de ataque 1,5 segundo após usar essa ;s

Link para o post
Compartilhar em outros sites
  • Solução

A então deixa exausted em 1500 e substitua sua magia por essa V

 

local combat1 = createCombatObject()



setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)

setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)

setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)

setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)

local combat2 = createCombatObject()

setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)

setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)


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


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


local tempo = 10
local stor = 23232


function onCastSpell(cid, var)

if exhaustion.check(cid, 23006) == false and (getPlayerStorageValue(cid, stor) - os.time() <= 0) then
setPlayerStorageValue(cid, stor, os.time() + tempo)
exhaustion.set(cid, 23006, 1)

return doCombat(cid, combat1, var)
else
doPlayerSendCancel(cid, "Cooldown[" ..exhaustion.get(cid, 23006).."]")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Vc só pode usar essa magia 1 vez a cada 10 segundos.")
end

local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2 }
addEvent(onCastSpell1, 200, parameters)
addEvent(onCastSpell2, 600, parameters)
return true
end

 

Obs: tinha um errinho lá no meio, pega e copia e coal denovo se estiver olhando agora isso...

Editado por llucas75 (veja o histórico de edições)

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

Marque melhor resposta para que tópico seja considerado resolvido ... :)

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo