Ir para conteúdo

Featured Replies

Postado

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
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 por Lyu (veja o histórico de edições)

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

Visitante
Responder

Quem Está Navegando 0

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

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo