I'm sorry, but the in-game filter is a far cry from D2stats

Discuss Median XL!
Milkshake
Abomination
152 | 18
Common Popularity Badge
Has a thread with over 10.000 views
Just reinstalled d2stats on new PC and looking at my old notifier. How the hell do I convert hide rules to new MXL filter??

Some of my previous d2stats hide rules:

Code: Select all

hide normal superior magic sacred "(Short|War|Two-Handed|Giant|Bastard) Sword|Scimitar|Saber|Falchion|Claymore|Spatha|Backsword"
hide normal superior magic sacred "(Hand|Double|Large|Broad|Battle|Giant|Throwing|Balanced|Mammen) Axe|^Axe$|Ono|Valaska"
hide normal superior magic sacred "Club|Spiked Club|Mace|Morning Star|Flail|War Hammer|Maul|Great Maul|^Scepter|Grand Scepter|Bonebreaker|Goedendag|Angel Star"
hide normal superior magic sacred "^Javelin|Pilum|(Short|Throwing) Spear|Glaive|^Spear|Trident|Brandistock|Spetum|^Pike|^Scythe"
hide normal superior magic sacred "Dagger|Dirk|Kriss|(Throwing|Flying) Knife"
hide normal superior magic sacred "Wand|Eagle Orb|Sacred Globe|Smoked Sphere|Clasped Orb|Jared's Stone|(Short|Long|Gnarled|Battle|War) Staff"
hide normal superior magic sacred "Leather Armor|Mail|Studded Leather|(Breast|Field|Gothic) Plate"
hide normal superior magic sacred "Skull Cap|^Helm|^(Great|Full) Helm|Circlet|Coronet|Tiara|^Mask"
hide normal superior magic sacred "Buckler|(Small|Large|Kite|Tower|Bone) Shield"
hide normal superior magic sacred "(Light|Heavy) Belt|^Belt|(Heavy|Chain) Gloves|Light Gauntlets"
hide normal superior magic sacred "(Heavy|Chain|Light Plated) Boots"



Meanwhile, the code to hide sacred daggers on the in-game filter is:

Code: Select all

{
  "default_show_items": true,
  "name": "New Configuration 6984",
  "rules": [
    {
      "active": true,
      "automap": false,
      "ethereal": 0,
      "item_quality": -1,
      "max_clvl": 0,
      "max_ilvl": 0,
      "min_clvl": 0,
      "min_ilvl": 0,
      "notify": false,
      "params": {
        "code": 541078324
      },
      "rule_type": 1,
      "show_item": false
    }
  ]
}


I could use AI to create all the JSON key-value pairs, but each item has a UID rather than using the name. Is there a mapping of item names to ID somewhere? I'd rather not spend a year in-game or on the website adding a shit ton of individual hide rules.


Really wish the new filter didn't break d2stats' hide. I would uninstall the in-game filter if possible. Sorry to whoever made it, but it's not very useful IMO.
Azadi
Prowler
17 | 5
Not sure if that's what you are looking for but i've made earlier this year a list of all items along with their codes for my tool:
Website:
https://azadix.github.io/mxl-filter-editor/
List of all items:
https://github.com/azadix/mxl-filter-editor/blob/main/data/itemCode.json

Personally i'd recommend hiding category "Gear" in game and unhide all basetypes you need instead of the reverse that you had in D2Stats (i've noticed the list of hidden bases is giant) eg.

Show Item Ancient Armor (Sacred)
Hide Category Gear

or if you only want to hide tiered just add the 4 category rules to hide Tier 1, 2, 3 ,4.

imho it is much simpler than the approach you are trying to do right now, and i strongly belive the current ingame implementation is good enough for hiding large amount of stuff eg. gear, gems, runes etc
User avatar
Giu
Heretic
448 | 72
Great Popularity Badge
Has a thread with over 50.000 views
Common Love Badge
Earned over 20 cookies
Common Guide Badge
Created a complete character guide
Common Auction Badge
Won 50 auctions
Just default to hide and add shit that you need to show.

I recommend checking the filters in: https://tsw.vn.cz/filters/

For shit to add to show thar you may not know.
User avatar
Fushuan
Imp
4 | 0
Common Supporter Badge
Donated 1 time
If you get the list or can point me to where those exist, I might be up for creating a script that does the parsing. As in, you give me a file with old filter regex rules and I spit a new file with the equivalent ingame filter rules. Please don't use AI :(

I'll even try do it in powershell instead of python so non linux players can also use it :)
Milkshake
Abomination
152 | 18
Common Popularity Badge
Has a thread with over 10.000 views
Azadi wrote:Not sure if that's what you are looking for but i've made earlier this year a list of all items along with their codes for my tool:
Website:
https://azadix.github.io/mxl-filter-editor/
List of all items:
https://github.com/azadix/mxl-filter-editor/blob/main/data/itemCode.json

Personally i'd recommend hiding category "Gear" in game and unhide all basetypes you need instead of the reverse that you had in D2Stats (i've noticed the list of hidden bases is giant) eg.

Show Item Ancient Armor (Sacred)
Hide Category Gear

or if you only want to hide tiered just add the 4 category rules to hide Tier 1, 2, 3 ,4.

imho it is much simpler than the approach you are trying to do right now, and i strongly belive the current ingame implementation is good enough for hiding large amount of stuff eg. gear, gems, runes etc


Ty for the list! I'll look at utilizing that.

Unhiding the bases not in my list is probably more effort than hiding them all. I don't want to get into the reasoning behind why I want only those bases hidden, though. My biggest complaint with in-game is that it's much harder to make such complex filters.
Milkshake
Abomination
152 | 18
Common Popularity Badge
Has a thread with over 10.000 views
Fushuan wrote:If you get the list or can point me to where those exist, I might be up for creating a script that does the parsing. As in, you give me a file with old filter regex rules and I spit a new file with the equivalent ingame filter rules. Please don't use AI :(

I'll even try do it in powershell instead of python so non linux players can also use it :)


Looks like Azadi provided it in his post! If you want to create a script that does it, that'd be awesome. I was planning on just using AI to convert my specific rules to JSON, but a script would be better for reuse.

And yeah... I don't trust AI much for this stuff, but I wasn't gonna convert it all by hand lol. A script def better, so if you don't do it, I will. PowerShell GG ;)
Milkshake
Abomination
152 | 18
Common Popularity Badge
Has a thread with over 10.000 views
Giu wrote:Just default to hide and add shit that you need to show.

I recommend checking the filters in: https://tsw.vn.cz/filters/

For shit to add to show thar you may not know.


Nah. My list of things I want to show is larger than what I want to hide. I purposely want good bases shown for personal reasons.

The public filters are not great IMO.
User avatar
magz_
Abomination
158 | 75
Legendary Popularity Badge
Has a thread with over 250.000 views
Common Love Badge
Earned over 20 cookies
Great Guide Badge
Created 3 complete character guides
Milkshake wrote:
Giu wrote:Just default to hide and add shit that you need to show.

I recommend checking the filters in: https://tsw.vn.cz/filters/

For shit to add to show thar you may not know.


Nah. My list of things I want to show is larger than what I want to hide. I purposely want good bases shown for personal reasons.

The public filters are not great IMO.


Everybody's list of things they want to show is bigger than things they want to hide. It's generally a good idea to hide all and then show what you want to show. That's just efficient filtering.

It takes 15 minutes to configure an mxl filter from scratch and the public filters do 90% of the work for you so you can add your personal reasons items from there.
User avatar
Fushuan
Imp
4 | 0
Common Supporter Badge
Donated 1 time
Milkshake wrote:
Fushuan wrote:If you get the list or can point me to where those exist, I might be up for creating a script that does the parsing. As in, you give me a file with old filter regex rules and I spit a new file with the equivalent ingame filter rules. Please don't use AI :(

I'll even try do it in powershell instead of python so non linux players can also use it :)


Looks like Azadi provided it in his post! If you want to create a script that does it, that'd be awesome. I was planning on just using AI to convert my specific rules to JSON, but a script would be better for reuse.

And yeah... I don't trust AI much for this stuff, but I wasn't gonna convert it all by hand lol. A script def better, so if you don't do it, I will. PowerShell GG ;)


More than the list, a json with name to code conversion, great!
Time to work :)
User avatar
whist
Team Member
642 | 562
Legendary Popularity Badge
Has a thread with over 250.000 views
Legendary Love Badge
Earned over 500 cookies
Legendary Supporter Badge
Donated 25 times
Legendary Contribution Badge
Median XL Team Member
So let me get this straight, the in-game filter is a far cry from d2stats because you can't simply grab a config file from another tool that isn't maintained by us and drop it in as is? Also, the .json config isn't meant to be edited manually as text, as you've already found out it's gonna contain some codes that aren't easily human-readable, you're meant to use the in-game config UI.