Ir para conteúdo

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
https://xtibia.com/forum/topic/180506-buff-que-tira-o-efeito-de-outro-buff/
Compartilhar em outros sites

Voce ta usando conditions certo? ..

 

doRemoveCondition(cid, CONDITION_ATTRIBUTES)

 

É um dos varios jeitos de fazer, o mais facil na minha opniao.

Link para o comentário
https://xtibia.com/forum/topic/180506-buff-que-tira-o-efeito-de-outro-buff/#findComment-1198939
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
https://xtibia.com/forum/topic/180506-buff-que-tira-o-efeito-de-outro-buff/#findComment-1198966
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
https://xtibia.com/forum/topic/180506-buff-que-tira-o-efeito-de-outro-buff/#findComment-1199164
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

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