Ir para conteúdo

Featured Replies

Postado
17 horas atrás, WooX disse:
  1. Certifique-se de que possui a função instalada na source.
  2. Ao realizar o teste, deixe uma arma no char que deve perder o target para ter certeza de que o ataque foi interrompido.
  3. Dependendo do client que estiver utilizando a marca do target não vai ser removida, essa parte é client-side.

lqJ8oC1.gif

Bom dia, consegue adaptar para ao invés de cancelar o target, dar um nomove de 5 segundos e depois remover o nomove ao acabar?

  • Respostas 20
  • Visualizações 6.2k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Fiz essa spell a pedido de um usuário do fórum e logo depois outro usuário pediu uma versão onde o target do player afetado pela magia ficasse bloqueado por um tempo configurável, gostei da ideia e de

  • Não é necessário, da pra fazer utilizando o callback onTargetCreature.     Fiz com base na spell "exevo gran mas vis" do Tibia, os parâmetros da spell podem ser alterados. --[[

  • A spell está configurada pra não afetar aliados (jogadores na mesma party ou da mesma guild), e também ira apenas remover o target, para realizar o bloqueio do target ainda é necessário utilizar em co

Postado
Em 03/09/2020 em 17:50, BangxD disse:

Testei aqui e nao funcionou tambem nao.

A spell está configurada pra não afetar aliados (jogadores na mesma party ou da mesma guild), e também ira apenas remover o target, para realizar o bloqueio do target ainda é necessário utilizar em conjunto a spell o creaturescript postado pelo @Lurk, eu testei a spell novamente e está funcional.

 

Em 04/09/2020 em 10:13, .HuRRiKaNe disse:

Bom dia, consegue adaptar para ao invés de cancelar o target, dar um nomove de 5 segundos e depois remover o nomove ao acabar?

Spoiler

--[[
	<instant name="Paralyze Target" words="gtfo" lvl="55" mana="650" selftarget="1" prem="0" exhaustion="1800" needlearn="0" event="script" value="support/paralyze_target.lua">
		<vocation id="1"/>
		<vocation id="5"/>
	</instant>
]]

local config = {
	paralyzeTime = 5, -- Segundos
	affectAllies = false,
	affectTargetCasterOnly = false -- Se marcado como true ira paralyzar somente quem estiver atacando o usuario da spell
}

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_BIGCLOUDS)
setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 8, 5, 7, 11)

function onTargetCreature(cid, target)
	if config.affectTargetCasterOnly and getCreatureTarget(target) ~= cid then
		return false
	end
	if not config.affectAllies then
		local partyMembers = getPartyMembers(cid)
		if getPlayerGuildId(cid) == getPlayerGuildId(target) or isInArray(partyMembers, target) then
			return false
		end
	end
	doCreatureSetNoMove(target, true)
	addEvent(function()
		if isPlayer(target) then
			doCreatureSetNoMove(target, false)
		end
	end, config.paralyzeTime * 1000)
	return true
end

setCombatCallback(combat, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature")

local area = createCombatArea(AREA_CROSS6X6)
setCombatArea(combat, area)

function onCastSpell(cid, var)
	return doCombat(cid, combat, var)
end

 

 

Editado por WooX (veja o histórico de edições)

Postado
1 hora atrás, WooX disse:

A spell está configurada pra não afetar aliados (jogadores na mesma party ou da mesma guild), e também ira apenas remover o target, para realizar o bloqueio do target ainda é necessário utilizar em conjunto a spell o creaturescript postado pelo @Lurk, eu testei a spell novamente e está funcional.

 

  Ocultar conteúdo


--[[
	<instant name="Paralyze Target" words="gtfo" lvl="55" mana="650" selftarget="1" prem="0" exhaustion="1800" needlearn="0" event="script" value="support/paralyze_target.lua">
		<vocation id="1"/>
		<vocation id="5"/>
	</instant>
]]

local config = {
	paralyzeTime = 5, -- Segundos
	affectAllies = false,
	affectTargetCasterOnly = false -- Se marcado como true ira paralyzar somente quem estiver atacando o usuario da spell
}

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_BIGCLOUDS)
setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 8, 5, 7, 11)

function onTargetCreature(cid, target)
	if config.affectTargetCasterOnly and getCreatureTarget(target) ~= cid then
		return false
	end
	if not config.affectAllies then
		local partyMembers = getPartyMembers(cid)
		if getPlayerGuildId(cid) == getPlayerGuildId(target) or isInArray(partyMembers, target) then
			return false
		end
	end
	doCreatureSetNoMove(target, true)
	addEvent(function()
		if isPlayer(target)
			doCreatureSetNoMove(target, false)
		end
	end, config.paralyzeTime * 1000)
	return true
end

setCombatCallback(combat, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature")

local area = createCombatArea(AREA_CROSS6X6)
setCombatArea(combat, area)

function onCastSpell(cid, var)
	return doCombat(cid, combat, var)
end

 

 

Testei aqui nao funcionou, a minha distro é cheia de erros, não consigo ver se deu algum erro..

Postado
20 horas atrás, .HuRRiKaNe disse:

Testei aqui nao funcionou, a minha distro é cheia de erros, não consigo ver se deu algum erro..

Sem algum tipo de erro fica difícil te ajudar.

  • 1 month later...
Postado
Em 05/09/2020 em 19:51, WooX disse:

Sem algum tipo de erro fica difícil te ajudar.

achei um erro aqui.

 

addEvent(function()
		if isPlayer(target)
			doCreatureSetNoMove(target, false)
		end
	end, config.paralyzeTime * 1000)

falta o then, mas msm assim nao acontece nada. os player nao ficam parado. 

 

 

sem erros distros...

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.6k

Informação Importante

Confirmação de Termo