Ir para conteúdo

Featured Replies

  • Respostas 44
  • Visualizações 13.1k
  • Created
  • Última resposta

Top Posters In This Topic

Postado
[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
  • 1 month later...
Postado
  • Autor

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.

 

LINK do Tópico: clique aqui.

 

Atenciosamente,

Aluccard.

  • 3 months later...
Postado

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

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.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo