Guide:Item filter guide

From Path of Exile Wiki
Revision as of 07:19, 4 July 2015 by >Davros70 (Created page with "As requested via my [https://www.pathofexile.com/forum/view-thread/1260664 Original Thread] on [https://www.pathofexile.com Path of Exile] ==Loot Filters - The How To Guide=...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

As requested via my Original Thread on Path of Exile


Loot Filters - The How To Guide

Quick Guide

Step 1
Go to:\My Documents\My Games\Path of Exile
Step 2
Create a text file with the name you want your Filter to have. When you Save this file, be sure to select 'Save As' and set the file type to "All Files (*.*)". Then save the file as: filtername.filter
It should look like this if done correctly
If you cannot see your file extension, Show/Hide File extensions in Windows
Step 3
Go to the in-game Options menu and click on the UI tab. You should see this new option, located at the very bottom of the list:
If your Filter is not a .filter file, or it is not located in the same folder as your awakeningbeta_Config.ini file, you won't see this option.

Clicking 'Reload' will display this message if the Filter is working correctly:

Creating your own

To create a Loot filter, you generally need to use a text editor such as NOTEPAD Some versions of NOTEPAD++ Do work, but most do not from reports. Currently the Encoding must be ANSI or UTF-8

Currently if any part of the file directory contains a non-english character it will not work - this includes your computer username

You can Edit your filter with the game still running. All you need to do is Open it, edit it and save it then press reload in the client.

The basic idea is a list of Show and Hide "blocks" that each specify certain conditions by information provided in each line. 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.

Code Breakdown

A section is defined as a *collection of blocks*, typically with a general purpose in mind. For example, the section outlined in red is designed to highlight certain gems. All sections in a script should begin with a 4-digit header code, which can be used to quickly jump from place to place within the script.

A block is defined as a *collection of lines*, which have a singular purpose. In the block in orange, rare gems such as Empower are highlighted. A block must begin with a "Show" or "Hide" line. A block ends when another line containing Show or Hide is read by the client.

A line is used to give instructions *to the block in which it is contained*. The line highlighted in yellow gives a blue-green background to quality gems, but does not affect the block below it, which affects only rare gems.


Sample Filter

#You can add comments in filters by placing them behind a # on a new line.
#This is a comment - The client will ignore this.
Hide
    BaseType Flask
    Quality < 10
Show
    BaseType Flask
Show
    Rarity >= Rare
Show
    DropLevel >= 70
Hide
    BaseType "Scroll of Wisdom"
Show
    Class Map Currency
Show
    Class Gem
    PlayAlertSound 4 75
Show
    Quality 20
    SetTextColor 0 0 255
Show
    Sockets 6
    SetBorderColor 255 0 0 
Show
    LinkedSockets >= 5
    SetFontSize 45
Hide

This Filter shows

  • All Flasks with 10% or more quality
  • Rare and unique items
  • Base items equal to and above level 70
  • Currency except Wisdom Scrolls
  • Maps
  • All Gems A sound will play
  • Normal and Magic Items with 20% quality This has blue text
  • 6 Socketed Items This has a Red Border
  • Items with 5 or more links This is shown with much larger text

Everything else will be hidden unless you press ALT

The most important thing to note is that blocks are read from top to bottom in the file by the client, The highest block takes priority, 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.

This is why flasks come first in this list, They can not be rare and their droplevel is below 70.

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.


Item Filter Conditions

Condition Description
ItemLevel This is the itemlevel of the item, it has controls what mods can roll on the item.
< This will match items lower than the figure noted
> This will match items higher than the figure noted
= This will match items equal to the figure noted
<= This will match items lower than or equal to the figure noted
>= This will match items higher than or equal to the figure noted
DropLevel This is the level required for an item to drop
Quality This is the quality of the item (0-20%) Shown on drop.
Rarity This is the Rarity of the item - Normal, Magic, Rare or Unique
Class This is the Item Class See Below Specifying Part of the name will match multiple - Eg "One Hand" will match both "One Hand Sword" AND "One Hand Axe" Using Quotation Marks
BaseType This is to specify a specific basetype - Specifying part of the name will match any base items with that text in the name "Map" would match "Map" and "Maple Round Shield"
Sockets This is the total amount of sockets the item has when dropped.
LinkedSockets This is size of the largest group of linked sockets the item has when dropped.
SocketGroup This is to specify a certain group of sockets for instance RGB would show all items with one red, one green and one blue linked sockets.
Height This specifies the height of an item as it would be in your inventory
Width This specifies the width of an item add it would be in your inventory

Borders, Colors, Size and Sounds

Condition Description Value
SetBorderColor This is the color of the border (if any) you want 000 000 000 000 -> 255 255 255 255
SetBackgroundColor This is the background color of the text box shown 000 000 000 000 -> 255 255 255 255
SetTextColor This is the color of the text you would like 000 000 000 000 -> 255 255 255 255
SetFontSize This is the size of the text shown on the item 18 -> 45 (32 being normal)
PlayAlertSound There are 9 different sounds you can use 1-9 - You can also set a volume 0-100 See Below

List of Class Types

You can specify any from this list:

Life Flasks
Mana Flasks
Hybrid Flasks
Currency
Amulets
Rings
Claws
Daggers
Wands
One Hand Swords
Thrusting One Hand Swords
One Hand Axes
One Hand Maces
Bows
Staves
Two Hand Swords
Two Hand Axes
Two Hand Maces
Active Skill Gems
Support Skill Gems
Quivers
Belts
Gloves
Boots
Body Armours
Helmets
Shields
Stackable Currency
Quest Items
Sceptres
Utility Flasks
Maps
Fishing Rods
Map Fragments
Hideout Doodads
Microtransactions
Jewel
Divination Card 

''If you specify part of a name it will match all that contain that part of the name.
For example "Skill Gems" will match both "Active Skill Gems" and "Support Skill Gems"'' 

Using Quotation Marks for Classes

An example of why you should always use quotes for multi-word classes, consider the following:

I want to find all one-handed swords, thrusting and otherwise. So, I include the line

Show
    Class One Hand Swords

When an item drops, this first looks for any class which includes "One." This will mark: One Hand Swords, Thrusting One Hand Swords, One Hand Axes, One Hand Maces

If it doesn't match those, it'll attempt to match on "Hand." This will mark: Two Hand Swords, Two Hand Axes, Two Hand Maces

Failing both of those, it'll attempt to match on "Swords." This will not mark anything additional, because One Hand Swords, Thrusting One Hand Swords, and Two Hand Swords have already been included.

Now, whatever styling you include will be applied to all of the above classes of weapons. If you really only want One Hand Swords and Thrusting One Hand Swords, use

Show
    Class "One Hand Swords"

Condition Adjustment

Font Size Adjustment is 18-45 (32 is normal)

SetFontSize 40 

Volume Adjustment is 0-100 (yet to find out normal value)

PlayAlertSound 7 59 

Height and Width You can set the height and width for an item to be for your filter to apply. This would work well in the RGB linked items section where you might not want to be picking up RGB items such as 2hs that take up alot of space in your inventory.

    Show
    Width 1
    Height >2
    SocketGroup RGB 

This would show any rgb linked items that are 1 space wide and 3-4 high, eg. Daggers, Wands, Thrusting 1h Swords, 1h Swords

    Show
    Width 2
    Height <= 3
    SocketGroup RGB 

Would show Helms Boots Gloves and Body Armours


Color Options

Use a color picker such as in MSPaint

Any RGBA combo can be used for the color combinations 000 000 000 000 to 255 255 255 255 The A is the Alpha Channel which controls opacity/transparency. For the Alpha Channel I would recommend not using lower than 150 as it gets too hard to see.


Cutting your code down to size!

While most people are happy to put in the effort to make sure they haven't missed anything in their filter code, There are shortcuts to be taken without compromising your filter.

Cutting short your Class Types

For instance, while you might just want to see everything else that you haven't specifically listed you can simply put

Show

At the end of your file, which works the same way as Hide would.

You could want to see everything except Claws

This is where you could type out the whole list as below Option 1:This option here could take you quite a while to type out.

Show
    Class "Daggers" "Wands" "One Hand Swords" "Thrusting One Hand Swords" "One Hand Axes" "One Hand Maces" "Bows" "Staves" "Two Hand Swords" "Two Hand Axes" "Two Hand Maces" "Sceptres" 

But you do have options to make it easier!

Option 2: This option here cuts down on clutter within your code

Show
    Class Claw Dagger Wand "One Hand" Bow Stave "Two Hand" Sceptre 

Further, as the client doesn't need to have the entire group of items in quotation marks, "One Hand Swords" "Thrusting One Hand Swords" "One Hand Axes" "One Hand Maces" Would all be condensed down to "One Hand" or even "One" The same goes for Two Handed items "Two" - You could even show both of these, by quoting "Hand"

Show
    Class Claw Dagger Wand "Hand" Bow Stave Sceptre

Option 3: You could take a much easier approach to hiding a single class of item.

Hide
    Class "Claws"

ItemLevel Code and Process

If you wanted to see rare items, rare items between ilvl60 and ilvl74 and then rare items with an itemlevel of 75+

#A Yellow border for Chaos recipe items
Show
    ItemLevel >= 60
    ItemLevel <= 74
    Rarity Rare
    SetBorderColor 255 200 0
#A blue border for regal recipe items
Show
    ItemLevel >= 75
    Rarity Rare
    SetBorderColor 30 144 255
Show
    Rarity Rare

Even this code above has a line that is unnecessary. If you swap the first 2 blocks around, you can eliminate an entire line of code.

#A blue border for regal recipe items
Show
    ItemLevel >= 75
    Rarity Rare
    SetBorderColor 30 144 255
#A Yellow border for Chaos recipe items
Show
    ItemLevel >= 60
    ItemLevel <= 74
    Rarity Rare
    SetBorderColor 255 200 0
#Show all other rare items
Show
    Rarity Rare 

By doing this it does not need to check that it is ilvl74 or below for the Chaos recipe items, as it already knows from the previous block to show ilvl75+ items with a blue border. It then reads that for items with an ilvl of 60+ to put a yellow border around them.


Saving your Filter

Once you have compiled you filter you then need to save it This example is named Highlight.filter

It needs to go into My Documents/My Games/Path of Exile folder awakeningbeta_Config.ini must be in this folder You must change the "Save as type" to All Files When you name the file, you must type .filter after your file name.

Once you have saved your Filter Open the Options Tab in game Select your filter from the "List of Item Filters" at the bottom of the UI Page.


Troubleshooting

My filter is not working, what do I do?

Make sure your filter file is located in the same folder as your awakeningbeta_Config.ini file. If it is, then you need to make sure you've actually created a 'filter' file, and not a 'text' file with '.filter' in the name. To check this, right-click the filter and click Properties, if the file type is 'text', you did not change the file extension correctly. If you can not see your file extension, Show/Hide File Extensions in Windows

Do you have non-ASCII characters in your PC username? https://www.pathofexile.com/forum/view-thread/1250862/page/5#p10557794

Base Item name changes 19th May 2015


If you were to specify the following block It would show anything with Sai in the Items basetype, Such as Sai, Saint's Hauberk, Saintly Chainmail and Mosaic Kite Shield

Show
    BaseType Sai

You only wanted to see Sai so you need to narrow it down by adding a Class

Show
    Class Dagger
    BaseType Sai

This will now show Sai, but NOT Saint's Hauberk, Saintly Chainmail and Mosaic Kite Shield as it did before


Thanks to Antnee for the helpful Code Breakdown description!

Thanks to SayyadinaAtreides For the explanation on Using Quotation Marks for Classes.

I hope that helps!

Enjoy!

Davros70