-Added a new search parameter to allow players to display items in locations currently owned by them.
Xruptor [11-04-12 - 12:28]
-Added a new search parameter to allow players to display items in locations currently owned by them.
Example: Lets say you want to see all your items in your bank? type @bank
Example: Lets say you want to see all your items in the void bank? type @void
Please note this will ONLY display items for your currently logged in character.
Available Commands:
@bag
@bank
@equip
@mailbox
@void
@auction
@guid
diff --git a/BagSync.toc b/BagSync.toc
index 1a77d2f..4c050d0 100644
--- a/BagSync.toc
+++ b/BagSync.toc
@@ -2,7 +2,7 @@
## Title: BagSync
## Notes: BagSync tracks your characters items and displays it within tooltips.
## Author: Xruptor
-## Version: 7
+## Version: 7.1
## OptionalDeps: tekDebug
## SavedVariables: BagSyncDB, BagSyncOpt, BagSyncGUILD_DB, BagSyncTOKEN_DB, BagSyncCRAFT_DB, BagSyncBLACKLIST_DB
diff --git a/BagSync_Search.lua b/BagSync_Search.lua
index 17c8559..02777e2 100644
--- a/BagSync_Search.lua
+++ b/BagSync_Search.lua
@@ -3,6 +3,7 @@ local searchTable = {}
local rows, anchor = {}
local currentRealm = GetRealmName()
local GetItemInfo = _G['GetItemInfo']
+local currentPlayer = UnitName('player')
local ItemSearch = LibStub('LibItemSearch-1.0')
local bgSearch = CreateFrame("Frame","BagSync_SearchFrame", UIParent)
@@ -127,6 +128,7 @@ local function DoSearch()
local tempList = {}
local previousGuilds = {}
local count = 0
+ local playerSearch = false
if strlen(searchStr) > 0 then
@@ -140,7 +142,9 @@ local function DoSearch()
["auction"] = 0,
["guild"] = 0,
}
-
+
+ if string.len(searchStr) > 1 and string.find(searchStr, "@") and allowList[string.sub(searchStr, 2)] ~= nil then playerSearch = true end
+
--loop through our characters
--k = player, v = stored data for player
for k, v in pairs(BagSyncDB[currentRealm]) do
@@ -164,8 +168,13 @@ local function DoSearch()
if dblink then
local dName, dItemLink, dRarity = GetItemInfo(dblink)
if dName and dItemLink then
+ --are we checking in our bank,void, etc?
+ if playerSearch and string.sub(searchStr, 2) == q and string.sub(searchStr, 2) ~= "guild" and k == currentPlayer and not tempList[dblink] then
+ table.insert(searchTable, { name=dName, link=dItemLink, rarity=dRarity } )
+ tempList[dblink] = dName
+ count = count + 1
--we found a match
- if not tempList[dblink] and ItemSearch:Find(dItemLink, searchStr) then
+ elseif not playerSearch and not tempList[dblink] and ItemSearch:Find(dItemLink, searchStr) then
table.insert(searchTable, { name=dName, link=dItemLink, rarity=dRarity } )
tempList[dblink] = dName
count = count + 1
@@ -191,8 +200,12 @@ local function DoSearch()
if dblink then
local dName, dItemLink, dRarity = GetItemInfo(dblink)
if dName then
+ if playerSearch and string.sub(searchStr, 2) == q and string.sub(searchStr, 2) == "guild" and k == currentPlayer and not tempList[dblink] then
+ table.insert(searchTable, { name=dName, link=dItemLink, rarity=dRarity } )
+ tempList[dblink] = dName
+ count = count + 1
--we found a match
- if not tempList[dblink] and ItemSearch:Find(dItemLink, searchStr) then
+ elseif not playerSearch and not tempList[dblink] and ItemSearch:Find(dItemLink, searchStr) then
table.insert(searchTable, { name=dName, link=dItemLink, rarity=dRarity } )
tempList[dblink] = dName
count = count + 1