You can make that yourself as an addition, I don't see this as a build-in thing.
Are you using latest version?well i installed everything as you said but it does not add skills (like magic level,hp,mana,dist skills,etc) after login
another bug that when you wear armor in your legs slot "for example" it applies attributes like manashield and skills increasing
sorry for my bad english
Yes I'm, hmm those bugs which I mentioned are working with you?Are you using latest version
Make sure you have properly installed everything and you are using latest version from GitHub.Yes I'm, hmm those bugs which I mentioned are working with you?
Because this item is created by a command or bought from a NPC. Only items from monsters are properly working.hi @oen432 ive found something strange, when using Upgrade Crystals the atk and defence of the weapon starts from 0.. This images will explain it better
View attachment 40866
how can i fix this?... I really need this to work, especially the Item Level upgrading, thanks in advance!!
Because this item is created by a command or bought from a NPC. Only items from monsters are properly working.
Read more here Oen44/TFS-Upgrade-System (https://github.com/Oen44/TFS-Upgrade-System/wiki/Developer-Notes)
local conf = {
["level"] = {
-- [item_level] = {successPercent= CHANCE TO UPGRADE ITEM, downgradeLevel = ITEM GETS THIS LEVEL IF UPGRADE FAILS}
[1] = {successPercent = 100, downgradeLevel = 0},
[2] = {successPercent = 80, downgradeLevel = 0},
[3] = {successPercent = 75, downgradeLevel = 0},
[4] = {successPercent = 70, downgradeLevel = 0},
[5] = {successPercent = 65, downgradeLevel = 0},
[6] = {successPercent = 60, downgradeLevel = 0},
[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
Why? Why would you use this if you have same thing in my script?omg thanks for the quick answer!! i got it.. there is a chance to add Item Level upgrade on this script? My main concern is that you can be able to buy a item, or got from quest, as a clean one, then modify it to create a better weapon/etc...
Lua:local conf = { ["level"] = { -- [item_level] = {successPercent= CHANCE TO UPGRADE ITEM, downgradeLevel = ITEM GETS THIS LEVEL IF UPGRADE FAILS} [1] = {successPercent = 100, downgradeLevel = 0}, [2] = {successPercent = 80, downgradeLevel = 0}, [3] = {successPercent = 75, downgradeLevel = 0}, [4] = {successPercent = 70, downgradeLevel = 0}, [5] = {successPercent = 65, downgradeLevel = 0}, [6] = {successPercent = 60, downgradeLevel = 0}, [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
Why? Why would you use this if you have same thing in my script?
Yeah... No.well .. this script increases the attributes of the item even if it is obtained in a quest, created by commands, or bought in an npc ... but for this to have stronger attributes through a void crystal it must have a certain item level... that's more than anything what I'm looking for ^^ My apologies if I'm wrong somewhere, I'm starting to understand the system better =)
Oky bro thanks for your quick answer and respectMake sure you have properly installed everything and you are using latest version from GitHub.
Make sure you have properly installed everything and you are using latest version from GitHub.help me please Screenshot (https://prnt.sc/qz02vg) tibia 12 tfs 1.3
It's not going to work with OTX then.i use mattyx14/otxserver (https://github.com/mattyx14/otxserver)
I did everything right.
Max HP
You haven't installed it properly or you are using old version.Hello there!
I was testing this great contribution and found something unusual, but when you change the attribute "Max HP" with the item equipped in its place, in my case a helmet, life is added, that is, with the item equipped with 100 hp , we use the "Faith Crystal" in the item and when we take it out of the "helmet" slot we put it in the bp and once again we put it in the "helmet" slot the total life of the character is added, that is, you can do this indefinitely and life will be added ... Since relogating the character's life back to normal, however the player could abuse this error until logging out. (Google translate helped XD)
TFS 1.3
I keep testing, warning if I find something else
You haven't installed it properly or you are using old version.