Guide:Item filter guide: Difference between revisions

From Path of Exile Wiki
Jump to navigation Jump to search
>VirtualPal
m (→‎Conditions: Corrected spelling.)
m (Update conditions to reflect 3.21 updates)
 
(41 intermediate revisions by 21 users not shown)
Line 1: Line 1:
With the release of Path of Exile : The Awakening (version 2.0.0) Item Filters were introduced as an optional feature for players to customize what they see when items drop in the game.
{{Guide|subject=creating item filters|date=September 11, 2018‎}}
{{Merge portions from|Item filter|portions=information about item filter creation|reason=This guide should be used to go into specifics about creating item filters|date=March 4, 2022}}
 
With the release of Path of Exile: The Awakening (version 2.0.0), [[item filter]]s were introduced as an optional feature for players to customize what they see when items drop in the game.


There are multiple options from colors, text size, borders and even sounds
There are multiple options from colors, text size, borders and even sounds


''There is no-ingame system for these, and they have to be written by the end user'' (Though there are several scripts out there that can do the hard work for you).
''Although the game does offer a default filter, there is no in-game system for editing them; end users can write and tailor their own filter using a text editor.'' (Though there are several scripts out there that can do the hard work for you).
 
I wrote the original guide while the BETA for Path of Exile: The Awakening was running, and through that time I edited in new options etc as they became available.
 
As requested via my [https://www.pathofexile.com/forum/view-thread/1260664 Original Thread] on [https://www.pathofexile.com Path of Exile] I have now made it available here.
 
==Item Filters - The How To Guide==
 
===Quick Guide===
;Step 1
:Go to:\My Documents\My Games\Path of Exile
:[[File:browserlocation.jpg]]
;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
:[[File:Files.jpg]]
:If you cannot see your file extension, [http://windows.microsoft.com/en-nz/windows/show-hide-file-name-extensions#show-hide-file-name-extensions=windows-7 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:
:[[File:Highlight.jpg]]
:If your Filter is not a .filter file, or it is not located in the same folder as your production_Config.ini file, you won't see this option.
 
Clicking 'Reload' will display this message if the Filter is working correctly:
:[[File:Confirmation.png]]


==Creating your own==
==Creating your own==
To create a Loot filter, you generally need to use a text editor such as NOTEPAD
To create a Loot filter, you generally need to use a text editor, like Notepad. Alternatively, a code editor that supports item filter syntax (for example, via plug-ins) - like Visual Studio Code - can be used for better ergonomics.
Some versions of NOTEPAD++ Do work, but most do not from reports.
Currently the Encoding must be ANSI or UTF-8
Currently the Encoding must be ANSI or UTF-8


Line 52: Line 30:
----
----
===Sample Filter===
===Sample Filter===
<nowiki>
<pre>
#You can add comments in filters by placing them behind a # on a new line.
# You can add comments in filters by placing them behind a # on a new line.
#This is a comment - The client will ignore this.
# This is a comment - The client will ignore this.
Hide
Hide
     BaseType Flask
     BaseType Flask
Line 80: Line 58:
     LinkedSockets >= 5
     LinkedSockets >= 5
     SetFontSize 45
     SetFontSize 45
Hide</nowiki>
Hide
</pre>


This Filter shows  
This Filter shows  
Line 102: Line 81:
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.'''
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.'''
----
----
===Operators===


The following Operators can be used with numeric conditions. Note that for equal operations there is no operator required.
==Syntax==
 
See https://www.pathofexile.com/item-filter/about for the official page of filter rules.
 
===Terminology===
 
Please consider the following when reading this wiki page:
* Replace the values in the brackets with a single value
* x-y (i.e. 0-255) is used to show a range of valid values
* Values enclosed with [] are optional; remove the []
* Values enclosed with <> are required; remove the <>
 
===Basic Syntax===
 
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.
 
Every block must start with either Show or Hide, and any conditions in that block ''must'' start on the next line; indentation is optional. A line with only Show or Hide with no conditions is an "empty block," and matches ALL items, which means that a Hide at the end of the file effectively hides everything that wasn't specifically shown.
 
The blocks are prioritized in the order they come in the file, meaning that condition blocks that appear earlier in the file take precedence, applying their effects even if their conditions overlap with later blocks. Effectively, the script reads the filter file until it finds the first block that matches the item in question, follows that block's instructions, and then terminates.
 
<pre># For example, the following would hide all normal rarity items, but fail to show currencies:
Hide
    Rarity Normal
Show
    Class Currency
 
# To fix this, move more specific blocks earlier in the file, and save the most general for last. This would show currencies, but hide other normal rarity items:
Show
    Class Currency
Hide
    Rarity Normal
</pre>
 
===Comments===
 
A line starting with # will be considered a comment and will be ignored.
 
===Blocks===
 
{| class="wikitable sortable"
! Name !! class="unsortable" | Notes
|-
| Show || If all conditions are matched, show the item and do any actions specified.
|-
| Hide || If all conditions are matched, hide the item and do any actions specified
|-
|Continue
|Continues block to other match.
This is a special flag that indicates that the filter rule matching should not stop when an item matches this block.
 
Note that if an item matches a Hide block that Continues, then later matches a Show block, it will use the most recently matched Show or Hide flag, and thus show. If an item matches and Continues and then never matches any further blocks, it will also show or hide based on the most recently matched block. 
|}
 
=== Values ===
{| class="wikitable"
!Type
!Notes
!Range
|-
|Numeric
|Like: 20. No quotation marks.
| -1,[0-9]
|-
|String
|Text with quotation marks, but not in all condition, as example is ''Class'' or ''BaseType'' where values could be strings separated by space only
|[a-zA-Z]
|-
|None
|When argument is string ''None'' must be in quotation marks like "''None''"
|"''None''", None
|-
|''Empty''
|No value
|
|}
 
===Comparison operators===
 
The following [[wikipedia:Comparison operator|comparison operators]] are used to write conditions. Note that the equal operator (<code>=</code>) is always optional; if no operator is specified, the condition is assumed to be comparing equality.


{|class="wikitable"
{|class="wikitable"
! Operator !! class="unsortable" | Notes
! Operator !! Description
|-
|-
| < || Less than
| <code>=</code> || Equal
|-
|-
| <= || Less than or equal to
| <code>!</code> || Not equal
|-
|-
| > || Greater than
| <code><</code> || Less than
|-
|-
| >= || Greater or equal to
| <code><=</code> || Less than or equal to
|-
| <code>></code> || Greater than
|-
| <code>>=</code> || Greater or equal to
|-
| <code><nowiki>==</nowiki></code>
| Exact match
|}
|}


===Conditions===
===Conditions===
Notes:
Notes:
* Ranges in parentheses are plausible values, but not enforced
* Ranges in parentheses are plausible values, but not enforced.
* Every condition can have multiple values
* Every condition can have multiple values separated by a space.
* If the value contains whitespace, it will count as two separate values unless quoted
* If a multi-word value contains whitespace, it must be encapsulated in quotation marks, or else it will be parsed as separate (and possibly invalid) values.
{| class="wikitable sortable"
{| class="wikitable sortable"
! style="width: 18em" | Name !! Valid Values !! class="unsortable" | Notes
! style="width: 18em" | Name !! Valid Values !! class="unsortable" | Notes
|-
|AreaLevel [Operator] <Value>
|Numeric Level (0-100)
|Filters for items dropped in a particular [[Monster level]] of the current area. This is probably the most relevant of the filters, as it allows enabling/disabling filters dynamically depending on leveling.
|-
|-
| ItemLevel [Operator] &lt;Level&gt;
| ItemLevel [Operator] &lt;Level&gt;
Line 144: Line 211:
| Class &lt;Class&gt;
| Class &lt;Class&gt;
| Full or partial item class name  
| Full or partial item class name  
|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"
|The [[Item class#Item classes|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 &lt;Type&gt;
| BaseType &lt;Type&gt;
Line 150: Line 217:
| 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.
| 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 [Operator] &lt;Sockets&gt;
| Prophecy &lt;Type&gt;
| Numeric Number of Sockets (0-6)
| Full or partial prophecy name
| Total number of [[sockets]] that the item has.
| The prophecy name. Specifying a part of a prophecy name is allowed and will match any of the prophecies with that text in the name. Prophecies have the Class type "Stackable Currency".
|-
|-
| LinkedSockets [Operator] &lt;Links&gt;
| LinkedSockets [Operator] &lt;Links&gt;
| Numeric Number of Links (0, 2-6)
| Numeric Number of Links (0-6)
| The size of the largest group of [[sockets|linked sockets]] that the item has.
| The size of the largest group of [[sockets|linked sockets]] that the item has.
|-
|-
| SocketGroup [Group]
| SocketGroup [Operator] <GroupSyntax>
| R, G, B, W
| Numeric Number of Linked Sockets followed by R, G, B, D, A, W
| A group of linked sockets that contains the specified combination. Each letter is short-hand for the colour (i.e. Red = R). For example, RRG will match any group that contains two red sockets linked with a green socket.
| Supports a list of groups that each one represents linked [[sockets]] containing a specific set of colors, at least one group must be matched for the condition to pass.
 
Each group is composed by an optional number and a sequence of letters. The number specifies the longest link which contains the following color sequence described by the letters. Each letter is short-hand for the colour ([R]ed, [G]reen, [B]lue, [W]hite) or Special ones ([D]elve Socket, [A]byss Socket). For example, 5RRG will match any group that contains two red sockets linked with a green socket in a 5-link group. Delve and Abyss cannot be in the same group as any other, as they cannot be linked.
 
If a comparison operator is used, it will apply to the numeric portion, so a ">= 5GGG" will match a 5 or more linked group with 3 green sockets.
 
SocketGroup with A and D socket has no effect. For example "SocketGroup RGBA" or "SocketGroup DD". As Abyss and Delve sockets are never linked.
|-
| Sockets [Operator] <GroupSyntax>
| Numeric Number of Sockets (0-6) followed by R, G, B, D, A, W
| Does the exact same thing as SocketGroup but does not require the sockets to be linked. So the same example ">= 5GGG" will match 5 or more sockets not necessarily linked, with at least 3 green sockets anywhere.
 
Unlike SocketGroup, this condition does allow for mixing and using Delve and Abyss sockets, for example, a [[Delve Stackable Socketable Currency|Resonator]] with 3 sockets would be "DDD".
|-
|-
| Height [Operator] <Value>
| Height [Operator] <Value>
| Numeric number of slots (1-4)
| Numeric number of slots (1-4)
| The number of slots the item takes on the Y-axis (verical axis), i.e. the height of the item. <ref>{{cite web|url=http://www.reddit.com/r/pathofexile/comments/35kv5i/item_filter_suggestions_identified_items/cr5viii|title=Item Filter Suggestions; Identified items, corrupted items, and grid sizes.|date=12 May 2015|publisher=Reddit|last=Negitivefrags|accessdate=12 May 2015}}</ref>
| The number of slots the item takes on the Y-axis (verical axis), i.e. the height of the item.<ref>{{cite web|url=http://www.reddit.com/r/pathofexile/comments/35kv5i/item_filter_suggestions_identified_items/cr5viii|title=Item Filter Suggestions; Identified items, corrupted items, and grid sizes.|date=12 May 2015|publisher=Reddit|last=Negitivefrags|accessdate=12 May 2015}}</ref>
|-
|-
| Width [Operator] <Value>
| Width [Operator] <Value>
| Numeric number of slots (1-2)
| Numeric number of slots (1-2)
| The number of slots the item takes on the X-axis (horizontal axis), i.e. the width of the item.
| The number of slots the item takes on the X-axis (horizontal axis), i.e. the width of the item.
|-
| HasExplicitMod  <Value>
| Full or partial item name
| Filter by mods on an item by name. For example: [HasExplicitMod "Tyrannical" ] (Tyrannical=Local Physical Damage 155 to 169%)
|-
| AnyEnchantment <Boolean>
| True or False
| If an item has any enchantment from the Labyrinth.
|-
| HasEnchantment <Value>
| Full or partial name of enchantment
| Filter by enchantments
|-
|EnchantmentPassiveNode <Value>
|Full or partial name of enchantment
|Filter Cluster Jewels by enchantment type.
|-
|EnchantmentPassiveNum [Operator] <Value>
| Numeric number of slots (0-n)
|Filter Cluster Jewels by the number of enchantments. Only checks the "Adds X passive skills" modifier.
|-
| StackSize  [Operator] <Value>
| Numeric number of slots (1-n)
| Currency stack size
|-
| GemLevel  [Operator] <Value>
| Numeric number of slots (1-21)
| Gem Level
|-
|GemQualityType <Value>
|Superior
Divergent
Anomalous
Phantasmal
|Gem Quality Type
|-
|AlternateQuality <Boolean>
|True or False
|If an item has alternate quality or not.  Note: This is applicable to Alternate Gems introduced in 3.12.
|-
|Replica <Boolean>
|True or False
|If an item is an Replica or not. Note: This is applicable to Replica Unique introduced in 3.12.
|-
| Identified <Boolean>
| True or False
| If an item is identified or not.
|-
| Corrupted <Boolean>
| True or False
| If an item is [[corrupted]] or not.
|-
|CorruptedMods [Operator] <Value>
|Numeric number of corrupted mods (0-n).
|How many corrupted mods are present.
|-
|Mirrored <Boolean>
|True or False
|If the item is a [[Mirrored|Mirrored item]] or not. Does not drop normally, except when opening a [[Strongbox]] with the "Contains Mirrored Items", or via the Prophecy [[Kalandra's Craft]].
|-
| ElderItem <Boolean>
| True or False
| If an item is an [[Elder item]] or not.
|-
| ShaperItem <Boolean>
| True or False
| If an item is a [[Shaper item]] or not.
|-
|HasInfluence <Type>
|Shaper, Elder, Crusader,
Hunter, Redeemer, Warlord, None
|If an item has [[Influenced item|Influence]] of a certain type. Note that this also affects [[Map]]s that are influenced.
If want item that has no [[Influenced item|Influence]], choose value as None.
|-
|HasSearingExarchImplicit [Operator] <Value>
|Modifier tier (0-6)
|If an item has a [[List of searing exarch implicit modifiers|Searing Exarch implicit modifier]] of a certain tier.
1-6 for Lesser to Perfect, or 0 for none.
|-
|HasEaterOfWorldsImplicit [Operator] <Value>
|Modifier tier (0-6)
|If an item has a [[List of eater of worlds implicit modifiers|Eater of Worlds implicit modifier]] of a certain tier.
1-6 for Lesser to Perfect, or 0 for none.
|-
| FracturedItem <Boolean>
| True or False
| If an item is [[Fractured item|fractured]] or not
|-
| SynthesisedItem <Boolean>
| True or False
| If an item is [[Synthesised item|synthesised]] or not
|-
| ElderMap <Boolean>
| True or False
| If the map is [[elder]] or not.
|-
| ShapedMap <Boolean>
| True or False
| If the map is [[shaped]] or not.
|-
| BlightedMap <Boolean>
| True or False
| If the map is [[Blighted_map|blighted]] or not.
|-
| MapTier [Operator] <Value>
| Numeric Tier (1-17)
| The [[Map#Tiers|map tier]] of the [[map]].
|-
| HasImplicitMod <Boolean>
| True or False
| If the item has an [[Modifier#Implicit_modifiers|implicit modifier]] or not.
|-
| HasCruciblePassiveTree <Boolean>
| True or False
| If the item has an [[Crucible_Passive_Skill_Tree|crucible passive skill tree]] or not.
|}
|}


Line 182: Line 378:
| SetTextColor &lt;Red&gt; &lt;Green&gt; &lt;Blue&gt; [Alpha]  
| SetTextColor &lt;Red&gt; &lt;Green&gt; &lt;Blue&gt; [Alpha]  
| 0-255
| 0-255
| Sets the text colour of the item box in RGB values from 0-255 with optional Alpha (opacity) value of 0-255; refer to color table below for examples of in-game values
| Sets the text colour of the item box in RGB values from 0-255 with optional Alpha (opacity) value of 0-255
|-
|-
| SetBackgroundColor &lt;Red&gt; &lt;Green&gt; &lt;Blue&gt; [Alpha]
| SetBackgroundColor &lt;Red&gt; &lt;Green&gt; &lt;Blue&gt; [Alpha]
| 0-255
| 0-255
| Sets the colour of the item box in RGB values from 0-255 with optional Alpha (opacity) value of 0-255; default in-game value is 0 0 0 240
| Sets the colour of the item box in RGB values from 0-255 with optional Alpha (opacity) value of 0-255
|-
| SetFontSize &lt;FontSize&gt;
| 18-45 (default: 32)
| Sets the font-size of item text.<ref>{{cite web|url=http://www.reddit.com/r/pathofexile/comments/34iw90/psa_you_can_change_the_font_size_in_item_filters/|title=PSA: You can change the font size in item filters.|date=2 May 2015|publisher=Reddit|last=thesircuddles|accessdate=2 May 2015}}</ref>
|-
|-
| PlayAlertSound &lt;Id&gt; [Volume]
| PlayAlertSound &lt;Id&gt; [Volume]
| 1-9 [0-300]
| Disable:
 
* ''None''
 
Id:
 
* [1-16] Ingame Sounds
 
Volume:
 
* [0-300]
| Plays the specified Alert Sound with optional volume when dropped. Only one sound can be played at a time.
| Plays the specified Alert Sound with optional volume when dropped. Only one sound can be played at a time.
|-
|-
| SetFontSize &lt;FontSize&gt;
| PlayAlertSoundPositional &lt;Id&gt; [Volume]
| 18-45 (default: 32)
| Disable:
| Sets the font-size of item text. <ref>{{cite web|url=http://www.reddit.com/r/pathofexile/comments/34iw90/psa_you_can_change_the_font_size_in_item_filters/|title=PSA: You can change the font size in item filters.|date=02 May 2015|publisher=Reddit|last=thesircuddles|accessdate=02 May 2015}}</ref>
 
* ''None''
 
Id:
 
* [1-16] Ingame Sounds
 
Volume:
 
* [0-300]
| Work as PlayAlertSound with Sound Volume relative to distance where Item dropped. Could be usable with low Tier Items to smooth Sounds.
|-
| DisableDropSound
|
| Disable the drop sound. This is a separate sound from PlayAlertSound.
|-
| EnableDropSound
|
| Enable the drop sound. This is a separate sound from PlayAlertSound.
|-
| CustomAlertSound &lt;<nowiki>FileName | FileFullPath</nowiki>&gt;
| local path to the file (with quotation marks):
 
* "''None''" (disable)
* [reative path]
* [absolute path]
| Plays the specified custom sound when a specified item drops. (almost all of the common file extensions should be supported)
|-
| MinimapIcon &lt;Size&gt; &lt;Color&gt; &lt;Shape&gt;
|Disable:
 
* -1
 
Size:
 
*0 (largest) {{mico|size=medium|id=LootFilterLargeWhiteSquare}}
*1 (medium) {{mico|size=medium|id=LootFilterMediumWhiteSquare}}
*2 (small) {{mico|size=medium|id=LootFilterSmallWhiteSquare}}
 
Color:
 
*Red {{mico|size=medium|id=LootFilterMediumRedSquare}}
*Green {{mico|size=medium|id=LootFilterMediumGreenSquare}}
*Blue {{mico|size=medium|id=LootFilterMediumBlueSquare}}
*Brown {{mico|size=medium|id=LootFilterMediumBrownSquare}}
*White {{mico|size=medium|id=LootFilterMediumWhiteSquare}}
*Yellow {{mico|size=medium|id=LootFilterMediumYellowSquare}}
*Cyan {{mico|size=medium|id=LootFilterMediumCyanSquare}}
* Grey {{mico|size=medium|id=LootFilterMediumGreySquare}}
* Orange {{mico|size=medium|id=LootFilterMediumOrangeSquare}}
* Pink {{mico|size=medium|id=LootFilterMediumPinkSquare}}
* Purple {{mico|size=medium|id=LootFilterMediumPurpleSquare}}
 
Shape:
 
*Circle {{mico|size=medium|id=LootFilterMediumWhiteCircle}}
*Diamond {{mico|size=medium|id=LootFilterMediumWhiteDiamond}}
*Hexagon {{mico|size=medium|id=LootFilterMediumWhiteHexagon}}
*Square {{mico|size=medium|id=LootFilterMediumWhiteSquare}}
*Star {{mico|size=medium|id=LootFilterMediumWhiteStar}}
*Triangle {{mico|size=medium|id=LootFilterMediumWhiteTriangle}}
*Cross {{mico|size=medium|id=LootFilterMediumWhiteCross}}
*Moon {{mico|size=medium|id=LootFilterMediumWhiteMoon}}
*Raindrop {{mico|size=medium|id=LootFilterMediumWhiteRaindrop}}
*Kite {{mico|size=medium|id=LootFilterMediumWhiteKite}}
*Pentagon {{mico|size=medium|id=LootFilterMediumWhitePentagon}}
*UpsideDownHouse {{mico|size=medium|id=LootFilterMediumWhiteUpsideDownHouse}}
| Displays an icon on the minimap for specified items.
|-
| PlayEffect &lt;Color&gt; [Temp]
|Disable:
 
* ''None''
 
Color:
 
*Red
* Green
* Blue
 
* Brown
* White
* Yellow
* Cyan
* Grey
* Orange
* Pink
* Purple
 
Beam Visualization [Temp]:
 
*''Empty'' (no value, instantly)
* Temp (temporary)
| Displays a coloured beam of light above an item highlighted by an item filter.
Use the Temp parameter to have a beam only appear as the item drops.<br>Otherwise, it will be permanently visible.
|}
|}


===List of Class Types===
A list of the default RGB codes used in-game can be found in the corresponding [[Item filter guide#Color Options|item filter guide section]].
You can specify any from this list:
 
<nowiki>
===Examples===
Life Flask
<!-- Someone add some examples here. Please do not add complete filters, just examples to show people how it can be setup -->
Mana Flask
 
Hybrid Flask
====Example 1====
Currency
* Shows all items with a red, green and blue linked socket
Amulet
* Changes the text color to a light blue one
Ring
<pre>Show
Claw
    SocketGroup RGB
Dagger
    SetTextColor 127 127 255
Wand
</pre>
One Hand Sword
 
Thrusting One Hand Sword
====Example 2====
One Hand Axe
* Shows all items that match the following conditions
One Hand Mace
** Item class is either [[Ring]] or [[Amulet]]
Bow
** Item basename contains "Gold"
Staves
** Item has the "Rare" [[rarity]] level
Two Hand Swords
** Item level is 75 or higher
Two Hand Axes
* Effectively, this means rare [[Gold Ring]]s and [[Gold Amulet]]s with [[item level]] 75 or higher will be shown
Two Hand Maces
* Changes the border to a yellow border
Active Skill Gems
<pre>Show
Support Skill Gems
    Class Ring Amulet
Quivers
    BaseType Gold
Belt
    Rarity Rare
Gloves
    ItemLevel >= 75
Boots
    SetBorderColor 255 255 0
Body Armours
</pre>
Helmets
 
Shields
==Known issues==
Stackable Currency
<!-- Editors: Remove issues if confirmed fixed -->
Quest Items
Known issues with workaround. Use at your own risk.
Sceptres
 
Utility Flasks
===Item filters not found===
Maps
 
Fishing Rods
====Solution A====
Map Fragments
* Check that the filter has the correct ending (.filter, .ruthlessfilter for Ruthless)
Hideout Doodads
* Check whether the item filter is placed in the correct folder
Microtransactions
 
Jewel
====Solution B====
Card</nowiki>
Currently (beta) item filters may not load for users who use a non-ASCII userpath. As a work around you can move your documents folder to a location which does not contain non-ASCII letters. To do so:
  Go to your user folder (%USERPROFILE%) -> right click on My Documents -> properties -> path -> move... -> select a new location to move to -> apply
 
===List of item classes===
You can specify any [[item class]]es from this list using the values from the internal name column:
 
{{Item class list}}


''If you specify part of a name it will match all that contain that part of the name.
''If you specify part of a name it will match all that contain that part of the name.
Line 247: Line 557:


I want to find all one-handed swords, thrusting and otherwise. So, I include the line
I want to find all one-handed swords, thrusting and otherwise. So, I include the line
<nowiki>
<pre>
Show
Show
     Class One Hand Swords</nowiki>
     Class One Hand Swords
</pre>


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
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
Line 258: Line 569:


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
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
<nowiki>
<pre>
Show
Show
     Class "One Hand Swords"</nowiki>
     Class "One Hand Swords"
</pre>


----
----
===Condition Adjustment===
===Condition Adjustment===
'''''Font Size Adjustment is 18-45''''' (32 is normal)
'''''Font Size Adjustment is 18-45''''' (32 is normal)
<nowiki>SetFontSize 40 </nowiki>
<pre>
SetFontSize 40  
</pre>
 
'''''Volume Adjustment is 0-300''''' (yet to find out normal value)
'''''Volume Adjustment is 0-300''''' (yet to find out normal value)
<nowiki>PlayAlertSound 7 59 </nowiki>
<pre>
PlayAlertSound 7 59
</pre>
'''''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.
'''''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.
<nowiki>
<pre>
    Show
Show
     Width 1
     Width 1
     Height >2
     Height >2
     SocketGroup RGB </nowiki>
     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
</pre>
<nowiki>
This would show any rgb linked items that are 1 space wide and 3-4 high, eg. Daggers, Wands, Thrusting 1h Swords, 1h Swords. Note that the height condition is obsolete since all these items with the RGB link are by definition 3 or 4 squares high.
    Show
<pre>
Show
     Width 2
     Width 2
     Height <= 3
     Height <= 3
     SocketGroup RGB </nowiki>
     SocketGroup RGB  
Would show Helms Boots Gloves and Body Armours
</pre>
Would show Helmets, Boots, Gloves, Claws, Bows, Scepters, Body Armours and some 1h weapons. Here the second line is almost obsolete, as it only excludes Wands, Daggers and some 1h Swords.
 
Size conditions should be handled with care when dealing with many weapons, especially swords, and shields, as these occur in several differently sized types.
----
----


===Color Options===  
===Color Options===  
Use a color picker such as in MSPaint
Use a color picker, for example [https://g.co/kgs/Y1mdzV Google Color Picker]


[[File:PaintColorPicker.jpg]]
[[File:GoogleColorPicker.png|alt=https://g.co/kgs/Y1mdzV|Google Color Picker]]


Any RGBA combo can be used for the color combinations 0 0 0 0 to 255 255 255 255
Any RGBA combo can be used for the color combinations 0 0 0 0 to 255 255 255 255
Line 316: Line 637:
| align="left" | <div style="width:100px;height:1.5em;background:rgb(74,230,58);"></div> || &nbsp; 74 230 58 &nbsp; || Quest item
| align="left" | <div style="width:100px;height:1.5em;background:rgb(74,230,58);"></div> || &nbsp; 74 230 58 &nbsp; || Quest item
|-
|-
| align="left" | <div style="width:100px;height:1.5em;background:rgb(170,230,230);"></div> || &nbsp; 170 230 230 &nbsp; || Divination card
| align="left" | <div style="width:100px;height:1.5em;background:rgb(14,186,255);"></div> || &nbsp; 14 186 255 &nbsp; || Divination card
|-
|-
| align="left" | <div style="width:100px;height:1.5em;background:rgb(127,127,127);"></div> || &nbsp; 127 127 127 &nbsp; || Default text
| align="left" | <div style="width:100px;height:1.5em;background:rgb(127,127,127);"></div> || &nbsp; 127 127 127 &nbsp; || Default text
Line 441: Line 762:


Option 1:This option here could take you quite a while to type out.
Option 1:This option here could take you quite a while to type out.
<nowiki>
<pre>
Show
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" </nowiki>
     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"  
</pre>
'''But you do have options to make it easier!'''
'''But you do have options to make it easier!'''


Option 2: This option here cuts down on clutter within your code
Option 2: This option here cuts down on clutter within your code
<pre>
Show
Show
    Class Dagger Wand "One Hand" Bow Stave "Two Hand" Sceptre  
    Class Dagger Wand "One Hand" Bow Stave "Two Hand" Sceptre  
</pre>
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"
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"
<pre>
Show
Show
    Class Dagger Wand "Hand" Bow Stave Sceptre
    Class Dagger Wand "Hand" Bow Stave Sceptre
</pre>
Option 3:
Option 3:
You could take a much easier approach to hiding a single class of item.
You could take a much easier approach to hiding a single class of item.
<nowiki>
<pre>
Hide
Hide
     Class "Claws"
     Class "Claws"
</nowiki>
</pre>
===ItemLevel Code and Process===
===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+
If you wanted to see rare items, rare items between ilvl60 and ilvl74 and then rare items with an itemlevel of 75+
<nowiki>
<pre>
#A Yellow border for Chaos recipe items
# A Yellow border for Chaos recipe items
Show
Show
     ItemLevel >= 60
     ItemLevel >= 60
Line 469: Line 793:
     Rarity Rare
     Rarity Rare
     SetBorderColor 255 200 0
     SetBorderColor 255 200 0
#A blue border for regal recipe items
# A blue border for regal recipe items
Show
Show
     ItemLevel >= 75
     ItemLevel >= 75
Line 475: Line 799:
     SetBorderColor 30 144 255
     SetBorderColor 30 144 255
Show
Show
     Rarity Rare</nowiki>
     Rarity Rare
</pre>


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.
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.
  <nowiki>
   
#A blue border for regal recipe items
<pre>
# A blue border for regal recipe items
Show
Show
     ItemLevel >= 75
     ItemLevel >= 75
     Rarity Rare
     Rarity Rare
     SetBorderColor 30 144 255
     SetBorderColor 30 144 255
#A Yellow border for Chaos recipe items
# A Yellow border for Chaos recipe items
Show
Show
     ItemLevel >= 60
     ItemLevel >= 60
     ItemLevel <= 74
     ItemLevel <= 74 # this line is now obsolete;
     Rarity Rare
     Rarity Rare
     SetBorderColor 255 200 0
     SetBorderColor 255 200 0
#Show all other rare items
# Show all other rare items
Show
Show
     Rarity Rare </nowiki>
     Rarity Rare  
</pre>
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 item level of 60+ to put a yellow border around them.
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 item level of 60+ to put a yellow border around them.
----
----
Line 498: Line 825:
==Saving your Filter==
==Saving your Filter==


Once you have compiled you filter you then need to save it
Once you have compiled you filter you then need to save it.
   
   
This example is named Highlight.filter
This example is named Highlight.filter (replace .filter with .ruthlessfilter for Ruthless compatibility.)


[[File:SaveProcessGIF-Production.gif]]
[[File:SaveProcessGIF-Production.gif]]
Line 510: Line 837:


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


Line 518: Line 845:
'''''My filter is not working, what do I do?'''''
'''''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.
Make sure your filter file is located in the same folder as your production_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, [http://windows.microsoft.com/en-nz/windows/show-hide-file-name-extensions#show-hide-file-name-extensions=windows-7 Show/Hide File Extensions in Windows]
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, [http://windows.microsoft.com/en-nz/windows/show-hide-file-name-extensions#show-hide-file-name-extensions=windows-7 Show/Hide File Extensions in Windows]


Line 524: Line 851:
https://www.pathofexile.com/forum/view-thread/1250862/page/5#p10557794
https://www.pathofexile.com/forum/view-thread/1250862/page/5#p10557794


[http://www.pathofexile.com/forum/view-thread/1275529 Base Item name changes 19th May 2015]
[https://www.pathofexile.com/forum/view-thread/1275529 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
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
<nowiki>
<pre>
Show
Show
     BaseType Sai</nowiki>
     BaseType Sai
</pre>
You only wanted to see Sai so you need to narrow it down by adding a Class
You only wanted to see Sai so you need to narrow it down by adding a Class
<nowiki>
<pre>
Show
Show
     Class Dagger
     Class Dagger
     BaseType Sai</nowiki>
     BaseType Sai
</pre>
This will now show Sai, but NOT Saint's Hauberk, Saintly Chainmail and Mosaic Kite Shield as it did before
This will now show Sai, but NOT Saint's Hauberk, Saintly Chainmail and Mosaic Kite Shield as it did before
----
'''Thanks to [http://www.pathofexile.com/account/view-profile/Antnee Antnee] for the helpful Code Breakdown description!'''
'''Thanks to [http://www.pathofexile.com/account/view-profile/SayyadinaAtreides SayyadinaAtreides] For the explanation on Using Quotation Marks for Classes.'''
I hope that helps!


'''Enjoy!'''
==References==
{{reflist|refs=


[http://www.pathofexile.com/account/view-profile/Davros70 Davros70]
}}


[[Category:Guides]]
[[Category:Guides]]
[[ru:Руководство по фильтру предметов]]

Latest revision as of 18:21, 17 April 2023

This is a guide on the subject of creating item filters.

Last updated on September 11, 2018‎.

It has been suggested that information about item filter creation from Item filter be split from it and merged into this guide.

Reason: This guide should be used to go into specifics about creating item filters

Proposed since March 4, 2022

With the release of Path of Exile: The Awakening (version 2.0.0), item filters were introduced as an optional feature for players to customize what they see when items drop in the game.

There are multiple options from colors, text size, borders and even sounds

Although the game does offer a default filter, there is no in-game system for editing them; end users can write and tailor their own filter using a text editor. (Though there are several scripts out there that can do the hard work for you).

Creating your own

To create a Loot filter, you generally need to use a text editor, like Notepad. Alternatively, a code editor that supports item filter syntax (for example, via plug-ins) - like Visual Studio Code - can be used for better ergonomics. 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.


Syntax

See https://www.pathofexile.com/item-filter/about for the official page of filter rules.

Terminology

Please consider the following when reading this wiki page:

  • Replace the values in the brackets with a single value
  • x-y (i.e. 0-255) is used to show a range of valid values
  • Values enclosed with [] are optional; remove the []
  • Values enclosed with <> are required; remove the <>

Basic Syntax

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.

Every block must start with either Show or Hide, and any conditions in that block must start on the next line; indentation is optional. A line with only Show or Hide with no conditions is an "empty block," and matches ALL items, which means that a Hide at the end of the file effectively hides everything that wasn't specifically shown.

The blocks are prioritized in the order they come in the file, meaning that condition blocks that appear earlier in the file take precedence, applying their effects even if their conditions overlap with later blocks. Effectively, the script reads the filter file until it finds the first block that matches the item in question, follows that block's instructions, and then terminates.

# For example, the following would hide all normal rarity items, but fail to show currencies:
Hide
    Rarity Normal
Show
    Class Currency

# To fix this, move more specific blocks earlier in the file, and save the most general for last. This would show currencies, but hide other normal rarity items:
Show
    Class Currency
Hide
    Rarity Normal

Comments

A line starting with # will be considered a comment and will be ignored.

Blocks

Name Notes
Show If all conditions are matched, show the item and do any actions specified.
Hide If all conditions are matched, hide the item and do any actions specified
Continue Continues block to other match.

This is a special flag that indicates that the filter rule matching should not stop when an item matches this block.

Note that if an item matches a Hide block that Continues, then later matches a Show block, it will use the most recently matched Show or Hide flag, and thus show. If an item matches and Continues and then never matches any further blocks, it will also show or hide based on the most recently matched block.

Values

Type Notes Range
Numeric Like: 20. No quotation marks. -1,[0-9]
String Text with quotation marks, but not in all condition, as example is Class or BaseType where values could be strings separated by space only [a-zA-Z]
None When argument is string None must be in quotation marks like "None" "None", None
Empty No value

Comparison operators

The following comparison operators are used to write conditions. Note that the equal operator (=) is always optional; if no operator is specified, the condition is assumed to be comparing equality.

Operator Description
= Equal
! Not equal
< Less than
<= Less than or equal to
> Greater than
>= Greater or equal to
== Exact match

Conditions

Notes:

  • Ranges in parentheses are plausible values, but not enforced.
  • Every condition can have multiple values separated by a space.
  • If a multi-word value contains whitespace, it must be encapsulated in quotation marks, or else it will be parsed as separate (and possibly invalid) values.
Name Valid Values Notes
AreaLevel [Operator] <Value> Numeric Level (0-100) Filters for items dropped in a particular Monster level of the current area. This is probably the most relevant of the filters, as it allows enabling/disabling filters dynamically depending on leveling.
ItemLevel [Operator] <Level> Numeric Level (0-100) The item level the item was generated at.
DropLevel [Operator] <Level> Numeric Level (0-100) The level that the item starts dropping at.
Quality [Operator] <Quality> Numeric Quality (0-20) The amount of quality on the item.
Rarity [Operator] <Rarity> Normal, Magic, Rare, Unique Rarity of the item.
Class <Class> Full or partial item class name 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 <Type> Full or partial item name 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.
Prophecy <Type> Full or partial prophecy name The prophecy name. Specifying a part of a prophecy name is allowed and will match any of the prophecies with that text in the name. Prophecies have the Class type "Stackable Currency".
LinkedSockets [Operator] <Links> Numeric Number of Links (0-6) The size of the largest group of linked sockets that the item has.
SocketGroup [Operator] <GroupSyntax> Numeric Number of Linked Sockets followed by R, G, B, D, A, W Supports a list of groups that each one represents linked sockets containing a specific set of colors, at least one group must be matched for the condition to pass.

Each group is composed by an optional number and a sequence of letters. The number specifies the longest link which contains the following color sequence described by the letters. Each letter is short-hand for the colour ([R]ed, [G]reen, [B]lue, [W]hite) or Special ones ([D]elve Socket, [A]byss Socket). For example, 5RRG will match any group that contains two red sockets linked with a green socket in a 5-link group. Delve and Abyss cannot be in the same group as any other, as they cannot be linked.

If a comparison operator is used, it will apply to the numeric portion, so a ">= 5GGG" will match a 5 or more linked group with 3 green sockets.

SocketGroup with A and D socket has no effect. For example "SocketGroup RGBA" or "SocketGroup DD". As Abyss and Delve sockets are never linked.

Sockets [Operator] <GroupSyntax> Numeric Number of Sockets (0-6) followed by R, G, B, D, A, W Does the exact same thing as SocketGroup but does not require the sockets to be linked. So the same example ">= 5GGG" will match 5 or more sockets not necessarily linked, with at least 3 green sockets anywhere.

Unlike SocketGroup, this condition does allow for mixing and using Delve and Abyss sockets, for example, a Resonator with 3 sockets would be "DDD".

Height [Operator] <Value> Numeric number of slots (1-4) The number of slots the item takes on the Y-axis (verical axis), i.e. the height of the item.[1]
Width [Operator] <Value> Numeric number of slots (1-2) The number of slots the item takes on the X-axis (horizontal axis), i.e. the width of the item.
HasExplicitMod <Value> Full or partial item name Filter by mods on an item by name. For example: [HasExplicitMod "Tyrannical" ] (Tyrannical=Local Physical Damage 155 to 169%)
AnyEnchantment <Boolean> True or False If an item has any enchantment from the Labyrinth.
HasEnchantment <Value> Full or partial name of enchantment Filter by enchantments
EnchantmentPassiveNode <Value> Full or partial name of enchantment Filter Cluster Jewels by enchantment type.
EnchantmentPassiveNum [Operator] <Value> Numeric number of slots (0-n) Filter Cluster Jewels by the number of enchantments. Only checks the "Adds X passive skills" modifier.
StackSize [Operator] <Value> Numeric number of slots (1-n) Currency stack size
GemLevel [Operator] <Value> Numeric number of slots (1-21) Gem Level
GemQualityType <Value> Superior

Divergent

Anomalous

Phantasmal

Gem Quality Type
AlternateQuality <Boolean> True or False If an item has alternate quality or not. Note: This is applicable to Alternate Gems introduced in 3.12.
Replica <Boolean> True or False If an item is an Replica or not. Note: This is applicable to Replica Unique introduced in 3.12.
Identified <Boolean> True or False If an item is identified or not.
Corrupted <Boolean> True or False If an item is corrupted or not.
CorruptedMods [Operator] <Value> Numeric number of corrupted mods (0-n). How many corrupted mods are present.
Mirrored <Boolean> True or False If the item is a Mirrored item or not. Does not drop normally, except when opening a Strongbox with the "Contains Mirrored Items", or via the Prophecy Kalandra's Craft.
ElderItem <Boolean> True or False If an item is an Elder item or not.
ShaperItem <Boolean> True or False If an item is a Shaper item or not.
HasInfluence <Type> Shaper, Elder, Crusader,

Hunter, Redeemer, Warlord, None

If an item has Influence of a certain type. Note that this also affects Maps that are influenced.

If want item that has no Influence, choose value as None.

HasSearingExarchImplicit [Operator] <Value> Modifier tier (0-6) If an item has a Searing Exarch implicit modifier of a certain tier.

1-6 for Lesser to Perfect, or 0 for none.

HasEaterOfWorldsImplicit [Operator] <Value> Modifier tier (0-6) If an item has a Eater of Worlds implicit modifier of a certain tier.

1-6 for Lesser to Perfect, or 0 for none.

FracturedItem <Boolean> True or False If an item is fractured or not
SynthesisedItem <Boolean> True or False If an item is synthesised or not
ElderMap <Boolean> True or False If the map is elder or not.
ShapedMap <Boolean> True or False If the map is shaped or not.
BlightedMap <Boolean> True or False If the map is blighted or not.
MapTier [Operator] <Value> Numeric Tier (1-17) The map tier of the map.
HasImplicitMod <Boolean> True or False If the item has an implicit modifier or not.
HasCruciblePassiveTree <Boolean> True or False If the item has an crucible passive skill tree or not.

Actions

Name Valid Values Notes
SetBorderColor <Red> <Green> <Blue> [Alpha] 0-255 Sets the border colour of the item box in RGB values from 0-255 with optional Alpha (opacity) value of 0-255
SetTextColor <Red> <Green> <Blue> [Alpha] 0-255 Sets the text colour of the item box in RGB values from 0-255 with optional Alpha (opacity) value of 0-255
SetBackgroundColor <Red> <Green> <Blue> [Alpha] 0-255 Sets the colour of the item box in RGB values from 0-255 with optional Alpha (opacity) value of 0-255
SetFontSize <FontSize> 18-45 (default: 32) Sets the font-size of item text.[2]
PlayAlertSound <Id> [Volume] Disable:
  • None

Id:

  • [1-16] Ingame Sounds

Volume:

  • [0-300]
Plays the specified Alert Sound with optional volume when dropped. Only one sound can be played at a time.
PlayAlertSoundPositional <Id> [Volume] Disable:
  • None

Id:

  • [1-16] Ingame Sounds

Volume:

  • [0-300]
Work as PlayAlertSound with Sound Volume relative to distance where Item dropped. Could be usable with low Tier Items to smooth Sounds.
DisableDropSound Disable the drop sound. This is a separate sound from PlayAlertSound.
EnableDropSound Enable the drop sound. This is a separate sound from PlayAlertSound.
CustomAlertSound <FileName | FileFullPath> local path to the file (with quotation marks):
  • "None" (disable)
  • [reative path]
  • [absolute path]
Plays the specified custom sound when a specified item drops. (almost all of the common file extensions should be supported)
MinimapIcon <Size> <Color> <Shape> Disable:
  • -1

Size:

  • 0 (largest)
  • 1 (medium)
  • 2 (small)

Color:

  • Red
  • Green
  • Blue
  • Brown
  • White
  • Yellow
  • Cyan
  • Grey
  • Orange
  • Pink
  • Purple

Shape:

  • Circle
  • Diamond
  • Hexagon
  • Square
  • Star
  • Triangle
  • Cross
  • Moon
  • Raindrop
  • Kite
  • Pentagon
  • UpsideDownHouse
Displays an icon on the minimap for specified items.
PlayEffect <Color> [Temp] Disable:
  • None

Color:

  • Red
  • Green
  • Blue
  • Brown
  • White
  • Yellow
  • Cyan
  • Grey
  • Orange
  • Pink
  • Purple

Beam Visualization [Temp]:

  • Empty (no value, instantly)
  • Temp (temporary)
Displays a coloured beam of light above an item highlighted by an item filter.

Use the Temp parameter to have a beam only appear as the item drops.
Otherwise, it will be permanently visible.

A list of the default RGB codes used in-game can be found in the corresponding item filter guide section.

Examples

Example 1

  • Shows all items with a red, green and blue linked socket
  • Changes the text color to a light blue one
Show
    SocketGroup RGB
    SetTextColor 127 127 255

Example 2

  • Shows all items that match the following conditions
    • Item class is either Ring or Amulet
    • Item basename contains "Gold"
    • Item has the "Rare" rarity level
    • Item level is 75 or higher
  • Effectively, this means rare Gold Rings and Gold Amulets with item level 75 or higher will be shown
  • Changes the border to a yellow border
Show
    Class Ring Amulet
    BaseType Gold
    Rarity Rare
    ItemLevel >= 75
    SetBorderColor 255 255 0

Known issues

Known issues with workaround. Use at your own risk.

Item filters not found

Solution A

  • Check that the filter has the correct ending (.filter, .ruthlessfilter for Ruthless)
  • Check whether the item filter is placed in the correct folder

Solution B

Currently (beta) item filters may not load for users who use a non-ASCII userpath. As a work around you can move your documents folder to a location which does not contain non-ASCII letters. To do so:

 Go to your user folder (%USERPROFILE%) -> right click on My Documents -> properties -> path -> move... -> select a new location to move to -> apply

List of item classes

You can specify any item classes from this list using the values from the internal name column:

Item classInternal nameInternal ID
GlovesGlovesGloves
TinctureTincturesTincture
Instance local itemInstance Local ItemsInstanceLocalItem
Incursion itemIncursion ItemsIncursionItem
Mana flaskMana FlasksManaFlask
One-handed axeOne Hand AxesOne Hand Axe
Quest itemQuest ItemsQuestItem
ResonatorDelve Stackable Socketable CurrencyDelveStackableSocketableCurrency
MemoryMemoriesMemoryLine
Cosmetic itemMicrotransactionsMicrotransaction
ClawClawsClaw
Body armourBody ArmoursBody Armour
BlueprintBlueprintsHeistBlueprint
ContractContractsHeistContract
VoidstoneAtlas Upgrade ItemsAtlasUpgradeItem
Rogue's cloakHeist CloaksHeistEquipmentUtility
RingRingsRing
MapMapsMap
Miscellaneous map itemMisc Map ItemsMiscMapItem
Thrusting one-handed swordThrusting One Hand SwordsThrusting One Hand Sword
StaffStavesStaff
Monster organ sampleMetamorph SamplesMetamorphosisDNA
Divination cardDivination CardsDivinationCard
QuiverQuiversQuiver
Sanctified relicSanctified RelicsSanctumSpecialRelic
Ember of the AllflameEmbers of the AllflameNecropolisPack
One-handed swordOne Hand SwordsOne Hand Sword
CharmCharmsAnimalCharm
Map fragmentMap FragmentsMapFragment
Life flaskLife FlasksLifeFlask
BowBowsBow
Rogue's broochHeist BroochesHeistEquipmentReward
Rogue's toolHeist ToolsHeistEquipmentTool
Two-handed swordTwo Hand SwordsTwo Hand Sword
AmuletAmuletsAmulet
Two-handed maceTwo Hand MacesTwo Hand Mace
Vault keyVault KeysVaultKey
Two-handed axeTwo Hand AxesTwo Hand Axe
Sanctum researchSanctum ResearchItemisedSanctum
RelicRelicsRelic
SceptreSceptresSceptre
Currency itemStackable CurrencyStackableCurrency
SentinelSentinelsSentinelDrone
IncubatorIncubatorsIncubatorStackable
Expedition logbookExpedition LogbooksExpeditionLogbook
Item piecePiecesUniqueFragment
TrinketTrinketsTrinket
JewelJewelsJewel
Hybrid flaskHybrid FlasksHybridFlask
One-handed maceOne Hand MacesOne Hand Mace
Corpse itemCorpsesItemisedCorpse
Skill gemSkill GemsActive Skill Gem
BreachstoneBreachstonesBreachstone
DaggerDaggersDagger
Abyss jewelAbyss JewelsAbyssJewel
Rogue's gearHeist GearHeistEquipmentWeapon
BootsBootsBoots
Rune daggerRune DaggersRune Dagger
Heist targetHeist TargetsHeistObjective
Captured soulPantheon SoulsPantheonSoul
LeaguestoneLeaguestonesLeaguestone
Labyrinth trinketLabyrinth TrinketsLabyrinthTrinket
Support gemSupport GemsSupport Skill Gem
Labyrinth keyLabyrinth ItemsLabyrinthItem
Hideout decorationHideout DoodadsHideoutDoodad
Fishing rodFishing RodsFishingRod
Utility flaskUtility FlasksUtilityFlask
ShieldShieldsShield
HelmetHelmetsHelmet
WarstaffWarstavesWarstaff
BeltBeltsBelt
WandWandsWand

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-300 (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. Note that the height condition is obsolete since all these items with the RGB link are by definition 3 or 4 squares high.

Show
    Width 2
    Height <= 3
    SocketGroup RGB 

Would show Helmets, Boots, Gloves, Claws, Bows, Scepters, Body Armours and some 1h weapons. Here the second line is almost obsolete, as it only excludes Wands, Daggers and some 1h Swords.

Size conditions should be handled with care when dealing with many weapons, especially swords, and shields, as these occur in several differently sized types.


Color Options

Use a color picker, for example Google Color Picker

https://g.co/kgs/Y1mdzV

Any RGBA combo can be used for the color combinations 0 0 0 0 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.

Colors used in game:

Preview RGB Note
  200 200 200   Normal item
  136 136 255   Magic item
  255 255 119   Rare item
  175 96 37   Unique item
  27 162 155   Skill gem
  170 158 130   Currency
  74 230 58   Quest item
  14 186 255   Divination card
  127 127 127   Default text
  255 255 255   Value text
  136 136 255   Augmented value text
  150 0 0   Fire damage
  54 100 146   Cold damage
  255 215 0   Lightning damage
  208 32 144   Chaos damage
  184 218 242   Crafted mod
  210 0 0   Corrupted
  180 96 0   Supporter pack new item
  163 141 109   Supporter pack item
  255 200 0   Nemesis mod
  255 40 0   Nemesis mod outline
  210 0 220   Bloodline mod
  74 0 160   Bloodline mod outline
  50 230 100   Torment mod
  0 100 150   Torment mod outline
  231 180 120   Title
  170 158 120   Favour
  255 192 203  
  30 144 255  

Premium stash tab colors:

Preview RGB
  124 81 50  
  191 91 0  
  254 191 128  
  38 0 86  
  88 0 179  
  192 128 254  
  98 128 0  
  191 244 0  
  239 254 128  
  86 0 0  
  191 0 0  
  254 128 128  
  0 0 128  
  0 0 254  
  128 179 254  
  254 170 0  
  254 213 0  
  254 254 153  
  114 0 83  
  204 0 154  
  254 128 222  
  0 73 0  
  0 191 0  
  128 254 128  
  42 42 42  
  135 135 135  
  221 221 221  

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 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 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 # this line is now obsolete;
    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 item level 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 (replace .filter with .ruthlessfilter for Ruthless compatibility.)

  • It needs to go into My Documents/My Games/Path of Exile folder
  • production_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 Menu in game
  • Select your filter from the "List of Item Filters" at the "Game" Tab.

Troubleshooting

My filter is not working, what do I do?

Make sure your filter file is located in the same folder as your production_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

References

  1. (12 May 2015). "Item Filter Suggestions; Identified items, corrupted items, and grid sizes.". Reddit. Retrieved 12 May 2015.
  2. (2 May 2015). "PSA: You can change the font size in item filters.". Reddit. Retrieved 2 May 2015.

ru:Руководство по фильтру предметов