Ir para conteúdo

Featured Replies

Postado

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)

Resolvido por llucas75

Ir para solução
  • Respostas 5
  • Visualizações 910
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • A então deixa exausted em 1500 e substitua sua magia por essa V     Obs: tinha um errinho lá no meio, pega e copia e coal denovo se estiver olhando agora isso...

Postado

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!

Postado
  • Autor

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

Postado
  • 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!

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo