Ir para conteúdo

Buff Que Tira O Efeito De Outro Buff!


othereality

Posts Recomendados

Então galera eu vi esse sistem em um OT que já fechou a muito tempo, funciona assim:

 

Uma magia aumenta meu sword fight por 1h em 10 pontos

Enquanto outra aumenta shielding por 1h em 10 pontos

 

porem quando eu uso uma delas o efeito da outra acaba na hora, e vice versa.

 

obs: eu sei como fazer um cooldown compartilhado mas quero poder trocar o efeito a qualquer momento.

agradeço desde já as respostas!

Link para o comentário
Compartilhar em outros sites

@MatheusMkalo

 

Fica assim?

 

 

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)

setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE)

 

local condition = createConditionObject(CONDITION_ATTRIBUTES)

setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, 10)

setConditionParam(condition, CONDITION_PARAM_TICKS, 3600000) -- uma hora

doRemoveCondition(cid, CONDITION_ATTRIBUTES)

setCombatCondition(combat, condition)

 

 

function onCastSpell(cid, var)

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

doCombat(cid, combat, var)

exhaustion.set(cid, 23047, 1)

return true

else

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

end

 

end

 

vai remover todos os atributos que eu tenha de outros buffs?

 

E uma outra coisa tem como eu por tempo ilimitado?

 

vlw pela ajuda =]

Link para o comentário
Compartilhar em outros sites

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE)

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, 10)
setConditionParam(condition, CONDITION_PARAM_TICKS, 3600000) -- uma hora
setCombatCondition(combat, condition)


function onCastSpell(cid, var)
if exhaustion.check(cid, 23047) == FALSE then
doRemoveCondition(cid, CONDITION_ATTRIBUTES)
doCombat(cid, combat, var)
exhaustion.set(cid, 23047, 1)
return true
else
doPlayerSendCancel(cid, "Cooldown[" ..exhaustion.get(cid, 23047).."]")
end

end

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...