Ir para conteúdo

Featured Replies

Postado

O membro zipter98 fez um action de item que dar bônus de reflect ao usar em outro item, quando usado no item, fica, You see a demon helmet ref 2% (def:10). Só que, uso um sistema de upgrade item, que deixa o item +1, +2, etc... ficando You see a demon helmet +1 (def:10). Dai, quando o item já está +1 e coloco bônus de reflect,  a irformação que o item está +1 some dando lugar a informação que o item está com reflect, o mesmo acontece quando o item já tem reflect e eu ponho ele +1. Dessa forma fica ruim a comercialização desses itens e terei que acabar optando por um dos dois sistemas. Gostaria de saber se tem alguém que consiga dar essa ajuda, que consiga deixar o item da seguinte forma, You see a demon helmet +1 ref 2% (def:10).

 

Segue o script do zipter98:

 

Action:

local config = {
    reflectBonus = 2,               --Bônus de reflect, em %.
    failChance = 50,                --Chance de falhar, em porcentagem.
    types = {"armor", "legs", "helmet", "boots"},
    noReflect = {1, 2, 3, 5, 6}     --Tipos de armamento bloqueados (valores podem ser conferidos em 000-constant.lua, data/lib)
}
function onUse(cid, item, fromPos, itemEx, toPos)
    if itemEx.itemid < 100 then
        return doPlayerSendCancel(cid, "Use this in valid itens.")
    elseif isInArray(config.noReflect, getItemWeaponType(itemEx.uid)) then
        return doPlayerSendCancel(cid, "Use this in valid itens.")
    elseif getItemAttribute(itemEx.uid, "reflect") then
        return doPlayerSendCancel(cid, "This item has already a reflect bonus.")
    elseif math.random(1, 100) > config.failChance then
        return doPlayerSendTextMessage(cid, 27, "Sorry, your item didn't get a reflect bonus. Good luck at the next try! =]"), doRemoveItem(item.uid, 1)
    end
    local checkItemName
    for i = 1, #config.types do
        if getItemNameById(itemEx.itemid):find(config.types[i]) then
            checkItemName = true
            break
        end
    end
    if not checkItemName then
        return doPlayerSendCancel(cid, "Use this in valid itens.")
    end
    doPlayerSendTextMessage(cid, 27, "Congratulations, now your item has a reflect bonus of "..config.reflectBonus.."%!")
    doItemSetAttribute(itemEx.uid, "reflect", config.reflectBonus)
    doItemSetAttribute(itemEx.uid, "name", getItemNameById(itemEx.itemid).." ref "..config.reflectBonus.."%")
    doRemoveItem(item.uid, 1)
    return true
end

Creaturescript:

function onStatsChange(cid, attacker, type, combat, value)
    if isPlayer(cid) and isCreature(attacker) and type == STATSCHANGE_HEALTHLOSS then
        local bonusReflect = 0
        for i = 1, 10 do
            local item = getPlayerSlotItem(cid, i).uid
            if item > 0 and getItemAttribute(item, "reflect") then
                bonusReflect = bonusReflect + getItemAttribute(item, "reflect")
            end
        end
        if bonusReflect > 0 then
            local damage = value * bonusReflect / 100
            doSendAnimatedText(getThingPos(attacker), -damage, COLOR_RED)
            doCreatureAddHealth(attacker, -damage)
        end
    end
    return true
end

  • Respostas 5
  • Visualizações 327
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

Postado

Suidera, é proibido oferecer suporte fora do fórum, você será alertado e caso ocorra novamente, você irá receber uma punição mais severa!
Leia as regras: http://www.tibiaking.com/forum/topic/1281-regras-gerais/
 

2.14 - Suporte fora do fórum:

É extremamente proibido oferecer suporte fora do TibiaKing.com, como por exemplo: "To querendo tal map, me adiciona no Skype", "Me adiciona no Skype que eu resolvo", ou então, "Eu tenho esse script, me adiciona no skype que a gente vê"... Enfim, se você fizer isso seu tópico será imediatamente fechado e você poderá ser punido!

 

 

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