• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

(Upgrade Script) display item name, need help.

Ascuas Funkeln

Rakkedo Game
Joined
Apr 14, 2013
Messages
549
Solutions
32
Reaction score
305
Location
Poland
GitHub
AscuasFunkeln
Original Upgrade System show items Like "Item +1"
This one => Action - [TFS 1.1] Item's upgrading by jewels
What i want? I want to change display name to something like this "Item (1%)"

I change this line
Code:
  doItemSetAttribute(itemEx.uid, ITEM_ATTRIBUTE_NAME, it:getName()..((nLevel>0) and " ("..nLevel.."%)"))
And item after upgrade from 0 to 1 show "Item (1%)" But, for next upgrade script do not find name, soo problem is here i think
Code:
  getLevel = function (item)
  local name = Item(item):getName():split('(')
     if (#name == 1) then
       return 0
     end
     return math.abs(name[2])
  end,
Someone can help me with "split" this prefix and sufix words?
Or even made this for flex customization
I migrate from 0.3.6 to 1.2 and for real everything here is different for me xD
 
Last edited:
Hello, i refresh thread. What i need is editing this lines thats result of upgrade item should be:
Armor (1%) instead of Armor +1
Anyone can help me?
local name = Item(item):getName():split('+')
doItemSetAttribute(itemEx.uid, ITEM_ATTRIBUTE_NAME, it:getName()..((nLevel>0) and "+"..nLevel or ""))

Lua:
local contribution = {
    value = -300000
}
local conf = {
   ["level"] = {
   -- [item_level] = {successPercent= CHANCE TO UPGRADE ITEM, downgradeLevel = ITEM GETS THIS LEVEL IF UPGRADE FAILS}
     [1] = {successPercent = 90, downgradeLevel = 0},
     [2] = {successPercent = 90, downgradeLevel = 1},
     [3] = {successPercent = 90, downgradeLevel = 2},
     [4] = {successPercent = 90, downgradeLevel = 3},
     [5] = {successPercent = 90, downgradeLevel = 4},
     [6] = {successPercent = 90, downgradeLevel = 5},
     [7] = {successPercent = 90, downgradeLevel = 6},
     [8] = {successPercent = 90, downgradeLevel = 7},
     [9] = {successPercent = 90, downgradeLevel = 8},
     [10] = {successPercent = 85, downgradeLevel = 9},
     [11] = {successPercent = 85, downgradeLevel = 10},
     [12] = {successPercent = 85, downgradeLevel = 11},
     [13] = {successPercent = 80, downgradeLevel = 12},
     [14] = {successPercent = 80, downgradeLevel = 13},
     [15] = {successPercent = 80, downgradeLevel = 14},
     [16] = {successPercent = 75, downgradeLevel = 15},
     [17] = {successPercent = 75, downgradeLevel = 16},
     [18] = {successPercent = 75, downgradeLevel = 17},
     [19] = {successPercent = 65, downgradeLevel = 18},
     [20] = {successPercent = 65, downgradeLevel = 19},
     [21] = {successPercent = 65, downgradeLevel = 20},
     [22] = {successPercent = 60, downgradeLevel = 21},
     [23] = {successPercent = 60, downgradeLevel = 22},
     [24] = {successPercent = 60, downgradeLevel = 23},
     [25] = {successPercent = 50, downgradeLevel = 24},
     [26] = {successPercent = 50, downgradeLevel = 25},
     [27] = {successPercent = 50, downgradeLevel = 26},
     [28] = {successPercent = 50, downgradeLevel = 27},
     [29] = {successPercent = 50, downgradeLevel = 28},
     [30] = {successPercent = 50, downgradeLevel = 29}
   },
 
   ["upgrade"] = { -- how many percent attributes are rised?
     attack = 1, -- attack %
     defense = 1, -- defense %
     extraDefense = 1, -- extra defense %
     armor = 1, -- armor %
     hitChance = 1, -- 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(player, item, fromPosition, itemEx, toPosition)
if player:getOfflineTrainingTime() >= 300000 then
   local it = ItemType(itemEx.itemid)
  if(( 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 + (player:getEffectiveSkillLevel(SKILL_FISHING)) >= math.random(1,100)) and (level+1) or conf["level"][level].downgradeLevel
  if(nLevel > level)then
  player:getPosition():sendMagicEffect(CONST_ME_FIREWORK_YELLOW)
  player:say("SUCCESS!", TALKTYPE_MONSTER_SAY)
  else
  player:getPosition():sendMagicEffect(CONST_ME_POFF)
  player:say("BREAK!", TALKTYPE_MONSTER_SAY)
  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))
  doPlayerAddSkillTry(player, 6, 10)
  player:addOfflineTrainingTime(contribution.value)
  doRemoveItem(item.uid, 1)
  else
  doPlayerSendTextMessage(player, MESSAGE_EVENT_ADVANCE, "You cannot upgrade this item.")
  end
  elseif
  player:getOfflineTrainingTime() <= 60000 then
  player:say("Not enough requirements!", TALKTYPE_MONSTER_SAY)
end
end
 
Lua:
doItemSetAttribute(itemEx.uid, ITEM_ATTRIBUTE_NAME, it:getName()..((nLevel>0) and "("..nLevel.."%)" or ""))
 
I try get any info from here lua-users wiki: Split Join (http://lua-users.org/wiki/SplitJoin)
But i cant understand how to make it in this script.
Maybe someone have idea how to split here
@Edit
Ok i get little progress, problem make the % symbol
If i do something like that
local name = Item(item):getName():split('(%%)')
doItemSetAttribute(itemEx.uid, ITEM_ATTRIBUTE_NAME, it:getName()..((nLevel>0) and "(" ..nLevel.. "%%)" or ""))
Its works, but if i put only one % symbol, then stop working.

@Edit

OK done ;p
local name = Item(item):getName():split('(%%)')
doItemSetAttribute(itemEx.uid, ITEM_ATTRIBUTE_NAME, it:getName()..((nLevel>0) and "(" ..nLevel.. "%)" or ""))
 
Last edited:
Back
Top