Ir para conteúdo

[CreatureEvents] [mod] Refletor De Danos


Henrique Moura

Posts Recomendados

Mod Reflect by IRockstar

 

Isso é uma modificação que funciona da seguinte forma:

Você coloca o phoenix shield em alguma das mãos, e fala a magia, ele será encantado por algum tempo e todo o dano recebido irá voltar para quem te atacou. Porém os monstros não darão experience.

 

Em /mods/phoenix_shield.xml coloque:

<?xml version="1.0" encoding="UTF-8"?>
<mod name="Phoenix magic shield" version="1.0" author="William Christopher" contact="" enabled="yes">
<description>
	Phoenix shield script .-.
</description>

<config name="config"><![CDATA[
	local storage_value = 45605
	local item_id = 6539
	local hit_amount = 25
]]></config>
	<event type="login" name="phoenixLogin" event="script"><![CDATA[
	function onLogin(cid)
		registerCreatureEvent(cid,"phoenixShield")
		return true
	end
	]]></event>

<event type="statschange" name="phoenixShield" event="script"><![CDATA[
	domodlib("config")
	function onStatsChange(cid, attacker, type, combat, value)
		if type == STATSCHANGE_HEALTHGAIN then
			if getPlayerSlotItem(cid, CONST_SLOT_RIGHT).itemid == item_id or getPlayerSlotItem(cid, CONST_SLOT_LEFT).itemid == item_id then
				if getPlayerStorageValue(cid, storage_value) >= 1 then
					doCreatureAddHealth(attacker, - value)
					doPlayerSetStorageValue(cid, storage_value, getPlayerStorageValue(cid, storage_value)-1)
					doSendMagicEffect(getThingPos(attacker), CONST_ME_DRAWBLOOD)
					doSendAnimatedText(getThingPos(attacker), value, TEXTCOLOR_RED)
					doSendDistanceShoot(getThingPos(cid), getThingPos(attacker), CONST_ANI_ENERGY)
					return false
				end
			else
				return true
			end
		end
		return true
	end
]]></event>
<instant name="Phoenix Fury" words="Utevo gran mas flam" lvl="5" manapercent="30" exhaustion="60000" needlearn="0" event="script">
	<vocation id="1"/>
	<vocation id="2"/>
	<vocation id="3"/>
	<vocation id="4"/><![CDATA[
	function onCastSpell(cid, var)
		if getPlayerSlotItem(cid, CONST_SLOT_RIGHT).itemid == item_id or getPlayerSlotItem(cid, CONST_SLOT_LEFT).itemid == item_id then
			if getPlayerSlotItem(cid, CONST_SLOT_RIGHT).itemid == item_id then 
				doTransformItem(getPlayerSlotItem(cid, CONST_SLOT_RIGHT).uid, getPlayerSlotItem(cid, CONST_SLOT_RIGHT).itemid, 25)
			else
				doTransformItem(getPlayerSlotItem(cid, CONST_SLOT_LEFT).uid, getPlayerSlotItem(cid, CONST_SLOT_LEFT).itemid, 25)
			end
			for i = 1, 5 do
				addEvent(doSendMagicEffect, i*1000, getThingPos(cid), CONST_ME_MAGIC_BLUE)
			end
			doPlayerSetStorageValue(cid, storage_value, hit_amount)
			addEvent(doSendMagicEffect, 5000, getThingPos(cid), 6)
		else
			doPlayerSendCancel(cid, "You can't enchant anything because you do not have the phoenix shield.")
			doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
			return false
		end
		return true
	end
]]></instant>

</mod>

Para mudar as vocações que podem utilizar a spell, modifique:

<vocation id="1"/>
<vocation id="2"/>
<vocation id="3"/>
<vocation id="4"/>

 

Você pode mudar tudo aqui:

<instant name="Phoenix Fury" words="Utevo gran mas flam" lvl="5" manapercent="30" exhaustion="60000" needlearn="0">

 

Todos os créditos a IRockstar(dark billie)

Editado por Henrique Moura
Link para o comentário
Compartilhar em outros sites

Nossa legal a idéia. Porem isso tem uma duração? Seria bom se você explicasse um pouco mais sobre quanto ela dura, etc. Já que quem não entende muito de scripting vai ter problemas para procurar essa informação. E também explicar qual valores teria que editar para ajustar o script as rates e o PVP do seu server.

 

Duvida?

<instant name="Phoenix Fury" words="Utevo gran mas flam" lvl="5" manapercent="30" exhaustion="60000" needlearn="0"

No final não teria que colocar o ">" para fechar o script?

 

E o titulo do tópico poderia estar no "Center".

Até mais.

Espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

<instant name="Phoenix Fury" words="Utevo gran mas flam" lvl="5" manapercent="30" exhaustion="60000" needlearn="0

 

Continua na outra linha =)

Isto faz o seguinte:

Você equipa um phoenix shield nas mãos, fala utevo gran mas flam, ganha energia o suficiente para refletir 25 batidas para quem te atacou, ou seja, você não toma dano, nem físico, nem mágico, e quem te ataca perde o mesmo de vida que você perderia.

Link para o comentário
Compartilhar em outros sites

  • 4 weeks later...

eu Jogo Un ot Que Ten esa spell a 3 anos atraz XDD

Adana Vita

Shield Reflect Que Reflet O Attack +25% So De Mele Id Por 60 Segundoas mas assim Proteje Poco mas ajudda muito

e Adana Vita (Guard) Proteje +5% de Porada :]

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

<!--fonto:Old English--><span style="font-family:Old English"><!--/fonto--><!--coloro:#000080--><span style="color:#000080"><!--/coloro--><!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo--><b>Refletor de Danos by IRockstar(Dark Billie)</b><!--sizec--></span><!--/sizec--><!--colorc--></span><!--/colorc--><!--fontc--></span><!--/fontc-->

 

Isso é uma modificação que funciona da seguinte forma:

Você coloca o phoenix shield em alguma das mãos, e fala a magia, ele será encantado por algum tempo e todo o dano recebido irá voltar para quem te atacou. Porém os monstros não darão experience.

 

<b>Em /mods/phoenix_shield.xml coloque:</b>

<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1--><?xml version="1.0" encoding="UTF-8"?>

<mod name="Phoenix magic shield" version="1.0" author="William Christopher" contact="" enabled="yes">

<description>

Phoenix shield script .-.

</description>

 

<config name="config"><![CDATA[

local storage_value = 45605

local item_id = 6539

local hit_amount = 25

]]></config>

<event type="login" name="phoenixLogin" event="script"><![CDATA[

function onLogin(cid)

registerCreatureEvent(cid,"phoenixShield")

return true

end

]]></event>

 

<event type="statschange" name="phoenixShield" event="script"><![CDATA[

domodlib("config")

function onStatsChange(cid, attacker, type, combat, value)

if type == STATSCHANGE_HEALTHGAIN then

if getPlayerSlotItem(cid, CONST_SLOT_RIGHT).itemid == item_id or getPlayerSlotItem(cid, CONST_SLOT_LEFT).itemid == item_id then

if getPlayerStorageValue(cid, storage_value) >= 1 then

doCreatureAddHealth(attacker, - value)

doPlayerSetStorageValue(cid, storage_value, getPlayerStorageValue(cid, storage_value)-1)

doSendMagicEffect(getThingPos(attacker), CONST_ME_DRAWBLOOD)

doSendAnimatedText(getThingPos(attacker), value, TEXTCOLOR_RED)

doSendDistanceShoot(getThingPos(cid), getThingPos(attacker), CONST_ANI_ENERGY)

return false

end

else

return true

end

end

return true

end

]]></event>

<instant name="Phoenix Fury" words="Utevo gran mas flam" lvl="5" manapercent="30" exhaustion="60000" needlearn="0" event="script">

<vocation id="1"/>

<vocation id="2"/>

<vocation id="3"/>

<vocation id="4"/><![CDATA[

function onCastSpell(cid, var)

if getPlayerSlotItem(cid, CONST_SLOT_RIGHT).itemid == item_id or getPlayerSlotItem(cid, CONST_SLOT_LEFT).itemid == item_id then

if getPlayerSlotItem(cid, CONST_SLOT_RIGHT).itemid == item_id then

doTransformItem(getPlayerSlotItem(cid, CONST_SLOT_RIGHT).uid, getPlayerSlotItem(cid, CONST_SLOT_RIGHT).itemid, 25)

else

doTransformItem(getPlayerSlotItem(cid, CONST_SLOT_LEFT).uid, getPlayerSlotItem(cid, CONST_SLOT_LEFT).itemid, 25)

end

for i = 1, 5 do

addEvent(doSendMagicEffect, i*1000, getThingPos(cid), CONST_ME_MAGIC_BLUE)

end

doPlayerSetStorageValue(cid, storage_value, hit_amount)

addEvent(doSendMagicEffect, 5000, getThingPos(cid), 6)

else

doPlayerSendCancel(cid, "You can't enchant anything because you do not have the phoenix shield.")

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

return false

end

return true

end

]]></instant>

 

</mod><!--c2--></div><!--ec2-->

 

<b>Para mudar as vocações que podem utilizar a spell, modifique:</b>

<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1--><vocation id="1"/>

<vocation id="2"/>

<vocation id="3"/>

<vocation id="4"/><!--c2--></div><!--ec2-->

 

<b>Colocando os ids certos, bom, você pode mudar tudo aqui:</b>

<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1--><instant name="Phoenix Fury" words="Utevo gran mas flam" lvl="5" manapercent="30" exhaustion="60000" needlearn="0"<!--c2--></div><!--ec2-->

 

 

Todos os créditos a IRockstar(dark billie)

 

--------------------------------------------------------------------

local hit_amount = 25

 

tem como colocar por tempo?? tipo, durante 10 segundos refletir tudo???

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...

puts manow ficou mal explicado e mal organizado esse topico.

 

como nao deu pra entender mutio eu copiei tudo e colei no phoenixshield.xml la em MODS.

dae deu Erro Total No Negocio Nao Funfou Nada aqui.

 

explica melhor ou orgazina mais o topico pra eu poder entender um pouco melhor isso.

Link para o comentário
Compartilhar em outros sites

  • 1 month later...
×
×
  • Criar Novo...