Ir para conteúdo

Featured Replies

Postado

boa noite galera do tk

 

tenho um script de dano extra e gostaria e colocalo para atacar de longe pq ele so ataca se tiver colado no player se afastar ele nao ataca mais 

ajudem aee 

 

local burnBuff = {
	storageID = 23000,
	interval = 1, -- intervalo entre turnos
	damage = 5, -- dano de cada turno
	ticks = 5, -- quantidade de turnos
	effect = CONST_ME_HITBYFIRE, -- efeito
}

-- FIRE EFFECT
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, burnBuff.effect)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)

local condition = createConditionObject(CONDITION_FIRE)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, burnBuff.ticks, burnBuff.interval, -burnBuff.damage)
setCombatCondition(combat, condition)

function onAttack(cid, target)
	storageStatus = getPlayerStorageValue (cid, burnBuff.storageID)
	playerPos = getCreaturePosition (cid)
	targetPos = getCreaturePosition (target)

	if storageStatus == 0 then return true end -- FIM - jogador sem o buff
	if getDistanceBetween (playerPos, targetPos) > 1 then return true end -- FIM - jogador longe

	if storageStatus == 1 then -- Efeito Energy
		doCombatAreaCondition(cid, targetPos, nil, condition, burnBuff.effect)
	end

	return true
end

 

 

 

Resolvido por Storm

Ir para solução
Postado
  • Solução

@mullino

if getDistanceBetween (playerPos, targetPos) > 1 then return true end

Está vendo o número 1 ? então , vou ler o código pra você

se a distancia entre dois jogadores (player que usa a spell, target que sofre com a spell) for maior que 1 então retornar verdadeiro e acabar por ai

Onde está o número 1 , coloque o limite de quadrados entre os players para poder a usar a spell

Postado
  • Autor

Cara vc é ?

35 minutos atrás, Sttorm disse:

@mullino


if getDistanceBetween (playerPos, targetPos) > 1 then return true end

Está vendo o número 1 ? então , vou ler o código pra você


se a distancia entre dois jogadores (player que usa a spell, target que sofre com a spell) for maior que 1 então retornar verdadeiro e acabar por ai

Onde está o número 1 , coloque o limite de quadrados entre os players para poder a usar a spell

 

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.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo