Postado Dezembro 7, 2018 6 anos Fala galera do TibiaKing, estou tendo um problema com a função "function onAttack(cid, target" O que ocorre, é que se eu fizer um script como essse abaixo: function onAttack(cid, target) if getPlayerStorageValue(cid, 13540) >= 1 then doSendMagicEffect(cid, 40) end return true end O script irá agir com MUITA velocidade, ele não tem um intervalo de ativação, não é como se o script ativasse só quando atacasse, ele simplesmente ativa ao atacar e durante o intervalo do primeiro ataque e do segundo ataque, ele faz o script umas 30x. A attackspeed está entre 200 e 250, então mesmo se isso fosse influenciar, o time delay seria de no máximo 4x por segundo. Se alguém puder me ajudar agradeço
Postado Dezembro 7, 2018 6 anos 13 minutos atrás, Joaovettor disse: Fala galera do TibiaKing, estou tendo um problema com a função "function onAttack(cid, target" O que ocorre, é que se eu fizer um script como essse abaixo: function onAttack(cid, target) if getPlayerStorageValue(cid, 13540) >= 1 then doSendMagicEffect(cid, 40) end return true end O script irá agir com MUITA velocidade, ele não tem um intervalo de ativação, não é como se o script ativasse só quando atacasse, ele simplesmente ativa ao atacar e durante o intervalo do primeiro ataque e do segundo ataque, ele faz o script umas 30x. A attackspeed está entre 200 e 250, então mesmo se isso fosse influenciar, o time delay seria de no máximo 4x por segundo. Se alguém puder me ajudar agradeço esse evento não é o ideal para essa situação, utilize statschange que o seu problema será resolvido. na sua lógica, quem está atacando receberia um efeito em si mesmo, certo? então faremos : function onStatsChange(cid, attacker, type, combat, value) if combat == COMBAT_HEALING then return true end if getPlayerStorageValue(attacker, 13540) >= 1 then doSendMagicEffect(attacker, 40) end return true end O script será executado quando cid (alvo) receber dano. Abraços. Editado Dezembro 7, 2018 6 anos por Lyu (veja o histórico de edições)
Postado Dezembro 7, 2018 6 anos Autor Agora, Lyu disse: este evento não é o ideal para essa situação, utilize statschange que o seu problema será resolvido. na sua lógica, quem está atacando receberia um efeito em si mesmo, certo? então faremos : function onStatsChange(cid, attacker, type, combat, value) if combat == COMBAT_HEALING then return true end if getPlayerStorageValue(attacker, 13540) >= 1 then doSendMagicEffect(attacker, 40) end return true end Abraços. É quase isso mano, o que eu quero na Real, é como se eu estivesse usando uma 2° arma, e o statschange costuma substituir o Damage das spells e das armas, e eu quero que seja apenas em armas, por isso estava utilizando a função "function onAttack" OBS: O script que usei no post foi apenas um exemplo.
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.