From 97c5fabc8a05ed5fda70c819ed7de0beb98feba8 Mon Sep 17 00:00:00 2001 From: Szyler Date: Wed, 22 Oct 2025 18:37:49 +0200 Subject: [PATCH] Epoch lua error fix --- TradeSkillMaster/Core/Groups.lua | 12 +++++++++--- TradeSkillMaster/Core/Options.lua | 8 ++++++-- TradeSkillMaster/TradeSkillMaster.lua | 8 ++++++-- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/TradeSkillMaster/Core/Groups.lua b/TradeSkillMaster/Core/Groups.lua index bd38ca5..ce8d789 100644 --- a/TradeSkillMaster/Core/Groups.lua +++ b/TradeSkillMaster/Core/Groups.lua @@ -1315,6 +1315,7 @@ function TSM:ImportGroup(importStr, groupPath) local items = {} local currentSubPath = "" + local itemID, randomEnchant = nil, nil for _, str in ipairs(TSMAPI:SafeStrSplit(importStr, ",")) do str = str:trim() local noSpaceStr = gsub(str, " ", "") -- forums like to add spaces @@ -1327,7 +1328,7 @@ function TSM:ImportGroup(importStr, groupPath) elseif strfind(noSpaceStr, "p") then itemString = gsub(noSpaceStr, "p", "battlepet") elseif strfind(noSpaceStr, ":") then - local itemID, randomEnchant = (":"):split(noSpaceStr) + itemID, randomEnchant = (":"):split(noSpaceStr) if not tonumber(itemID) or not tonumber(randomEnchant) then return end itemString = "item:"..tonumber(itemID)..":0:0:0:0:0:"..tonumber(randomEnchant) end @@ -1336,8 +1337,13 @@ function TSM:ImportGroup(importStr, groupPath) currentSubPath = subPath elseif itemString then items[itemString] = currentSubPath - local item = Item:CreateFromID(tonumber(noSpaceStr)) - item:Query() + itemID = itemID or noSpaceStr + if Item then + local item = Item:CreateFromID(tonumber(itemID)) + item:Query() + else + TSMAPI:GetSafeItemInfo(tonumber(itemID)) + end else return end diff --git a/TradeSkillMaster/Core/Options.lua b/TradeSkillMaster/Core/Options.lua index 9028847..1390aa2 100644 --- a/TradeSkillMaster/Core/Options.lua +++ b/TradeSkillMaster/Core/Options.lua @@ -943,8 +943,12 @@ function private:LoadProfilesPage(container) -- check if item is cached local _,_,itemID = itemString:find("item:(%d+)") if itemID then - local item = Item:CreateFromID(itemID) - item:Query() + if Item then + local item = Item:CreateFromID(itemID) + item:Query() + else + TSMAPI:GetSafeItemInfo(tonumber(itemID)) + end end end diff --git a/TradeSkillMaster/TradeSkillMaster.lua b/TradeSkillMaster/TradeSkillMaster.lua index 0dfb7bb..f321a6b 100644 --- a/TradeSkillMaster/TradeSkillMaster.lua +++ b/TradeSkillMaster/TradeSkillMaster.lua @@ -239,8 +239,12 @@ function TSM:OnInitialize() -- check if item is cached local _,_,itemID = itemString:find("item:(%d+)") if itemID then - local item = Item:CreateFromID(itemID) - item:Query() + if Item then + local item = Item:CreateFromID(itemID) + item:Query() + else + TSMAPI:GetSafeItemInfo(tonumber(itemID)) + end end if strfind(itemString, " ") then local newItemString = gsub(itemString, " ", "")