Ir para conteúdo
  • Cadastre-se

Posts Recomendados

  • Respostas 44
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Olá Tibia King's! Reflect System[0.1] Função 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 ge

  • 2 months later...

explica direito isso pq n funcionou !! explica direito tipo, qual item vai refletir , onde ta isso ai ?

Link para o post
Compartilhar em outros sites
  • 2 weeks later...
  • 8 months later...
[23:23:39.305] [Error - CreatureScript Interface]
[23:23:39.305] local slotPos = {CONST_SLOT_NECKLACE, CONST_SLOT_FEET, CONST_SLOT_RING}
[23:23:39.305]
[23:23:39.305] function onStatsChange(cid, attacker, type, combat, value)
[23:23:39.305]          local reflectPercent = 0
[23:23:39.305]  local dmg = value
[23:23:39.305]  local playerPos = getCreaturePosition(cid)
[23:23:39.305]  local attackerPos = getCreaturePosition(attacker)
 
[23:23:39.305]  for i = 1, #slotPos do
[23:23:39.305]          if getPlayerSlotItem(cid, slotPos).uid > 1 then
[23:23:39.305]                  if getItemReflectPercent(getPlayerSlotItem(cid, slotPos).uid) then
[23:23:39.305]                          reflectPercent = reflectPercent + getItemReflectPercent(getPlayerSlotItem(cid, slotPos).uid)
[23:23:39.305]                  end
[23:23:39.305]          end
[23:23:39.305]  end
[23:23:39.305]
[23:23:39.305]  if reflectPercent > 0 then
[23:23:39.305]          dmg = math.ceil(-value*((100-reflectPercent)/100))
[23:23:39.305]          if (dmg < 0) then
[23:23:39.305]                  doCreatureAddHealth(cid, dmg)
[23:23:39.305]                  doSendAnimatedText(playerPos, -dmg, COLOR_RED)
[23:23:39.305]                  doSendMagicEffect(playerPos, 0)
[23:23:39.305]          else
[23:23:39.305]                  doSendMagicEffect(playerPos, 3)
[23:23:39.305]          end
 
[23:23:39.305]          dmg = math.ceil(-value*(reflectPercent/100))
[23:23:39.305]          if (dmg < 0) then
[23:23:39.305]                  doCreatureAddHealth(attacker, dmg)
[23:23:39.306]                  doSendAnimatedText(attackerPos, -dmg, COLOR_RED)
[23:23:39.306]                  doSendDistanceShoot(playerPos, attackerPos, CONST_ANI_SMALLHOLY)
[23:23:39.306]          end
[23:23:39.306]  else
[23:23:39.306]          return true
[23:23:39.306]  end
[23:23:39.306] end:onStatsChange
[23:23:39.306] Description:
[23:23:39.306] (luaGetThingPosition) Thing not found
Link para o post
Compartilhar em outros sites
  • 1 month later...

A todos que estão com dúvidas sobre o sistema:
 

¹ - O arquivo reflectSystem.xml irá para a pasta MOD.

² - O arquivo reflectLib.lua irá para a pasta LIB.

 

Para adicionar um item, você precisa do comando que está no posto e ele deverá ser adicionado junto com um NPC ou dentro de uma quest. Se procurar no fórum irá encontrar um exemplo.

Ao abrir um baú especial você irá ganhar um anel especial que possui esse atributo.
Ao entregar algum item ou realizar alguma missão ou qualquer derivado o NPC irá dar o item.

 

LINK do Tópico: clique aqui.

 

Atenciosamente,

Aluccard.

The life is hard: No projects for a while.

 

adfly.350x19.1.png

Link para o post
Compartilhar em outros sites
  • 3 months later...

Juuuan, você reviveu o tópico, cuidado.

Quanto a dúvida, essa função você pode utilizar em lib como explicado neste tópico:

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
Link para o post
Compartilhar em outros sites
  • 7 months later...

só revivendo para avisar que o script ta bugado, instalei totalmente correto, e na hora que eu ataco o jogador que ta com o item de reflect, da esse bug na distro, e eu gostaria de solicitar ao dono do conteudo caso estiver ativo no forum ainda, para revisar o sistema e ver oque pode estar bugando.

[23/06/2014 17:26:56] [Error - CreatureScript Interface] 
[23/06/2014 17:26:56] buffer:onStatsChange
[23/06/2014 17:26:56] Description: 
[23/06/2014 17:26:56] (luaGetThingPosition) Thing not found
 
[23/06/2014 17:26:56] [Error - CreatureScript Interface] 
[23/06/2014 17:26:56] buffer:onStatsChange
[23/06/2014 17:26:56] Description: 
[23/06/2014 17:26:56] (luaGetThingPosition) Thing not found
 
[23/06/2014 17:26:56] [Error - CreatureScript Interface] 
[23/06/2014 17:26:56] buffer:onStatsChange
[23/06/2014 17:26:56] Description: 
[23/06/2014 17:26:56] (luaGetThingPosition) Thing not found
 
[23/06/2014 17:26:56] [Error - CreatureScript Interface] 
[23/06/2014 17:26:56] buffer:onStatsChange
[23/06/2014 17:26:56] Description: 
[23/06/2014 17:26:56] (luaGetThingPosition) Thing not found
 
[23/06/2014 17:26:56] [Error - CreatureScript Interface] 
[23/06/2014 17:26:56] buffer:onStatsChange
[23/06/2014 17:26:56] Description: 
[23/06/2014 17:26:56] (luaGetThingPosition) Thing not found
 
[23/06/2014 17:26:56] [Error - CreatureScript Interface] 
[23/06/2014 17:26:56] buffer:onStatsChange
[23/06/2014 17:26:56] Description: 
[23/06/2014 17:26:56] (luaGetThingPosition) Thing not found
 
[23/06/2014 17:26:56] [Error - CreatureScript Interface] 
[23/06/2014 17:26:56] buffer:onStatsChange
[23/06/2014 17:26:56] Description: 
[23/06/2014 17:26:56] (luaGetThingPosition) Thing not found
 
[23/06/2014 17:26:56] [Error - CreatureScript Interface] 
[23/06/2014 17:26:56] buffer:onStatsChange
[23/06/2014 17:26:56] Description: 
[23/06/2014 17:26:56] (luaGetThingPosition) Thing not found
 
[23/06/2014 17:26:56] [Error - CreatureScript Interface] 
[23/06/2014 17:26:56] buffer:onStatsChange
[23/06/2014 17:26:56] Description: 
[23/06/2014 17:26:56] (luaGetThingPosition) Thing not found
 
[23/06/2014 17:26:56] [Error - CreatureScript Interface] 
[23/06/2014 17:26:56] buffer:onStatsChange
[23/06/2014 17:26:56] Description: 
[23/06/2014 17:26:56] (luaGetThingPosition) Thing not found
 
[23/06/2014 17:26:56] [Error - CreatureScript Interface] 
[23/06/2014 17:26:56] buffer:onStatsChange
[23/06/2014 17:26:56] Description: 
[23/06/2014 17:26:56] (luaGetThingPosition) Thing not found
 
[23/06/2014 17:26:56] [Error - CreatureScript Interface] 
[23/06/2014 17:26:56] buffer:onStatsChange
[23/06/2014 17:26:56] Description: 
[23/06/2014 17:26:56] (luaGetThingPosition) Thing not found
 
[23/06/2014 17:26:56] [Error - CreatureScript Interface] 
[23/06/2014 17:26:56] buffer:onStatsChange
[23/06/2014 17:26:56] Description: 
[23/06/2014 17:26:56] (luaGetThingPosition) Thing not found
 
[23/06/2014 17:26:56] [Error - CreatureScript Interface] 
[23/06/2014 17:26:56] buffer:onStatsChange
[23/06/2014 17:26:56] Description: 
[23/06/2014 17:26:56] (luaGetThingPosition) Thing not found
 
[23/06/2014 17:26:56] [Error - CreatureScript Interface] 
[23/06/2014 17:26:56] buffer:onStatsChange
[23/06/2014 17:26:56] Description: 
[23/06/2014 17:26:56] (luaGetThingPosition) Thing not found
 
[23/06/2014 17:26:56] [Error - CreatureScript Interface] 
[23/06/2014 17:26:56] buffer:onStatsChange
[23/06/2014 17:26:56] Description: 
[23/06/2014 17:26:56] (luaGetThingPosition) Thing not found
 
[23/06/2014 17:26:56] [Error - CreatureScript Interface] 
[23/06/2014 17:26:56] buffer:onStatsChange
[23/06/2014 17:26:56] Description: 
[23/06/2014 17:26:56] (luaGetThingPosition) Thing not found
 
[23/06/2014 17:26:56] [Error - CreatureScript Interface] 
[23/06/2014 17:26:56] buffer:onStatsChange
[23/06/2014 17:26:56] Description: 
[23/06/2014 17:26:56] (luaGetThingPosition) Thing not found
 
[23/06/2014 17:26:56] [Error - CreatureScript Interface] 
[23/06/2014 17:26:56] buffer:onStatsChange
[23/06/2014 17:26:56] Description: 
[23/06/2014 17:26:56] (luaGetThingPosition) Thing not found
[23/06/2014 17:26:56] [Error - CreatureEvent::executeStatsChange] Call stack overflow.
 
[23/06/2014 17:26:56] [Error - CreatureScript Interface] 
[23/06/2014 17:26:56] buffer:onStatsChange
[23/06/2014 17:26:56] Description: 
[23/06/2014 17:26:56] (luaDoCreatureAddHealth) Creature not found
 
[23/06/2014 17:26:56] [Error - CreatureScript Interface] 
[23/06/2014 17:26:56] buffer:onStatsChange
[23/06/2014 17:26:56] Description: 
[23/06/2014 17:26:56] (luaDoCreatureAddHealth) Creature not found
 
[23/06/2014 17:26:56] [Error - CreatureScript Interface] 
[23/06/2014 17:26:56] buffer:onStatsChange
[23/06/2014 17:26:56] Description: 
[23/06/2014 17:26:56] (luaDoCreatureAddHealth) Creature not found
 
[23/06/2014 17:26:57] [Error - CreatureScript Interface] 
[23/06/2014 17:26:57] buffer:onStatsChange
[23/06/2014 17:26:57] Description: 
[23/06/2014 17:26:57] (luaDoCreatureAddHealth) Creature not found
 
[23/06/2014 17:26:57] [Error - CreatureScript Interface] 
[23/06/2014 17:26:57] buffer:onStatsChange
[23/06/2014 17:26:57] Description: 
[23/06/2014 17:26:57] (luaDoCreatureAddHealth) Creature not found
 
[23/06/2014 17:26:57] [Error - CreatureScript Interface] 
[23/06/2014 17:26:57] buffer:onStatsChange
[23/06/2014 17:26:57] Description: 
[23/06/2014 17:26:57] (luaDoCreatureAddHealth) Creature not found
 
[23/06/2014 17:26:57] [Error - CreatureScript Interface] 
[23/06/2014 17:26:57] buffer:onStatsChange
[23/06/2014 17:26:57] Description: 
[23/06/2014 17:26:57] (luaDoCreatureAddHealth) Creature not found
 
[23/06/2014 17:26:57] [Error - CreatureScript Interface] 
[23/06/2014 17:26:57] buffer:onStatsChange
[23/06/2014 17:26:57] Description: 
[23/06/2014 17:26:57] (luaDoCreatureAddHealth) Creature not found
 
[23/06/2014 17:26:57] [Error - CreatureScript Interface] 
[23/06/2014 17:26:57] buffer:onStatsChange
[23/06/2014 17:26:57] Description: 
[23/06/2014 17:26:57] (luaDoCreatureAddHealth) Creature not found
 
[23/06/2014 17:26:57] [Error - CreatureScript Interface] 
[23/06/2014 17:26:57] buffer:onStatsChange
[23/06/2014 17:26:57] Description: 
[23/06/2014 17:26:57] (luaDoCreatureAddHealth) Creature not found
 
[23/06/2014 17:26:57] [Error - CreatureScript Interface] 
[23/06/2014 17:26:57] buffer:onStatsChange
[23/06/2014 17:26:57] Description: 
[23/06/2014 17:26:57] (luaDoCreatureAddHealth) Creature not found
 
[23/06/2014 17:26:57] [Error - CreatureScript Interface] 
[23/06/2014 17:26:57] buffer:onStatsChange
[23/06/2014 17:26:57] Description: 
[23/06/2014 17:26:57] (luaDoCreatureAddHealth) Creature not found
 
[23/06/2014 17:26:57] [Error - CreatureScript Interface] 
[23/06/2014 17:26:57] buffer:onStatsChange
[23/06/2014 17:26:57] Description: 
[23/06/2014 17:26:57] (luaDoCreatureAddHealth) Creature not found
 
[23/06/2014 17:26:57] [Error - CreatureScript Interface] 
[23/06/2014 17:26:57] buffer:onStatsChange
[23/06/2014 17:26:57] Description: 
[23/06/2014 17:26:57] (luaDoCreatureAddHealth) Creature not found
 
[23/06/2014 17:26:57] [Error - CreatureScript Interface] 
[23/06/2014 17:26:57] buffer:onStatsChange
[23/06/2014 17:26:57] Description: 
[23/06/2014 17:26:57] (luaDoCreatureAddHealth) Creature not found
 
[23/06/2014 17:26:57] [Error - CreatureScript Interface] 
[23/06/2014 17:26:57] buffer:onStatsChange
[23/06/2014 17:26:57] Description: 
[23/06/2014 17:26:57] (luaDoCreatureAddHealth) Creature not found
 
[23/06/2014 17:26:57] [Error - CreatureScript Interface] 
[23/06/2014 17:26:57] buffer:onStatsChange
[23/06/2014 17:26:57] Description: 
[23/06/2014 17:26:57] (luaDoCreatureAddHealth) Creature not found
 
[23/06/2014 17:26:57] [Error - CreatureScript Interface] 
[23/06/2014 17:26:57] buffer:onStatsChange
[23/06/2014 17:26:57] Description: 
[23/06/2014 17:26:57] (luaDoCreatureAddHealth) Creature not found
 
[23/06/2014 17:26:57] [Error - CreatureScript Interface] 
[23/06/2014 17:26:57] buffer:onStatsChange
[23/06/2014 17:26:57] Description: 
[23/06/2014 17:26:57] (luaDoCreatureAddHealth) Creature not found
 
[23/06/2014 17:26:57] [Error - CreatureScript Interface] 
[23/06/2014 17:26:57] buffer:onStatsChange
[23/06/2014 17:26:57] Description: 
[23/06/2014 17:26:57] (luaGetThingPosition) Thing not found
Editado por Maenilse (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 2 weeks later...

Olá, estou com um problema que no caso, quando passo sobre Fire field, ou qualquer outro campo que de dano, o distro para de funcionar e o OT cai...

como posso resolver este problema? '-' tentei adicionar condições porem nao funcionaram da forma que eu desejava :/

Link para o post
Compartilhar em outros sites
  • 3 months later...

ta cara mais aonde que eu add um novo inten ex eu quero add magic plate armor aonde que eu tenho que colocar ela

Link para o post
Compartilhar em outros sites
  • 2 weeks later...

Aqui não funcionou, ele faz com quem fique todo mundo imortal haha

Idéias são à prova de balas.

xS0NYx here

"Ser ateu é viver em razão de fatos, não de crenças; É aproveitar essa vida, não desperdiça-la na esperança de viver outra; É fazer o bem de coração, não por devoção. Ser ate, simplesmente, um ser livre."

Link para o post
Compartilhar em outros sites
  • 2 months later...

Olá Tibia King's!

Reflect System[0.1]

Função

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}

Creio que não esqueci de nada. Qualquer dúvida é só postar!

Sem mais,

Aluccard.

Edit:

Npc que vende Reflect Item

 

Bom demais o scripts, mas gostaria que explicasse direitinho como funciona para adicionar o "Reflet" nos itens, pois não entendi.. abç

Venha para a evolução do mapa HEROSERV -- Versão 8.60 -

Faça parte dessa família: http://kaiakserv.com

 

Link para o post
Compartilhar em outros sites
  • 2 months later...

Esse sistema não pode ser adicionado direto, sem precisar de ser adicionado após ou durante ( quest )? Pois o sistema próprio dos ots acabam fazendo com que aconteça um "crash".

Link para o post
Compartilhar em outros sites
  • 8 months later...

Seria perfeito se tivesse uma função onUse, ai tipo colocaria uma stone ex: "Reflect Stone" e usaria ela nos itens, seria perfeito. Caso algum scripter queira ajudar nós meros noobs haha !

Venha para a evolução do mapa HEROSERV -- Versão 8.60 -

Faça parte dessa família: http://kaiakserv.com

 

Link para o post
Compartilhar em outros sites
  • 6 months later...

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.




×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo