Ir para conteúdo
  • 0

[Ajuda] Avisar Quando Cooldown Da Magia Estiver Pronto.


digomaciel

Pergunta

Esta é a magia:

local outfit = {lookType = 330}

local tempo = 15 * 1000

local cooldown = 30

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_EFFECT, 40)

setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

 

 

local condition = createConditionObject(CONDITION_ATTRIBUTES)

setConditionParam(condition, CONDITION_PARAM_TICKS, tempo)

setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVELPERCENT, 150)

setConditionParam(condition, CONDITION_PARAM_BUFF, true)

setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit)

setCombatCondition(combat, condition)

 

local function cooldownready(parameters)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Cooldown of Magic Disturb is ready.")

end

 

local sys = createConditionObject(CONDITION_OUTFIT)

setConditionParam(sys, CONDITION_PARAM_TICKS, tempo)

addOutfitCondition(sys, outfit)

setCombatCondition(combat, sys)

 

function onCastSpell(cid, var)

addEvent(cooldownready, cooldown*1000, cid)

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

exhaustion.set(cid, 50001, cooldown)

return doCombat(cid, combat, var)

else

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

end

end

 

Oque eu quero é colocar um, doPlayerSendTextMessage(cid, ESSAGE_STATUS_WARNING, "cooldown of [nome da magia] is ready.") quando o cooldown estiver pronto.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

A sua tava quase cof corretamente, só mudei umas coisinhas:

local outfit = {lookType = 330}
local tempo = 15 * 1000
local cooldown = 30

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, 40)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)


local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo)
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVELPERCENT, 150)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit)
setCombatCondition(combat, condition)

function cooldownready(cid)
   doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Cooldown of Magic Disturb is ready.")
end

local sys = createConditionObject(CONDITION_OUTFIT)
setConditionParam(sys, CONDITION_PARAM_TICKS, tempo)
addOutfitCondition(sys, outfit)
setCombatCondition(combat, sys)

function onCastSpell(cid, var)
if exhaustion.check(cid, 50001) == false then
exhaustion.set(cid, 50001, cooldown)
addEvent(cooldownready, cooldown*1000, cid)
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "Cooldown[" ..exhaustion.get(cid, 50001).."]")
end
end

 

obs: nem testei, qualquer erro me fala aqui.

Link para o comentário
Compartilhar em outros sites

  • 0

Muito obrigado, funcionou perfeitamente. Queria também aperfeiçoa o script:

 

doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Cooldown of Magic Disturb is ready")

No lugar do Magic Disturb, colocar um codigo que chama o nome da magia. Tipo nesta linha que chama o tempo de cooldown restante:

 

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

Grato.

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpe não ser claro, oque eu quero é o "código" que chama o nome da skill, como exemplo:

O código que chama o tempo que falta para o cooldown é

" ..exhaustion.get(cid, 50001).."

 

Eu quero esse "código" para usar em outras skills, para não precisar mudar o nome da skill manualmente no

"Cooldown of Magic Disturb is ready"
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...