SuperVillain UI

SuperVillain UI

279k Downloads

SVUI_Orginisation failure with new items or using items in bag

Wulfinator opened this issue ยท 5 comments

commented

I have an issue with the bag.
Everytime i get a new item in bag or i use a item like a chest from worldquests or sell an item then i get this fail:

local locations = C_EquipmentSet.GetItemLocations(equipmentSetID)
[C]: in function 'GetItemLocations'
SVUI_!Core\system\gear.lua:369: in function 'BuildEquipmentMap'
...ceSVUI_Inventory\components\organization.lua:250: infunktion
<...ceSVUI_Inventory\components\organization.lua:246

Locals:
(*temporary) = "Usage: local locations=
C_EquipmentSet.GetItemLocations(equipmentSetID)

Here the original screen: http://www.youscreen.de/viwabkkqx50.jpg

I hope this help to fix the problem.

PS: I use SVUI here from Github first time so there is not a update-problem ;) (bevor you ask)

commented

Are you by chance using the SVui method for making groups of gear for your specs?

First thing that comes to mind certainly.

Some reference links for @joeymagz as I suspect this may be above me head.

function SV:BuildEquipmentMap()
UpdateLocals()
for key, gearData in pairs(GEARSET_LISTING) do
twipe(gearData);
end
if (not C_EquipmentSet.GetNumEquipmentSets()) then
return
end
local name, player, bank, bags, slotIndex, bagIndex, loc, _;
local equipmentSetIDs = C_EquipmentSet.GetEquipmentSetIDs();
for i = 1, C_EquipmentSet.GetNumEquipmentSets() do
name = C_EquipmentSet.GetEquipmentSetInfo(equipmentSetIDs[i]);
local equipmentSetID = C_EquipmentSet.GetEquipmentSetID(name);
GEAR_CACHE = C_EquipmentSet.GetItemLocations(equipmentSetID);
for _, location in pairs(GEAR_CACHE) do
if(type(location) ~= "string") then
player, bank, bags, _, slotIndex, bagIndex = EquipmentManager_UnpackLocation(location);
if((bank or bags) and (slotIndex and bagIndex)) then
loc = format("%d_%d", bagIndex, slotIndex);
GEARSET_LISTING[loc] = GEARSET_LISTING[loc] or {};
local gslCount = #GEARSET_LISTING[loc] + 1
GEARSET_LISTING[loc][gslCount] = name;
end
end
end
end
end

local Container_OnEvent = function(self, event, ...)
if(event == "ITEM_LOCK_CHANGED" or event == "ITEM_UNLOCKED") then
UpdateSlot(self, ...)
elseif(event == "BAG_UPDATE" or event == "EQUIPMENT_SETS_CHANGED") then
SV:BuildEquipmentMap()
for i, bagID in ipairs(self.BagIDs) do
local numSlots = GetContainerNumSlots(bagID)
if(not self.Bags[bagID] and numSlots ~= 0) or (self.Bags[bagID] and (numSlots ~= self.Bags[bagID].numSlots)) then
self:UpdateLayout();
return;
end
end
UpdateBagSlots(self, ...)
elseif(event == "BAG_UPDATE_COOLDOWN") then
self:RefreshCooldowns()
elseif(event == "PLAYERBANKSLOTS_CHANGED") then
if(self.isBank and self.BagMenu) then
for i, bagID in ipairs(self.BagIDs) do
local bagSlot = self.BagMenu[i];
if(bagSlot) then
BankFrameItemButton_Update(bagSlot)
BankFrameItemButton_UpdateLocked(bagSlot)
end
end
end
self:RefreshBags();
elseif(event == "PLAYERREAGENTBANKSLOTS_CHANGED") then
local slotID = ...
local container = _G["SVUI_ReagentContainerFrame"]
if(slotID and container) then
local bagID = container.BagID
container.Bags[bagID]:SlotUpdate(slotID)
end
end
end

commented

nope i use dugi for autogear and quest.

commented

Does the error persist if you disable Dugi? If so it's a compat issue we may need to look at.

commented

no

now i tested it and yes dugi and svui doesn't work together.

commented

best I can advise for now then is to disable either Dugi or SVui's inventory management modules. compat isn't high on the development list atm but may come about in future.