Ir para conteúdo

Featured Replies

  • Respostas 9
  • Visualizações 1.2k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Testou o do amigo ae

  • Tibia2015br
    Tibia2015br

    á 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 é b

Postado

LDmTA8i.png

Mude getThingPosition

Para getThingPos

Em todos os lugares que o getThingPosition aparece.

Se continuar com outro erro mande o erro, mas pelo menos esse irá sair...

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Postado

á 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).uid > 1 then
            if getItemReflectPercent(getPlayerSlotItem(cid, slotPos).uid) then
                reflectPercent = reflectPercent + getItemReflectPercent(getPlayerSlotItem(cid, slotPos).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.
 

 
 
se te ajudei mi ajude com um like
 
post-154810-0-74779100-1428114524_thumb.        post-154810-0-22067300-1428114531_thumb.          post-154810-0-83198200-1427326965.gif
post-154810-0-48855100-1429834735.gif
 
 
 
 
0 comentários:

 

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

Informação Importante

Confirmação de Termo