Untitled
Guest 178 5th Mar, 2023
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