Postado Março 1, 2016 9 anos ola.. eu tenho esse sistema de upgrad porem é pra versao 1.1 e meus servidor é 1.2 tfs alguem pode me ajudar a passar isso para 1.2 ou alguem tem alguma coisa do tipo... quero quando de use em um item a armar no caso ganha mais dano +1 +2 +3.... agradeço desde ja Spoiler local conf = { ["level"] = { -- [item_level] = {successPercent= CHANCE TO UPGRADE ITEM, downgradeLevel = ITEM GETS THIS LEVEL IF UPGRADE FAILS} [1] = {successPercent = 85, downgradeLevel = 0}, [2] = {successPercent = 80, downgradeLevel = 1}, [3] = {successPercent = 75, downgradeLevel = 2}, [4] = {successPercent = 70, downgradeLevel = 3}, [5] = {successPercent = 65, downgradeLevel = 4}, [6] = {successPercent = 60, downgradeLevel = 5}, [7] = {successPercent = 55, downgradeLevel = 0}, [8] = {successPercent = 50, downgradeLevel = 0}, [9] = {successPercent = 45, downgradeLevel = 0} }, ["upgrade"] = { -- how many percent attributes are rised? attack = 5, -- attack % defense = 5, -- defense % extraDefense = 10, -- extra defense % armor = 5, -- armor % hitChance = 5, -- hit chance % } } -- // 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 = ItemType(itemEx.itemid) if((it:getWeaponType() > 0 or getItemAttribute(itemEx.uid, ITEM_ATTRIBUTE_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)].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_DEFENSE, upgrading.upValue(it:getDefense(), nLevel, conf["upgrade"].defense)) doItemSetAttribute(itemEx.uid, ITEM_ATTRIBUTE_EXTRADEFENSE, upgrading.upValue(it:getExtraDefense(), nLevel, conf["upgrade"].extraDefense)) doItemSetAttribute(itemEx.uid, ITEM_ATTRIBUTE_ARMOR, upgrading.upValue(it:getArmor(), nLevel, conf["upgrade"].armor)) 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
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.