Item filter script based on hiding items, rather than whitelisting?

I keep seeing people put together scripts like this:

"
Whitelist wrote:

Show
...

Show
...

Show
...

Hide


The problem with that is I don't know what I may be potentially hiding!

I'd rather see a script that blacklists things in this format:

"
Blacklist wrote:

Hide
...

Hide
...

Hide
...

Show


Is this possible or are there simply too many cases to consider here?
IGN @dime
it is most probably due to ggg processing order.

what im more worried about is the performance hit it might induce on players with weak pc's

people might not understand that, but this kind of filter is very (and i mean very) expensive computing-wise and this cost scales brutally with number of entries

given that these entries might be difficult to precompute/precompile (or maybe after first run) we might see the same 'strongbox lag' but this time with lootsplosions

ive seen filters with more than 100 different shows/hides, sorted in a nice (aesthetically) order completely disregarding that order in case of regexp means A LOT. wasnt ggg talking about some kind of limit on the filter list?
"
dime wrote:
Is this possible or are there simply too many cases to consider here?


It's very possible. You know better than anyone else what you want to hide, so feel free to make a blacklisting script to share with people. The most important thing--and the reason other people aren't doing so--is that you will want several lines per "hide" item. Because if you want to, for example, hide less-than-six socket white or blue items that do not have chromatic links, you will need to specify all of those conditions separately. (less than six sockets on 1 line, non-chromatic links another line, white or blue items another line)

Once someone has already made a fairly complete script for this, I suspect other people will vary it and find it not horrible to deal with. Though I will personally stick with writing my own whitelist scripts.

"
sidtherat wrote:
it is most probably due to ggg processing order.

what im more worried about is the performance hit it might induce on players with weak pc's

people might not understand that, but this kind of filter is very (and i mean very) expensive computing-wise and this cost scales brutally with number of entries

given that these entries might be difficult to precompute/precompile (or maybe after first run) we might see the same 'strongbox lag' but this time with lootsplosions

ive seen filters with more than 100 different shows/hides, sorted in a nice (aesthetically) order completely disregarding that order in case of regexp means A LOT. wasnt ggg talking about some kind of limit on the filter list?


I take it you've never dealt with performance engineering! By which I mean, you seem like a terrible programmer.

The "script" isn't going to be run every time an item drops, ya know. It's not a real script, it's basically a config file that will be read by the game only when you change it, and the client will basically make a giant table (I say giant, but it will probably be pretty tiny compared to the 2 GB of RAM that PoE already uses), and lookups when an item drops will be done in O(1) time to determine if the item should be displayed or not. Why the fuck would GGG be matching based on regular expressions? This is C++, not perl. If you (general you, this time I don't mean you in particular) were to code a video game in perl it would be a piece of garbage.
Last edited by codetaku on Apr 6, 2015, 4:59:15 PM
"
sidtherat wrote:
it is most probably due to ggg processing order.

what im more worried about is the performance hit it might induce on players with weak pc's

people might not understand that, but this kind of filter is very (and i mean very) expensive computing-wise and this cost scales brutally with number of entries


I don't see why it would be. It just has to check a simple true or false condition for each entry in the table until it finds one that matches and then either show or hide it. It doesn't even check ALL of the conditions since it stops at the first one which matches. Might seem like a lot to be doing this for every item that drops, but just checking if a condition is true or not will be extremely fast and probably MUCH faster than, for example, trying to render the text box for actually showing all the items that drop(including having to figure out where to position that box for each of them etc.)
"
dime wrote:
I keep seeing people put together scripts like this:

"
Whitelist wrote:

Show
...

Show
...

Show
...

Hide


The problem with that is I don't know what I may be potentially hiding!

I'd rather see a script that blacklists things in this format:

"
Blacklist wrote:

Hide
...

Hide
...

Hide
...

Show


Is this possible or are there simply too many cases to consider here?


Why not stick with the 1st example, and instead of "hide" at the end, specify what you want to hide? That way you tell the script to show what you want, then hide what you don't want, like white weapon basetypes (instead of hide "everything else").
My summoner guide: https://www.pathofexile.com/forum/view-thread/1765329
My shop thread: https://www.pathofexile.com/forum/view-thread/1748967
oh guys

performance engineering in sterile lab conditions is one thing. deployment with scant resources of a 3rd tier feature is completely different stuff

ive worked long enough in CS industry (longer than i want to admit sadly) and have seen it all

id like to remind you that poe is the game that kills characters in loading screens and has a rain animation looking like late 90's yet expecting one to have a rig worthy of running Bf4 or latest far cry/crysis. development is a rough world and it seems many corners have been cut already.

anyone doubting - please tell me that 'stash search feature' is lightning-fast. ive seen javascript implementations that have more life in them than what is currently in.

if it is the same engine - and most probably it is, because.. well.. hey why not - it might end badly for people with 'potatoes'

i hope it gets done 'correctly' with filters being precompiled and applied as a mesh with a 'first hit' policy (pre-ordered to suit given filterset the best etc) however.. ill wait and see. strongbox-lag was a major issue for over a year (and with exiles IT STILL IS!) so why this is to be any different?

btw - can you look for an item's name? as in 'loath bane'? if yes - then expect lags..

i agree with u OP, and i will also be using a blacklist filter. its much safer, if u miss something in ur filter then the item gets shown and u can fix that. but if a whitelist filter is not done properly u could miss something awesome. also, with new content always coming out, a whitelist will need to be updated, whereas a blacklist often will not need updating. it also just seems more intuitive to me.
It's pretty hard to make blacklist only, because you need to consider a lot of combinations.
The best way to do it: make whitelist, but instead of putting single hide at the end you put your blacklist there. This will allow you to highlight all items you want (whitelist goes first), then hide all things you don't want to see and still leave thigns you missed with default colors. You can play and add things you missed to either black or whitelist later with this setup wout many problems.
IGN: rooteniy
Both options are there. It's up to you to decide which approach fits your needs better.
I think it's because GGG's example was made as a whitelist filter, so it was easier to figure things this way.

Also, I think that != (inequality) operator would make things easier for blacklist filters, and even for whitelist ones. From GGG's (modified) example:
"
Hide
BaseType "Scroll of Wisdom"

Show
Class Currency


with inequality operator:
"
Show
Class Currency
BaseType != "Scroll of Wisdom"


This way the whole expression is simplified to one block.

Report Forum Post

Report Account:

Report Type

Additional Info