Item Filters
For a long time, Path of Exile players have requested some way to filter items. We were always resistant to this because the parameters of such an item filter would have to be so complicated that we couldn't reasonably make a user interface to support them.
For example, a lot of players want a way to filter out Magic and Normal items. This would be fine, but they still also want to see base item types above level 70. And currency. But not scrolls because they have enough of those. And maps. And any item with 20% quality. But any gem that has quality is good too. And any item with 6 sockets. And any item with 5 or more linked sockets.
As you can see, the array of UI options that we would have to provide to allow the specific filtering requirements of every player would be completely impractical.
This is why we are adding a new feature called Item Filter Scripts in the upcoming expansion. Not only do item filter scripts allow you to filter items, but they allow you to customise the display of items as well.
Item Filter Script Example
The following is a filter script that shows all the items described above and hides everything else:
# You can add comments by putting a # at the start of the line
Show
Rarity >= Rare
Show
DropLevel >= 70
Hide
BaseType "Scroll of Wisdom"
Show
Class Map Currency
Show
Class Gem
Quality > 0
Show
Quality 20
Show
Sockets 6
Show
LinkedSockets >= 5
Hide
The basic syntax of a script is a collection of Show and Hide blocks that each specify conditions. Anything matched by a Show block will be shown and anything matched by a Hide block will be hidden. If there are multiple conditions in a block then all of them must be matched for the block to match an item.
The blocks are matched in the order they come in the file which means that you need to have the block that hides the scrolls above before the line that shows the currency because scrolls would also match the currency block.
An empty block matches all items, which means that the Hide at the end of the file effectively hides everything that wasn't specifically shown.
The example here uses a whitelisting approach where you specify all the items that you want to see, but it is perfectly reasonable to create a filter script that simply hides the items you don't wish to see while showing the rest with an empty Show at the bottom.
Item Filter Condition Types
The following is a full list of all the conditions that you can specify to filter items. Numeric conditions allow you to use comparison operators such as less than (<) or greater than or equals (>=) to indicate that you would like to include items that would compare that way.
Name Notes
ItemLevel The level the item was generated at.
DropLevel The level that the item starts dropping at.
Quality The amount of quality on the item.
Rarity Rarity of the item. Rarities are Normal, Magic, Rare or Unique.
Class The item class. Specifying part of a class name is allowed and will match any classes with that text in the name. So for example "One Hand" will match both "One Hand Sword" and "One Hand Axe"
BaseType The base type of the item. Specifying a part of a base type name is allowed and will match any of the base types with that text in the name.
Sockets Total number of sockets that the item has.
LinkedSockets The size of the largest group of linked sockets that the item has.
SocketGroup A group of linked sockets that contains the specified combination. For example, RRG will match any group that contains two red sockets linked with a green socket.
Modifying How Items Are Shown
The item filter system also gives you the ability to modify how items are displayed.
For example, say you want to show gems that have quality with a blue border. You could do that with the BorderColor attribute as shown here:
Show
Class Gem
Quality > 0
SetBorderColor 128 128 255
Or let's say you want to show Exalts with Purple text for some reason. You could do that with the TextColor attribute as shown here:
Show
BaseType "Exalted Orb"
SetTextColor 255 0 255
You can also set the background colour:
Show
LinkedSockets >= 5
SetBackgroundColor 0 128 0
The three numbers used to specify a colour are the Red, Blue and Green components of the colour where 255 is the highest value.
You can also have an alert sound play with PlayAlertSound. There are 9 alert sounds that can be chosen from by specifying a number:
Show
SocketGroup 6
PlayAlertSound 1
Any or all of these attributes can be added to any Show block to allow complete customisation of how items hovers are shown in the world.
An example with an item filter that applies some of the colour changes described above
Posted by Jonathan
on 2 de abril de 2015 17:53
Grinding Gear Games