Reflect System 0.1

MrCatra
em Mods, funções e outros
  • 1
  • 2

MrCatra

avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 25/09/12Posts: 208

Reflect System "0.1"

 

Ao ser obtido um item que possua o atributo Reflect o player será capaz de refletir danos Fisicos e Mágicos ao mesmo tempo. A idéia geral desse script é bem simples mesmo. Quando o player receber um damage de uma criatura (monstro ou player) esse attack será refletido em uma certa porcentagem.

Exemplo:

22:46 You see a golden amulet. It weighs 8.30 oz. [Reflect: 80%]

 

Obs¹: Os items pode ser acumulativo. Ou seja, se o amuleto der 10% de reflect e o ring der 35%. O player possuirá um Reflect = 45%.

 

[MOD]reflectSystem.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<mod name="Reflect System" version="0.1" author="Aluccard" contact="" enabled="yes">
			<description>
							Script que funciona para refletir danos para as creatures que o atacar.
			</description>

			<event type="login" name="regReflectDamage" event="script"><![CDATA[
							function onLogin(cid)
											registerCreatureEvent(cid,"ReflectDamage")
											return true
							end
	]]></event>

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

local slotPos = {CONST_SLOT_NECKLACE, CONST_SLOT_FEET, CONST_SLOT_RING}

function onStatsChange(cid, attacker, type, combat, value)
			local reflectPercent = 0
	local dmg = value
	local playerPos = getCreaturePosition(cid)
	local attackerPos = getCreaturePosition(attacker)

	for i = 1, #slotPos do
			if getPlayerSlotItem(cid, slotPos[i]).uid > 1 then
					if getItemReflectPercent(getPlayerSlotItem(cid, slotPos[i]).uid) then
							reflectPercent = reflectPercent + getItemReflectPercent(getPlayerSlotItem(cid, slotPos[i]).uid)
					end
			end
	end

	if reflectPercent > 0 then
			dmg = math.ceil(-value*((100-reflectPercent)/100))			  
			if (dmg < 0) then
					doCreatureAddHealth(cid, dmg)  
					doSendAnimatedText(playerPos, -dmg, COLOR_RED)
					doSendMagicEffect(playerPos, 0)								
			else
					doSendMagicEffect(playerPos, 3)
			end

			dmg = math.ceil(-value*(reflectPercent/100))
			if (dmg < 0) then
					doCreatureAddHealth(attacker, dmg)
					doSendAnimatedText(attackerPos, -dmg, COLOR_RED)
					doSendDistanceShoot(playerPos, attackerPos, CONST_ANI_SMALLHOLY)
			end
	else
			return true
	end
end]]></event>
</mod>

 

Obs²: O código está meio enferrujado, mas funciona. Como podes ver o sistema está na versão 0.1 e irá ser atualizada com o tempo.

 

ReflectLib.lua

function getItemReflectPercent(itemuid)
	return getItemAttribute(itemuid, "reflectPercent")
end
function doPlayerAddReflectedItem(cid, itemid, percent)
local item = doPlayerAddItem(cid, itemid)
doItemSetAttribute(item, "description", "[Reflect: "..percent.."%]")
doItemSetAttribute(item, "reflectPercent", percent)
end

 

Obs³: Para adicionarmos novos items com o atributo Reflect usamos o comando doPlayerAddReflectedItem(cid,itemid,percent).

{itemid = id do item escolhido / percent = porcentagem do reflect}

 

Créditos:

MrCatra

Aluccard

 

 

Obrigado,MrCatra

S5aHt.png

 

XTibia

Desde 20/11/2010

 

--Meus Trabalhos--

 

WebDesigner :

ModernACC

Template Poketibia v1 By MrCatra

Template WoDBO v1 By MrCatra

 

 

 

 

 

 

WebDesigner - 17/08/2012

Designer - 16/05/2012

Mapper iniciante - 10/03/2009

Skymagnum

Hamburguer
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 02/08/12Posts: 1025Char no Tibia: Maurolkit

Se eu não me engano o autor já postou no fórum se ainda não foi postado então arrume os code's pois estão bugados.

jeoz.png

RarTnE

avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 09/09/12Posts: 591Char no Tibia: Rartne of Rook

Ótimo tutorial !

Organizado !

REP+

Skype: rartne.xtibia

E-mail: rartne@xtibia.com

 

 

5TrXF.gif

MrCatra

avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 25/09/12Posts: 208

Se eu não me engano o autor já postou no fórum se ainda não foi postado então arrume os code's pois estão bugados.

 

Arrumado os Codes.

 

Quanto ja postado - Eu procurei e nao achei aki no fórum pode ser que nao esteja com este nome pode ser que esteja com outro,mais se ja tiver,podem fechar.Obrigado.

 

 

 

 

-RarTnE

 

 

Obrigado.Vou estar trazendo muitos conteudos,para o XTibia.

 

Obrigado,MrCatra

S5aHt.png

 

XTibia

Desde 20/11/2010

 

--Meus Trabalhos--

 

WebDesigner :

ModernACC

Template Poketibia v1 By MrCatra

Template WoDBO v1 By MrCatra

 

 

 

 

 

 

WebDesigner - 17/08/2012

Designer - 16/05/2012

Mapper iniciante - 10/03/2009

MatheusEnjoy

Criminal Monkey
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 07/08/11Posts: 301

Se meu set der um total de 120% de reflect então vou refletir 1,2x o dano que recebi? ...

Teoricamente sim, mais a ideia deste sistema e nunca passar dos 100% por isso sugiro que deve ser adicionar um If limitando o maximo para 100%.

ipCIakq.png

kwutpVE.png

 

Membro desde 12/2012

Coordenador desde 08/2012

Colaborador desde 08/2011

http://www.matheusvieira.info/

rechdanfr

Open Tibia Server (OTS)
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/04/09Posts: 46

Se meu set der um total de 120% de reflect então vou refletir 1,2x o dano que recebi? ...

Teoricamente sim, mais a ideia deste sistema e nunca passar dos 100% por isso sugiro que deve ser adicionar um If limitando o maximo para 100%.

 

Eu acho que 100% é muita coisa, deveria refletir um máximo de 50 a 75%! :)

 

Mas fica a dica, rsrs

 

Mod muito bom e espero usar algum dia :)

Subwat

GAUCHO MACHO
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 27/07/09Posts: 1516Char no Tibia: Gean Riot

cara esse sistema é bugado, se voce tem um item que reflete e vai pra uma area onde tenha vários bixos te atacando ao seu redor e vc solta uma magia o servidor cai.

Entrem Server online desde o dia 22/02/2013 Monster 24HORAS dedicado!

IP: monster24h.com

PROTOCOL:8.60

PORT:7171

 

RATES:

Exp: 9999x~10x

Skills:800x

Magic:200x

Loot:2x

Pvp-e Advanced: 1.1x Ao matar players de level semelhante.

 

Accounts Pelo Account Manager!

MatheusEnjoy

Criminal Monkey
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 07/08/11Posts: 301

Se meu set der um total de 120% de reflect então vou refletir 1,2x o dano que recebi? ...

Teoricamente sim, mais a ideia deste sistema e nunca passar dos 100% por isso sugiro que deve ser adicionar um If limitando o maximo para 100%.

 

Eu acho que 100% é muita coisa, deveria refletir um máximo de 50 a 75%! :)

 

Mas fica a dica, rsrs

 

Mod muito bom e espero usar algum dia :)

 

Ta maluco, para não ficar overpower o maximo deveria ser 3% por item. Assim fica bem balanciado o servidor. Senão PVP seria uma bagunça feia.

ipCIakq.png

kwutpVE.png

 

Membro desde 12/2012

Coordenador desde 08/2012

Colaborador desde 08/2011

http://www.matheusvieira.info/

rechdanfr

Open Tibia Server (OTS)
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/04/09Posts: 46

Se meu set der um total de 120% de reflect então vou refletir 1,2x o dano que recebi? ...

Teoricamente sim, mais a ideia deste sistema e nunca passar dos 100% por isso sugiro que deve ser adicionar um If limitando o maximo para 100%.

 

Eu acho que 100% é muita coisa, deveria refletir um máximo de 50 a 75%! :)

 

Mas fica a dica, rsrs

 

Mod muito bom e espero usar algum dia :)

 

Ta maluco, para não ficar overpower o maximo deveria ser 3% por item. Assim fica bem balanciado o servidor. Senão PVP seria uma bagunça feia.

 

hashuhashuhahshu, verdade e.e

 

E agora eu pensei numa coisa, seu eu tiver reflect e o cara tb, vai ficar refletindo o dano até quando?

Ou só vai refletir uma vez...

Skymagnum

Hamburguer
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 02/08/12Posts: 1025Char no Tibia: Maurolkit

Reflete só uma vez.

 

 

Só buga se o server for lixo.

 

E também seria bom se checasse se o attacker é monstro ou player para evitar futuros bugs.

jeoz.png

JuAnXtIbIa

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 29/09/12Posts: 32Char no Tibia: [ADM] JuAn

como coloco para não precisar de item so uma spell simples?

yugnaith

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 14/06/12Posts: 43

Primeiro: Não precisa disso para colocar reflect em um determinado item! Basta ir em item.lua achar o item desejado e adiciona a seguinte tag <attribute key="reflectPercentHoly" value="10" /> que ira refletir 10% de holy (é só mudar o elemento).

Segundo: Ao passar em algum tile que te de dano o serve irá cair pois entrara em conflito então tome cuidado ao usar essa script.

memes.gif



Ajudei? Rep+ | So enrolei? Rep-

LordFlacko

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 13/03/14Posts: 10

Aonde usa esse tal comando

doPlayerAddReflectedItem(cid,itemid,percent)

[8.60] Illuminati Global 24 Horas Sem BUGS. todas as quests!

www.illuminati-ot.com

Entre ja e venha ser o novo TOP!

  • 1
  • 2