darkmu
Well-Known Member
TFS 1.3
PRINT(it)
Return NILL why?
Lua:
local conf = {
["level"] = { [36038] = { [1] = {successPercent = 99, downgradeLevel = 0, lossItem = false },
[2] = {successPercent = 99, downgradeLevel = 1, lossItem = false },
[3] = {successPercent = 99, downgradeLevel = 2, lossItem = false },
[4] = {successPercent = 99, downgradeLevel = 3, lossItem = true },
[5] = {successPercent = 99, downgradeLevel = 4, lossItem = true },
[6] = {successPercent = 99, downgradeLevel = 5, lossItem = true },
[7] = {successPercent = 99, downgradeLevel = 0, lossItem = true },
[8] = {successPercent = 99, downgradeLevel = 0, lossItem = true },
[9] = {successPercent = 99, downgradeLevel = 0, lossItem = true }, },
[2164] = { [1] = {successPercent = 99, downgradeLevel = 0, lossItem = false},
[2] = {successPercent = 99, downgradeLevel = 1, lossItem = false},
[3] = {successPercent = 99, downgradeLevel = 2, lossItem = false},
[4] = {successPercent = 99, downgradeLevel = 3, lossItem = false},
[5] = {successPercent = 99, downgradeLevel = 4, lossItem = false},
[6] = {successPercent = 99, downgradeLevel = 5, lossItem = true},
[7] = {successPercent = 99, downgradeLevel = 0, lossItem = true},
[8] = {successPercent = 99, downgradeLevel = 0, lossItem = true},
[9] = {successPercent = 99, downgradeLevel = 0, lossItem = true}, },
[2166] = { [1] = {successPercent = 99, downgradeLevel = 0, lossItem = false},
[2] = {successPercent = 99, downgradeLevel = 1, lossItem = false},
[3] = {successPercent = 99, downgradeLevel = 2, lossItem = false},
[4] = {successPercent = 99, downgradeLevel = 3, lossItem = false},
[5] = {successPercent = 99, downgradeLevel = 4, lossItem = false},
[6] = {successPercent = 99, downgradeLevel = 5, lossItem = false},
[7] = {successPercent = 99, downgradeLevel = 0, lossItem = true},
[8] = {successPercent = 99, downgradeLevel = 0, lossItem = true},
[9] = {successPercent = 99, downgradeLevel = 0, lossItem = true}, },
},
["upgrade"] = { -- how many percent attributes are rised?
attack = 1, -- attack %
defense = 1, -- defense %
extraDefense = 1, -- extra defense %
armor = 1, -- armor %
}
}
-- // do not touch // --
-- Upgrading system by Azi [Ersiu] --
-- Edited for TFS 1.1 by Zbizu --
local upgrading = {
upValue = function (value, level, percent)
if value < 0 then return 0 end
if level == 0 then return value end
local nVal = value
for i = 1, level do
nVal = nVal + (math.ceil((nVal/100*percent)))
end
return nVal > 0 and nVal or value
end,
getLevel = function (item)
local name = Item(item):getName():split('+')
if (#name == 1) then
return 0
end
return math.abs(name[2])
end,
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
local it = conf["level"][itemEx.itemid]
print(it)
if not it then
return false
end
if((it:getWeaponType() > 0 or getItemAttribute(itemEx.uid, ITEM_ATTRIBUTE_ARMOR) > 0))then
local level = upgrading.getLevel(itemEx.uid)
if(level < #conf["level"])then
local nLevel = (conf["level"][(level+1)].successPercent >= math.random(1,100)) and (level+1) or conf["level"][level].downgradeLevel
if(nLevel > level)then
doSendMagicEffect(toPosition, CONST_ME_MAGIC_GREEN)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Upgrade to level " .. nLevel .. " successful!")
else
doSendMagicEffect(toPosition, CONST_ME_BLOCKHIT)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Upgrade failed. Your " .. it:getName() .. " is now on level " .. nLevel .. "")
end
doItemSetAttribute(itemEx.uid, ITEM_ATTRIBUTE_NAME, it:getName()..((nLevel>0) and "+"..nLevel or ""))
doItemSetAttribute(itemEx.uid, ITEM_ATTRIBUTE_ATTACK, upgrading.upValue(it:getAttack(), nLevel, conf["upgrade"].attack))
doItemSetAttribute(itemEx.uid, ITEM_ATTRIBUTE_HITCHANCE, upgrading.upValue(it:getHitChance(), nLevel, conf["upgrade"].hitChance))
doRemoveItem(item.uid, 1)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your " .. it:getName() .. " is on max level alredy.")
end
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You cannot upgrade this item.")
end
end
PRINT(it)
Return NILL why?