0xbs / premade-groups-filter Goto Github PK
View Code? Open in Web Editor NEWA World of Warcraft addon for powerful filtering of premade group listings.
License: GNU General Public License v2.0
A World of Warcraft addon for powerful filtering of premade group listings.
License: GNU General Public License v2.0
Click the reload button in the upper right corner of the premade groups UI.
2x [ADDON_ACTION_BLOCKED] AddOn 'PremadeGroupsFilter' hat versucht die geschützte
Funktion 'Search()' aufzurufen.
!BugGrabber\BugGrabber.lua:573: in function <!BugGrabber\BugGrabber.lua:573>
[C]: in function `Search'
FrameXML\LFGList.lua:1708: in function `LFGListSearchPanel_DoSearch'
FrameXML\LFGList.lua:553: in function `LFGListCategorySelection_StartFindGroup'
FrameXML\LFGList.lua:543: in function <FrameXML\LFGList.lua:536>
The user should be able to define a set of profiles or presets that save a specific PGF configuration. A possible implementation could make use of tabs at the right side of the PGF window and use a better integrated version of https://github.com/enkol/wow-premade-groups-filter
As a first measure, different profiles for each category (dungeon, raid, arena) could be implemented.
Currently is soa missing from the filter list. Any chance to see this added?
I have already added this to my PGF to create a custom version (see files/images below)
The reason for this is that I play in Australia and joining groups or inviting players from US East/Mex/Brazil means I either suffer from high latency (300+) or they do. Which is not ideal for doing high m+ keys. I have also attached the notes I use to update PGF (PremadegroupsFilter.txt). I don't mind doing this for every version and sharing it with my friends however it's very easy to implement. I haven't added Europe obviously but that could also be easily done.
Would it be reasonable to change the syntax to allow sorting based on instance? I'd like to do
(kr > tosl > sob) and (dps < 3 or heals==0)
instead of
(kr or tosl or sob) and (dps < 3 or heals==0)
so that KR is listed first, then ToS, then SoB.
Message: ...face\AddOns\PremadeGroupsFilter\Plugins\RaiderIO.lua:84: attempt to index field 'mplusCurrent' (a nil value)
Time: Fri Oct 30 22:06:35 2020
Count: 1
Stack: ...face\AddOns\PremadeGroupsFilter\Plugins\RaiderIO.lua:84: attempt to index field 'mplusCurrent' (a nil value)
[string "=[C]"]: ?
[string "@interface\AddOns\PremadeGroupsFilter\Plugins\RaiderIO.lua"]:84: in function ?' [string "@Interface\AddOns\PremadeGroupsFilter\Main.lua"]:417: in function <Interface\AddOns\PremadeGroupsFilter\Main.lua:272> [string "=[C]"]: in function
LFGListUtil_SortSearchResults'
[string "@interface\FrameXML\LFGList.lua"]:1784: in function LFGListSearchPanel_UpdateResultList' [string "@Interface\FrameXML\LFGList.lua"]:1760: in function
LFGListSearchPanel_DoSearch'
[string "@interface\AddOns\PremadeGroupsFilter\Dialog\Dialog.lua"]:142: in function <...terface\AddOns\PremadeGroupsFilter\Dialog\Dialog.lua:139>
Title is self explanatory :)
Ideally, you could just put check marks next to the dungeon(s) you're looking for. This would be useful, if you're searching for a M+ key of a certain level for several dungeons at once.
from the raider io discord:
We know which servers are associated with which each region via realm wiki page. Would you consider adding variables to the advanced expression query such that someone who is playing NA could write the below expression to filter out oceanic and latin american groups?
not ocerealm and not larealm
I think the best we can do is use the group leaders realm to categorize the group, since I don't know if we can introspect the party members. If we can inspect all party members then we could classify each party member in to a region, and whichever region dominates the group would become the classification for the group itself. Either option would be great, though.
I believe the hard separation of regions is NA, EU, and Asia. However, within NA we have the below categories. There may be a similar situation in EU and Asia regions, but I am not from those regions so I cannot speak to that.
In the wiki of Keywords:
https://github.com/0xbs/premade-groups-filter/wiki/Keywords
There is riopmain, but should be riomain
Would be nice to be able to sort groups by how many of an armor type they have, like more than 2 leathers or something like that. Makes it easier to get potential gear traded or trade to others in PUGs.
Example
not server("thrall")
Would filter out all groups where the group leader is on Thrall. Not sure if each group member's server is exposed in a way that could be filtered but if that's possible it would be even better.
I know that blizzard returns only 50 results, and that filtering is done clientside.
Would it be possible to add a field searchfield:name("tos") that uses the main searchfield and thus does filtering on serverside?
Continent Filter
I'm in North America. If I join a group where the leader is from Australia (OCE groups), I will experience 200-300ms ping which I do not find enjoyable. Because I don't want to play with lag, I don't join OCE groups.
If an Australian joins my group, they will experience the same lag.
It would be nice to have a filter that would block a certain continent. I could block OCE, and Australians could block North America. This could be determined based on server name.
IO Filter
In the advanced expression query, the ability to say something like "io > 2000".
The RaiderIO addon has functions to provide this information.
Please implement filters for classes. For example:
1 tank which is class x
+
containing at least 1 class of y
+
containing at least 1 class of z
Due to increasing popularity of r.io, this addon could gain significant traction by allowing filtering of given realms, in interest of joining groups where the leaders realm is not at maximum capacity.
edit: Disregard i see you're still working on it... i read gud -_-
As an arena player, i wanted to use this added to filter by 2v2 or 3v3 and search for a team with 1 healer and max 1 dps.
I love this addon and have used since Legion. Thank you so much. An issue I've had for a while now is that the check marks for group remember the max checked. In other words, if I check Members (with added numbers), even if unchecked, will reappear checked with those same numbers next log in. The only fix is to delete my PFG file in WTF Folder. Another example, I was with a Tank friend of mine last night, so I added a tank filter of 0 to 0, and I am a healer so it was set to 0 to 0. So for the last week I have to uncheck Tank, even though I unchecked it the previous times. Thanks for your help!
For mythic plus, it would be nice to use OR logic to filter for keywords when looking for specific mythic plus levels. Sometimes you want to run a specific level and could stand to filter out all those too far above or below your range. Since this is only listed in the freeform title, you'd have to filter against it.
Examples:
sd and title == (8 or 9 or 10)
matches
"+8 SD" and "9" and "mythic 10 tank" but not "+13" or "15+ sd"
pf and title > 6
matches
"6+ plaguefall" and "+10 pf" but not "4 pf" or "m+3 plaguefall" or "m0 plaguefall"
Would be awsome if there was an option to auto. fill the note to the Group Leader when Queuing for a Group when Choosing Role.
When creating a group for a popular key or raid group there are so many applicants that it would be very useful to apply to them the same filters as when looking for groups.
I understand that not all filters make sense when filtering applicants and not groups. But some would be very helpful like raider.io properties or classes.
Is it even possible to do that?
if you ad "ur" for instance filtering instead of "tur" instead of just not matching it breaks filtering.
Date: 2020-09-19 13:18:40
ID: 1
Error occured in: Global
Count: 2
Message: ...face\AddOns\PremadeGroupsFilter\Plugins\RaiderIO.lua line 52:
attempt to call field 'HasPlayerProfile' (a nil value)
Debug:
[string "@PremadeGroupsFilter\Plugins\RaiderIO.lua"]:52: ?()
[string "@PremadeGroupsFilter\Main.lua"]:416:
PremadeGroupsFilter\Main.lua:272
[string "=[C]"]: LFGListUtil_SortSearchResults()
[string "@..\FrameXML\LFGList.lua"]:1791: LFGListSearchPanel_UpdateResultList()
[string "@..\FrameXML\LFGList.lua"]:1675: onEvent()
[string "@..\FrameXML\LFGList.lua"]:218:
..\FrameXML\LFGList.lua:132
not sure if this falls under UI Automation and/or is generally prevented by the game already but that'd be great
I don't know what changed. I was using the addon earlier today and don't remember making any changes. When I open pre-made groups -> dungeons, the addon doens't load. When I try to select the box to open the addon, I get:
4x PremadeGroupsFilter\Dialog\Dialog.lua:52: attempt to index local 'model' (a nil value)
[string "@PremadeGroupsFilter\Dialog\Dialog.lua"]:52: in function <PremadeGroupsFilter\Dialog\Dialog.lua:49>
Locals:
self = UsePFGButton {
0 = <userdata>
isSkinned = true
SetCheckedTexture = <function> defined =[C]:-1
SetHighlightTexture = <function> defined =[C]:-1
SetPushedTexture = <function> defined =[C]:-1
text = UsePFGButtonText {.
}
backdrop = <unnamed> {
}
SetNormalTexture = <function> defined =[C]:-1
}
button = "LeftButton"
down = false
checked = true
model = nil
(*temporary) = nil
(*temporary) = 2
(*temporary) = "attempt to index local 'model' (a nil value)"
PGF = <table> {
PopupMenu_Toggle = <function> defined @PremadeGroupsFilter\Dialog\PopupMenu.lua:126
GetModel = <function> defined @PremadeGroupsFilter\Main.lua:77
Dialog_ResetPosition = <function> defined @PremadeGroupsFilter\Dialog\Setup.lua:132
Dialog_SetUpMinMaxField = <function> defined @PremadeGroupsFilter\Dialog\Setup.lua:175
GameTooltip_AddWhite = <function> defined @PremadeGroupsFilter\Dialog\Help.lua:25
ResetSearchEntries = <function> defined @PremadeGroupsFilter\Main.lua:114
previousSearchExpression = "true"
GetLockoutInfo = <function> defined @PremadeGroupsFilter\Modules\Lockout.lua:52
Empty = <function> defined @PremadeGroupsFilter\Modules\Util.lua:102
Table_Copy_Shallow = <function> defined @PremadeGroupsFilter\Modules\Util.lua:36
Table_Subtract = <function> defined @PremadeGroupsFilter\Modules\Util.lua:57
declinedGroups = <table> {
}
DoesPassThroughFilter = <function> defined @PremadeGroupsFilter\Modules\Expression.lua:46
previousSearchLeaders = <table> {
}
HasRemainingSlotsForLocalPlayerPartyRoles = <function> defined @PremadeGroupsFilter\Main.lua:136
Dialog_Reset = <function> defined @PremadeGroupsFilter\Dialog\Dialog.lua:121
DoFilterSearchResults = <function> defined @PremadeGroupsFilter\Main.lua:280
Dialog_OnMouseUp = <function> defined @PremadeGroupsFilter\Dialog\Setup.lua:72
RemoveCommentLines = <function> defined @PremadeGroupsFilter\Main.lua:67
GetDifficulty = <function> defined @PremadeGroupsFilter\Modules\Difficulty.lua:314
UsePFGButton = UsePFGButton {
}
ACTIVITY_TO_DIFFICULTY = <table> {
}
currentSearchExpression = "true"
Dialog_MaximizeButton_OnClick = <function> defined @PremadeGroupsFilter\Dialog\Setup.lua:82
IsDeclinedGroup = <function> defined @PremadeGroupsFilter\Main.lua:430
Dialog_MinimizeButton_OnClick = <function> defined @PremadeGroupsFilter\Dialog\Setup.lua:76
Popup_GetSelectedEntry = <function> defined @PremadeGroupsFilter\Dialog\PopupMenu.lua:130
Dialog_SetUpUsePGFCheckbox = <function> defined @PremadeGroupsFilter\Dialog\Setup.lua:186
GetMatchingBossInfo = <function> defined @PremadeGroupsFilter\Modules\Lockout.lua:80
PopupMenu_Hide = <function> defined @PremadeGroupsFilter\Dialog\PopupMenu.lua:121
GameTooltip_AddDoubleWhite = <function> defined @PremadeGroupsFilter\Dialog\Help.lua:29
Dialog_OnModelUpdate = <function> defined @PremadeGroupsFilter\Dialog\Dialog.lua:42
Dialog_Max_OnTabPressed = <function> defined @PremadeGroupsFilter\Dialog\Dialog.lua:166
OnLFGListSearchEntryOnEnter = <function> defined @ElvUI\Core\Core.lua:54
NotEmpty = <function> defined @PremadeGroupsFilter\Modules\Util.lua:101
Dialog_Toggle = <function> defined @PremadeGroupsFilter\Dialog\Dialog.lua:171
SHORTNAME_TO_DIFFICULTY = <table> {
}
Dialog_Min_OnTabPressed = <function> defined @PremadeGroupsFilter\Dialog\Dialog.lua:162
currentSearchLeaders = <table> {
}
Dialog_DifficultyDropdown_OnClick = <function> defined @PremadeGroupsFilter\Dialog\Dialog.lua:151
Dialog_ResetButton_OnClick = <function> defined @PremadeGroupsFilter\Dialog\Dialog.lua:145
Dialog_Ref
https://puu.sh/GKZFs/cd84b36cfc.png
https://puu.sh/GKZFW/ffd11e8af4.png
doesn't matter what i put in activityname:find("xxx") - it's errors. how to use it?
It would be great to write Macros that open the group finder Frame and init a search.
I managed to open the frame by
/run if not GroupFinderFrame:IsVisible() then PVEFrame_ShowFrame("GroupFinderFrame") end
/click GroupFinderFrameGroupButton4
/run LFGListCategorySelection_SelectCategory(LFGListFrame.CategorySelection,2,0)
/run LFGListCategorySelectionFindGroupButton_OnClick(LFGListFrame.CategorySelection.FindGroupButton)
But PGF filter fails. I have to manually activate/deactivate it in order to filter properly.
It would be great if you could add an option for this to save some clicks
I've not used anything but the advanced filter text box. The unused full window occupies a lot of real estate. It would be a nice-to-have to only have the advanced filter text box shown and placed below the dungeon finder window. That placement has the secondary effect of not interfering with the default raider.io window. (Or draggable.)
Is there a method to search for multiple keywords? ie: I want to search for 'ha-li' and 'houndlord' groups while in the vale to farm the mounts. I looked through the documentation and tried using the activityname keyword but it didn't work.
activityname:find("ha-li")
The first three examples under Names, do not work, copy-pasted I get an error message indicating "Symantic error in the filter expression".
eg, leader:find("arthas")
gets the error message
If I instead use leader==arthas
this will work, but requires correct, full spelling of the name including realm.
If this feature doesn't exist it seems like a crucial omission. I suggest to be denoted by quotations (e.g. "16" or "sylv").
It would be nice to be able to filter by keystone difficulty/level for example:
mythicplus and klvl >= 10
The text boxes seem to load correctly but the checkboxes aren't. I have tried changing the value of everything to false in the the lua file and it still showed everything except difficulty and no ilvl as true. I assume these values are pulled from elsewhere but I have no idea where.
Feature request for a filter function that shows only dungeons that have the same lockout than the player which is searching. E.g. if the player has defeted the first boss X of a raid, only groups which have defeated X but not any other bosses should be shown.
So something like:
partyfit and soa and ('between +4 and +7 m+ level')
It could be great to allow the research for groups name (For key levels)
If I want to fetch for +10, typing something like '$name contains "+10"' would be awesome :)
It would be great to be able to change settings for the addon. Examples for settings:
When using AddOnSkins (Which skins PGF to be transparent and to look more like ElvUI), it shows that the PGF overlay overlaps over RaiderIO.
Edit: This ussue is oresent without AddonSkins but is less noticable due to PGF being non transparent by default.
The gameVersion
array for version 1.38 from the API is empty. I assume this is why it is not available for download from CF or the Twitch client. Did you select 8.3.0 when you uploaded the file?
Hi guys,
Thanks for the great addon!
I've got an improvement request. It would be great if the addon window would either be moveable or adjust its position to other, already existing windows.
In my specific case the PGF addon is on top of the Raider.io addon and neither can be moved:
Another small addition to this: The PGF window seems to be 1 pixel larger on the top and the bottom - both in my ElvUI and the default Blizzard interface.
Thanks,
Stefan
From looking at the reference sheet for the advanced expressions, the below query seems to still return groups with mages.
hoa or top and mages == 0
Have also tried
hoa or top and dps_mages == 0
Still returns groups where a mage is present.
When using the addon many times you will get diffrent results for applying the same query.
For example:
mythic
mythic and tanks <= 0
This does not happen because the grps expire because after refreshing a random amount of time you will see the same groups sooner or later again.
Also it feels like the difficulty filter is not working properly.
Addon version is 2.1.1.
The rio keyword is really useful for filtering mythic+ groups.
I would like to see something similar to filter out raid group listings with leaders that don't meet certain progression thresholds to avoid 6/8N group leaders that advertise hc zerg groups.
I can't express how helpful the addon is. I've been using it for several years and I can't imagine playing without it!
I run many alts. When playing on a certain character, I may put some time coding a complex expression to filter groups the way I want.
When switching to another character, it'd be useful if I can "load" that expression from the first character and tweak it, instead of writing it from scratch, or relog-copy-relog-paste.
It also helps when "resetting" the expression by mistake.
Requirements:
Nice-to-have
Hi everyone, been trying to get the myrealm flag to work on version 2.0.1 but it doesn't seem to be working? Did Blizzard change how you can detect realms, or is this a user error and I'm just dumb?
tanks >=1 or heals >=1 and mythic and partyfit and myrealm
Already in the works with 2682ae0.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.