Ir para conteúdo

Featured Replies

Postado

Estava conversando com o @WooX se ele conseguiria fazer uma magia que bloqueia o target de usar magias por 5 segundos, acredito que muitos na comunidade gostariam de algo assim, e ele se prontificou a fazer para nós!

 

  • Respostas 7
  • Visualizações 1.6k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Não testado. --<event type="cast" name="blockSpell" event="script" value="block_spell.lua"/> function onCast(cid) if isPlayer(cid) and getPlayerStorageValue(cid, 4570) > os.time() then

  • Estava conversando com o @WooX se ele conseguiria fazer uma magia que bloqueia o target de usar magias por 5 segundos, acredito que muitos na comunidade gostariam de algo assim, e ele se prontificou a

  • https://github.com/mattyx14/otxserver/commit/3b10aedeac0a49e5538a3343873d52967b97835a

Postado

Não testado.

--<event type="cast" name="blockSpell" event="script" value="block_spell.lua"/>

function onCast(cid)
	if isPlayer(cid) and getPlayerStorageValue(cid, 4570) > os.time() then
		return false
	end
	return true
end
--[[
	<instant name="Block Spell" words="petrificus totalus" lvl="50" mana="200" range="3" blockwalls="1" needtarget="1" exhaustion="2000" needlearn="0" event="script" value="block_spell.lua">
		<vocation id="1"/>
		<vocation id="2"/>
	</instant>
]]

local blockTime = 5 -- Segundos

local function unregisterEvent(target) 
	if isPlayer(target) then
		if getPlayerStorageValue(target, 4570) < os.time() then
			unregisterCreatureEvent(target, "blockSpell")
		else
			addEvent(unregisterEvent, (getPlayerStorageValue(cid, 4570) - os.time()) * 1000, target)
		end
	end
end

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)

function onCastSpell(cid, var)
	local target = isPlayer(var.number) and var.number or getCreatureTarget(cid)
	if not isPlayer(target) then
		doPlayerSendCancel(cid, "Somente jogadores sao afetados por essa spell.")
		return true
	end
	setPlayerStorageValue(target, 4570, os.time() + blockTime)
	registerCreatureEvent(target, "blockSpell")
	addEvent(unregisterEvent, blockTime * 1000, target)
	return doCombat(cid, combat, var)
end

 

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

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