avatar
Untitled

Guest 178 5th Mar, 2023

MARKUP 3.38 KB
                                           
                         local conf = {}
     
    conf["level"] = {
     [1] = {successParcent = 50, downrageLevel = 0},
     [2] = {successParcent = 50, downrageLevel = 1},
     [3] = {successParcent = 50, downrageLevel = 2},
     [4] = {successParcent = 50, downrageLevel = 3},
     [5] = {successParcent = 50, downrageLevel = 4},
     [6] = {successParcent = 50, downrageLevel = 5},
	 [7] = {successParcent = 1, downrageLevel = 5},
	 [8] = {successParcent = 1, downrageLevel = 6},
    }
    conf["upgrade"] = {
        attack = 4,
        extraAttack = 4,
        defense = 9,
        extraDefense =9,
        armor = 9,
        hitChance = 17,
    }
     
    local upgrading = {
        upValue = function (value, level, parcent)
            if(not(value>0))then return 0 end 
            for i=1,level do
                value = math.ceil(((value/100)*parcent)+value)+1
            end
            return (value > 0) and value or 0
        end,
     
        getLevel = function (item)
            local name = string.explode(getItemName(item), '+')
            return (#name == 1) and 0 or math.abs(name[2])
        end,
    }
    function onUse(cid, item, fromPosition, itemEx, toPosition)
        local getItem = getItemInfo(itemEx.itemid)
        if((getItem.weaponType > 0 or getItem.armor > 0) and not isItemStackable(itemEx.itemid))then
            local level = upgrading.getLevel(itemEx.uid)
            if(level < #conf["level"])then
                local nLevel = (conf["level"][(level+1)].successParcent >= math.random(1,100)) and (level+1) or conf["level"][level].downrageLevel
                if(nLevel > level)then
                    doSendMagicEffect(toPosition, 117)
                    doPlayerSendTextMessage(cid, 22, "Upgraded was successful!")
                else
                    doSendMagicEffect(toPosition, 117)
                    doPlayerSendTextMessage(cid, 22, "Upgrading fail!")
                end
                doItemSetAttribute(itemEx.uid, "name", getItem.name..((nLevel>0) and "+"..nLevel or "")) 
                doItemSetAttribute(itemEx.uid, "attack",  upgrading.upValue(getItem.attack, nLevel, conf["upgrade"].attack))
                doItemSetAttribute(itemEx.uid, "extraattack", upgrading.upValue(getItem.extraAttack, nLevel, conf["upgrade"].extraAttack))
                doItemSetAttribute(itemEx.uid, "defense", upgrading.upValue(getItem.defense,nLevel, conf["upgrade"].defense))
                doItemSetAttribute(itemEx.uid, "extradefense", upgrading.upValue(getItem.extraDefense, nLevel, conf["upgrade"].extraDefense))
                doItemSetAttribute(itemEx.uid, "armor", upgrading.upValue(getItem.armor, nLevel, conf["upgrade"].armor))
                doItemSetAttribute(itemEx.uid, "hitChance", upgrading.upValue(getItem.hitChance,nLevel, conf["upgrade"].hitChance))
                doRemoveItem(item.uid, 1)
            else
                doPlayerSendTextMessage(cid, 19, "Your level to max.")
            end
        else
            doPlayerSendTextMessage(cid, 19, "This item cant upgraded!")
        end
    end
                      
                                       
To share this paste please copy this url and send to your friends
RAW Paste Data
Recent Pastes
Ta strona używa plików cookie w celu usprawnienia i ułatwienia dostępu do serwisu oraz prowadzenia danych statystycznych. Dalsze korzystanie z tej witryny oznacza akceptację tego stanu rzeczy.
Wykorzystywanie plików Cookie
Jak wyłączyć cookies?
ROZUMIEM