Filtry łupów

Poradnik ogólny

Filtry łupów

Stan na: PoE 3.29Aktualizacja:

Item filter to pierwsza rzecz, jaką instaluje się w Path of Exile. Jak go założyć, jak dobrać poziom surowości, jak czytać i pisać własne bloki oraz jak dopasować filtr na FilterBlade.

← Wróć do Poradników

Po co filtr

Item filter to lista reguł, która decyduje, jak wyglądają etykiety przedmiotów leżących na ziemi. To najważniejsze usprawnienie jakości gry w Path of Exile — i pierwsza rzecz, jaką powinien zainstalować każdy nowy gracz.

Bez filtra ekran po zabiciu packa potworów zalewa ściana białych napisów, wśród których gdzieś leży wartościowy przedmiot. Z filtrem: śmieci znikają, a rzeczy warte podniesienia dostają duży napis, kolorowe tło, słup światła, ikonę na minimapie i dźwięk.

Filtr robi więc trzy rzeczy naraz: ukrywa to, czego nie chcesz, wyróżnia to, czego szukasz, i — dzięki opcji Hide Filtered Ground Items — odciąża klienta gry, bo ukryte przedmioty nie są w ogóle renderowane.

Ten sam drop bez filtra i z filtrem — różnica w czytelności.
Filtra nie stworzysz w grze

Klient Path of Exile obsługuje filtry natywnie, ale nie pozwala ich tworzyć ani edytować w grze. Plik przygotowujesz poza grą — ręcznie w edytorze tekstu albo (znacznie częściej) w narzędziu FilterBlade.

Instalacja

Gdzie leży plik filtra

PlatformaŚcieżka
Windows%USERPROFILE%\Documents\My Games\Path of Exile\
macOSUsers → [nazwa użytkownika] → Library → Application Support → Path of Exile → Preferences → Item Filters

Ręczna instalacja — krok po kroku

  1. Wejdź do katalogu z tabeli powyżej.
  2. Jeśli masz gotowy plik .filter — po prostu wrzuć go do tego katalogu.
  3. Jeśli masz samą treść filtra — utwórz plik tekstowy, wklej zawartość i zapisz przez Zapisz jako z typem Wszystkie pliki (*.*) pod nazwą nazwa.filter.
  4. W grze wejdź w Options → UI (na starszych wersjach; obecnie także zakładka Game) i wybierz filtr z listy na dole.
  5. Kliknij Reload. Poprawnie wczytany filtr potwierdzi się komunikatem.
Nie widzisz opcji wyboru filtra?

Opcja pojawia się tylko wtedy, gdy plik ma rozszerzenie .filter i leży w tym samym katalogu co production_Config.ini. Najczęstsza przyczyna to ukryte rozszerzenia w Windows — plik nazywa się wtedy naprawdę nazwa.filter.txt.

Instalacja przez synchronizację konta (zalecana)

Prościej i bez grzebania w plikach — FilterBlade potrafi zapisać filtr bezpośrednio na twoim koncie PoE: // maxroll

  1. Na FilterBlade kliknij Sign in with PoE (prawy górny róg).
  2. Autoryzuj FilterBlade do zarządzania twoimi filtrami.
  3. Wróć na FilterBlade i wejdź w Save & Export.
  4. Wpisz nazwę filtra i wybierz platformę, na której grasz.
  5. Kliknij Save — filtr trafia na konto.
  6. W grze: Options → Game, wybierz filtr i włącz Hide Filtered Ground Items.

Zakładka My Filters na FilterBlade służy do wczytywania zapisanych filtrów z powrotem do edytora — tam wracasz, gdy chcesz coś zmienić.

NeverSink i strictness

Pisanie filtra od zera nie jest polecane — to setki reguł, które trzeba aktualizować co ligę. Standardem społeczności jest filtr NeverSink, konfigurowany przez FilterBlade. Kluczowy wybór to poziom surowości (strictness): im wyższy, tym więcej rzeczy filtr ukrywa. NeverSink ma siedem poziomów — Soft, Regular, Semi-Strict, Strict, Very Strict, Uber Strict i Uber Plus Strict — a nowym graczom autor poleca Semi-Strict. Najdroższe dropy są widoczne na każdym poziomie.

Jedna zasada na cały wybór poziomu

Podnieś surowość, kiedy zbieranie zaczyna cię spowalniać bardziej, niż wartość zbieranych rzeczy jest tego warta. W praktyce: Semi-Strict nakampanię i start ligi, Strict od wejścia w mapy, wyżej — kiedy czerwone mapy staną się rutyną. // maxroll

Składnia filtra

Filtr to zwykły plik tekstowy złożony z bloków. Każdy blok zaczyna się od Show albo Hide, a pod nim — w kolejnych liniach — idą warunki i akcje. Wcięcia są opcjonalne, ale bardzo pomagają w czytaniu.

Anatomia bloku
Show                        # albo Hide
    Class "Currency"        # warunek
    BaseType "Chaos Orb"    # kolejny warunek (muszą być spełnione WSZYSTKIE)
    SetTextColor 255 255 255  # akcja
    SetFontSize 45            # kolejna akcja
Wygrywa pierwszy pasujący blok

Gra czyta plik od góry i zatrzymuje się na pierwszym bloku, którego wszystkie warunki są spełnione. To najważniejsza zasada w całym filtrowaniu: blok szczegółowy musi być wyżej niż ogólny, inaczej nigdy nie zadziała.

Trzy typy bloków

BlokDziałanie
ShowJeśli wszystkie warunki pasują — pokaż przedmiot i wykonaj akcje.
HideJeśli wszystkie warunki pasują — ukryj przedmiot (akcje nadal się wykonują).
ContinueFlaga wewnątrz bloku: dopasowanie nie kończy się tutaj, filtr szuka dalej. Liczy się ostatnie napotkane Show/Hide.

W filtrach do trybu Ruthless zamiast Hide działa blok Minimal — zmniejsza etykietę do minimum z przezroczystym tłem.

Pusty blok i komentarze

  • Blok bez żadnego warunku pasuje do wszystkiego. Dlatego samo Hide na końcu pliku ukrywa wszystko, czego wcześniej nie pokazano — to standardowy sposób budowy surowego filtra.
  • Linia zaczynająca się od # to komentarz — jest ignorowana.

Typy wartości

TypZapis
Liczbabez cudzysłowu, np. 20
Tekstw cudzysłowie — choć przy Class i BaseType wartości można też rozdzielać samymi spacjami
Nonezawsze w cudzysłowie: "None"
Pustybrak wartości (np. opcjonalny parametr)

Operatory porównania

OperatorZnaczenie
=równe (domyślne — można pominąć)
!różne od
!=różne od (zapis alternatywny)
<mniejsze niż
<=mniejsze lub równe
>większe niż
>=większe lub równe
==dokładne dopasowanie (bez dopasowania częściowego)

Operator == jest szczególnie ważny przy BaseType i Class, bo domyślnie działa dopasowanie częściowe. Bez == warunek BaseType "Sai" trafi także „Saint’s Hauberk" i „Mosaic Kite Shield".

Warunki

Warunki decydują, które przedmioty trafiają w blok. W jednym bloku muszą być spełnione wszystkie naraz. Poniżej najważniejsze warunki, podzielone tematycznie. Pełną listę (ponad 50 słów kluczowych, także te dotyczące tylko Path of Exile 2) publikuje GGG w dokumentacji filtrów na stronie pathofexile.com.

Podstawowe

WarunekWartościOpis
Class [Operator] <Class>pełna lub częściowa nazwa klasy przedmiotuKlasa przedmiotu. Dopasowanie częściowe jest dozwolone — „One Hand" trafi zarówno „One Hand Sword", jak i „One Hand Axe", chyba że użyjesz operatora dokładnego (==).
BaseType <Type>pełna lub częściowa nazwa bazyBaza przedmiotu. Też dopasowuje częściowo — uwaga, „Sai" trafi też „Saint’s Hauberk" i „Mosaic Kite Shield". Użyj ==, żeby tego uniknąć.
Rarity [Operator] <Rarity>Normal, Magic, Rare, UniqueRzadkość przedmiotu. Porównania działają wg kolejności rzadkości.
ItemLevel [Operator] <Level>0–100Poziom przedmiotu (item level), na którym został wygenerowany.
DropLevel [Operator] <Level>0–100Poziom, od którego dana baza zaczyna wypadać.
AreaLevel [Operator] <Value>0–100Poziom potworów bieżącego obszaru. Najważniejszy warunek do budowy filtra, który zmienia zachowanie wraz z postępem postaci.
Quality [Operator] <Quality>0–20Ilość quality na przedmiocie.
BaseDefencePercentile [Operator] <Value>0–100Jak wysoko wylosowała się bazowa obrona przedmiotu między minimum a maksimum (w procentach). Przydatne do wyłapywania baz pod crafting.

Gniazda i linki

WarunekWartościOpis
Sockets [Operator] <GroupSyntax>liczba 0–6 + R, G, B, D, A, WGniazda niekoniecznie połączone. „>= 5GGG" trafi przedmiot z 5+ gniazdami, w tym co najmniej trzema zielonymi gdziekolwiek.
SocketGroup [Operator] <GroupSyntax>liczba + R, G, B, D, A, WTo samo co Sockets, ale gniazda muszą być połączone. Warunek przechodzi, gdy pasuje co najmniej jedna grupa.
LinkedSockets [Operator] <Links>0–6Rozmiar największej grupy połączonych gniazd.

Currency i gemy

WarunekWartościOpis
StackSize [Operator] <Value>liczbaRozmiar stosu currency — pozwala pokazywać dopiero większe stosy.
GemLevel [Operator] <Value>1–21Poziom gema.
TransfiguredGem <Boolean | "nazwa">True / False albo nazwa gemaTransfigured gem — True trafia każdy, nazwa wskazuje konkretny.
Exceptional <Boolean>True / FalseCzy gem jest Exceptional (endgame’owe gemy od 3.28).
Imbued <Boolean>True / FalseCzy gem jest imbued (słowo kluczowe dodane w 3.28).
AlternateQuality <Boolean>True / FalseCzy przedmiot ma quality alternatywne (gemy alternatywne z 3.12). Od 3.23 quality alternatywnego nie ma w grze — warunek dotyczy już tylko przedmiotów legacy.

Stan przedmiotu

WarunekWartościOpis
Identified <Boolean>True / FalseCzy przedmiot jest zidentyfikowany.
Corrupted <Boolean>True / FalseCzy przedmiot jest skorumpowany.
CorruptedMods [Operator] <Value>liczbaIle modów pochodzących z corruptu ma przedmiot.
Mirrored <Boolean>True / FalseCzy przedmiot jest kopią (Mirrored). Normalnie nie wypada — poza Strongboxem z modem „Contains Mirrored Items".
Replica <Boolean>True / FalseCzy przedmiot to Replica (unikaty Replica z 3.12).
FracturedItem <Boolean> / SynthesisedItem <Boolean>True / FalseCzy przedmiot jest fractured albo synthesised.
Foulborn <Boolean>True / FalseCzy przedmiot jest Foulborn.
Vestigial <Boolean>True / FalseCzy przedmiot jest Vestigial (słowo kluczowe dodane w 3.29).

Mody i enchanty

WarunekWartościOpis
HasExplicitMod <Value>pełna lub częściowa nazwa modaFiltrowanie po nazwie moda, np. HasExplicitMod "Tyrannical" (lokalne obrażenia fizyczne 155–169%).
HasImplicitMod <Boolean>True / FalseCzy przedmiot ma co najmniej jeden implicit.
AnyEnchantment <Boolean>True / FalseCzy przedmiot ma jakikolwiek enchant z Labiryntu.
HasEnchantment <Value>pełna lub częściowa nazwa enchantuFiltrowanie po konkretnym enchancie.
EnchantmentPassiveNode <Value>nazwa enchantuFiltruje Cluster Jewele po typie enchantu.
EnchantmentPassiveNum [Operator] <Value>liczbaFiltruje Cluster Jewele po liczbie enchantów — sprawdza tylko mod „Adds X passive skills".

Wpływy i endgame

WarunekWartościOpis
HasInfluence <Type>Shaper, Elder, Crusader, Redeemer, Hunter, Warlord, NoneCzy przedmiot ma wpływ danego typu. Działa też na mapy objęte wpływem.
ShaperItem <Boolean> / ElderItem <Boolean>True / FalseStarsze, węższe odpowiedniki HasInfluence dla Shapera i Eldera.
HasSearingExarchImplicit [Operator] <Value>tier 1–6 (1 = Lesser … 6 = Perfect)Czy przedmiot ma implicit The Searing Exarch danego tieru.
HasEaterOfWorldsImplicit [Operator] <Value>tier 1–6 (1 = Lesser … 6 = Perfect)Czy przedmiot ma implicit The Eater of Worlds danego tieru.
MemoryStrands [Operator] <Value>liczbaLiczba Memory Strands na przedmiocie.
MapTier [Operator] <Tier>1–16Tier mapy. Od 3.28 przedmioty map są generyczne — bazy „Map (Tier 1)" … „Map (Tier 16)" oraz Valdo Map, Shaper Guardian Map i Nightmare Map.
BlightedMap <Boolean> / UberBlightedMap <Boolean>True / FalseCzy mapa jest Blighted albo Blight-ravaged (UberBlightedMap).

Rozmiar w ekwipunku

WarunekWartościOpis
Height [Operator] <Value>1–4Ile pól zajmuje przedmiot w pionie.
Width [Operator] <Value>1–2Ile pól zajmuje przedmiot w poziomie.
Składnia gniazd: liczba + litery

W Sockets i SocketGroup podajesz liczbę i kolory: R (czerwone), G (zielone), B (niebieskie), W (białe), A (abyssal), D (delve). Zapis >= 5GGG znaczy „co najmniej 5 gniazd, w tym co najmniej trzy zielone".

Akcje

Akcje decydują, jak dopasowany przedmiot wygląda i brzmi. Można ich w jednym bloku użyć dowolnie wiele.

AkcjaOpis
SetTextColor <R> <G> <B> [A]Kolor tekstu etykiety. Wartości 0–255, opcjonalna alfa 0–255.
SetBorderColor <R> <G> <B> [A]Kolor obramowania etykiety.
SetBackgroundColor <R> <G> <B> [A]Kolor tła etykiety — najsilniejszy sygnał wizualny, używaj oszczędnie.
SetFontSize <FontSize>Rozmiar czcionki etykiety (maksymalnie 45). Prosty i skuteczny sposób na hierarchię ważności.
PlayAlertSound <Id> [Volume]Odtwarza wbudowany dźwięk alertu: Id 1–16, głośność 0–300. Naraz może grać tylko jeden dźwięk. Wyłączenie: None.
PlayAlertSoundPositional <Id> [Volume]Jak PlayAlertSound, ale głośność zależy od odległości od miejsca upadku. Dobre dla przedmiotów niższego tieru — nie zagłusza reszty.
CustomAlertSound <FileName | FileFullPath> [Volume]Odtwarza własny plik dźwiękowy (głośność 0–300). Obsługiwana jest większość popularnych rozszerzeń. Nadpisuje PlayAlertSound i PlayAlertSoundPositional.
CustomAlertSoundOptional <FileName | FileFullPath> [Volume]Jak CustomAlertSound, ale linia jest pomijana, jeśli pliku nie ma.
DisableDropSound / EnableDropSoundWyłącza lub włącza dźwięk upadku przedmiotu. To osobny dźwięk niż PlayAlertSound.
DisableDropSoundIfAlertSound / EnableDropSoundIfAlertSoundJak wyżej, ale działa tylko w blokach, które ustawiają też dźwięk alertu.
MinimapIcon <Size> <Color> <Shape>Ikona na minimapie — najlepszy sposób, żeby nie przegapić dropu poza ekranem.
Size: 0 (największa), 1 (średnia), 2 (mała). Wyłączenie: -1. 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.
PlayEffect <Color> [Temp]Kolorowy słup światła nad przedmiotem. Bez parametru Temp słup jest widoczny na stałe.
Color: Red, Green, Blue, Brown, White, Yellow, Cyan, Grey, Orange, Pink, Purple. Wyłączenie: None. Opcjonalne Temp — słup widoczny tylko w momencie upadku.
Hierarchia sygnałów

Dobry filtr używa stopniowanych sygnałów: rozmiar czcionki i kolor obwódki dla rzeczy przeciętnych, tło i ikona na minimapie dla ważnych, dźwięk i słup światła wyłącznie dla rzeczy naprawdę rzadkich. Jeśli wszystko krzyczy, nic nie krzyczy.

Gotowe bloki

Poniższe przykłady można wkleić do własnego filtra i przerobić pod siebie. Każdy pokazuje inny mechanizm — kolejność, wielokrotne wartości, zależność od poziomu obszaru i flagę Continue.

Kolejność bloków — dlaczego to najważniejsze

Pokazuje, jak pierwszy pasujący blok wygrywa i jak łatwo o błąd.

# ŹLE — ten filtr ukryje currency o rzadkości normal:
Hide
    Rarity Normal
Show
    Class "Currency"

# DOBRZE — bloki szczegółowe idą pierwsze, ogólne na końcu:
Show
    Class "Currency"
Hide
    Rarity Normal
  • Gra czyta plik od góry i zatrzymuje się na pierwszym pasującym bloku.
  • Blok bez żadnego warunku pasuje do wszystkiego — „Hide" na końcu pliku ukrywa całą resztę.
  • Zasada: od najbardziej szczegółowego do najbardziej ogólnego.

Currency — z podziałem na wartość

Duży alert dla wartościowej currency, cichy dla drobnicy.

# Currency wysokiej wartości — słup, ikona, dźwięk
Show
    Class "Currency"
    BaseType "Divine Orb" "Exalted Orb" "Mirror of Kalandra"
    SetTextColor 255 255 255
    SetBackgroundColor 176 0 0
    SetBorderColor 255 255 255
    SetFontSize 45
    PlayAlertSound 6 300
    MinimapIcon 0 Red Star
    PlayEffect Red

# Currency zwykła — widoczna, ale bez fajerwerków
Show
    Class "Currency"
    SetTextColor 170 158 130
    SetBorderColor 170 158 130
    SetFontSize 36
  • BaseType przyjmuje kilka wartości w jednej linii — nie trzeba osobnych bloków.
  • PlayAlertSound ma opcjonalną głośność (tu 300).
  • MinimapIcon 0 = największa ikona; Star wyróżnia się wśród domyślnych kształtów.

Bazy pod craft — sześć gniazd i linki

Wyłapywanie 6-gniazdowych i 5/6-linkowych przedmiotów.

# Sześć linków — zawsze pokaż, niezależnie od rzadkości
Show
    LinkedSockets 6
    SetTextColor 255 255 255
    SetBackgroundColor 200 100 0
    SetFontSize 45
    PlayAlertSound 3 300
    MinimapIcon 0 Orange Star
    PlayEffect Orange

# Sześć gniazd (bez linków) — vendor recipe na Jeweller's Orbs
Show
    Sockets 6
    SetTextColor 255 255 255
    SetBorderColor 255 255 255
    SetFontSize 40
    MinimapIcon 1 White Square

# Pięć linków — nadal warto podnieść
Show
    LinkedSockets 5
    SetBorderColor 200 100 0
    SetFontSize 38
  • LinkedSockets liczy największą grupę POŁĄCZONYCH gniazd.
  • Sockets liczy gniazda niezależnie od połączeń — stąd osobny blok na recipe 6S.
  • Bloki idą od najrzadszego (6L) do najczęstszego (5L), bo pierwszy pasujący wygrywa.

Filtr zależny od poziomu obszaru

Chowanie niskopoziomowych baz dopiero wtedy, gdy przestają być potrzebne.

# Do poziomu obszaru 67 (kampania) — pokaż wszystkie rare
Show
    AreaLevel <= 67
    Rarity Rare
    SetBorderColor 255 255 119
    SetFontSize 36

# Na mapach — rare tylko z odpowiednio wysokim item level
Show
    AreaLevel >= 68
    Rarity Rare
    ItemLevel >= 84
    SetBorderColor 255 255 119
    SetFontSize 38

# Reszta rare na mapach — schowaj
Hide
    AreaLevel >= 68
    Rarity Rare
  • AreaLevel odnosi się do poziomu potworów bieżącego obszaru, nie do poziomu postaci.
  • To najczystszy sposób, żeby jeden filtr działał od aktu 1 do endgame.
  • ItemLevel 84+ to próg dla najwyższych tierów wielu modów.

Mapy — podział po tierze i wpływie

Mapy zawsze widoczne, wysokie tiery i wpływy wyróżnione.

# Mapy z wpływem — najwyższy priorytet
Show
    Class "Maps"
    HasInfluence Shaper Elder
    SetBackgroundColor 60 0 80
    SetBorderColor 255 255 255
    SetFontSize 45
    MinimapIcon 0 Purple Square
    PlayEffect Purple

# Wszystkie pozostałe mapy — zawsze widoczne
Show
    Class "Maps"
    SetTextColor 255 255 255
    SetBorderColor 200 200 200
    SetFontSize 40
    MinimapIcon 1 White Square
  • Class "Maps" obejmuje wszystkie tiery — od T1 po Nightmare.
  • HasInfluence działa też na mapy, nie tylko na wyposażenie.
  • Mapy warto trzymać widoczne na każdym poziomie surowości — to zaopatrzenie w endgame.

Continue — nakładanie efektów

Dodanie wspólnego stylu do wielu bloków bez powtarzania kodu.

# Wszystko, co skorumpowane, dostaje czerwoną obwódkę…
Show
    Corrupted True
    SetBorderColor 210 0 0
    Continue

# …a dopiero potem działa właściwa reguła
Show
    Class "Maps"
    SetFontSize 40
  • Continue sprawia, że dopasowanie NIE kończy się na tym bloku.
  • Jeśli przedmiot trafi na blok Hide z Continue, a potem na Show — zadziała Show (liczy się ostatnie dopasowanie).
  • Jeśli po Continue nie trafi już w żaden blok, zadziała ostatnie dopasowanie.

FilterBlade

FilterBlade to edytor, w którym filtr NeverSinka konfiguruje się klikaniem zamiast pisania. W praktyce 95% graczy nigdy nie otwiera pliku filtra — wszystko robią tutaj.

Kiedy w ogóle coś zmieniać

Domyślne poziomy surowości są wystarczające na start — nie customizuj od razu. Wróć do edytora dopiero wtedy, gdy zauważysz konkretny problem: filtr przestał pokazywać coś, czego wciąż potrzebujesz, albo pokazuje coś, co cię rozprasza. // maxroll

Typowe zmiany

Filtr na etapy ligi

Filtr nie jest ustawieniem „raz na zawsze". Na każdym etapie ligi chcesz widzieć co innego.

EtapPoziomCo musi być widoczne
Kampania (Akty 1–10)Semi-StrictWszystko o rzadkości rare, bazy z gniazdami i linkami, każda currency, flaszki użytkowe, gemy.
Białe i żółte mapyStrictCurrency, mapy, bazy pod craft z odpowiednim item levelem, unikaty, 5L/6L, 6 gniazd pod recipe.
Czerwone mapyVery StrictWartościowa currency, scaraby, fragmenty, wysokie tiery map, bazy ilvl 84+, przedmioty z wpływem.
Farmienie na wydajnośćUber-Strict i wyżejWyłącznie to, co ma realną cenę. Wszystko inne — łącznie z większością rare — znika.
Alternatywa: jeden filtr, warunek AreaLevel

Zamiast przełączać filtry, można napisać reguły oparte o AreaLevel — wtedy jeden plik zachowuje się inaczej w kampanii i inaczej na mapach. Przykład jest w sekcji Gotowe bloki.

Pułapki

Zmiany

Zmiany w systemie filtrów, które wpływają na składnię albo działanie gotowych plików. GGG publikuje pełne listy zmian filtrów w wątkach na oficjalnym forum przy każdej większej wersji.

Powiązane poradniki

Źródła

Fakty w tym poradniku opracowano na podstawie artykułów poewiki.net: Item filter, Guide:Item filter guide.

Materiały pomocnicze (pathofexile.com, github.com, maxroll.gg): Item Filter — dokumentacja GGG, Mirage (3.28) Item Filter Information, Curse of the Allflame (3.29) Item Filter Information, NeverSink's Filter (GitHub), Loot Filter Guide.

Treść poewiki.net jest dostępna na licencji CC BY-NC-SA 3.0. Tłumaczenie i opracowanie tej treści: Karui Polska — udostępniane na tej samej licencji.