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 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%] <?xml version="1.0" encoding="UTF-8"?> <m

[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.

  Citar
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.
Expand   Mostrar mais  

 

LINK do Tópico:

Hidden Content

    Give reaction to this post to see the hidden content.
.

 

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

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.

  • Estatísticas dos Fóruns

    96844
    Tópicos
    519601
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo