Polowanie na album
Większość botów atakuje te trzy osoby, które akurat zaproponuje arena. Do honoru to w porządku, a do albumu bezużyteczne, bo te trzy nazwy wybiera gra, a nie to, czego ci brakuje.
Mercy SF przeczesuje w tle Galerię Sław, zapamiętuje ekwipunek każdego zobaczonego gracza i wysyła kolejny atak na najlepszy możliwy do pokonania cel w skali całości: tego, kto nosi najwięcej przedmiotów, których twój album jeszcze nie ma.

Włącz to przez auto_scrapbook i ustaw arena_mode na Scrapbook.
Jak działa pula
Crawler buduje w pamięci, osobno dla każdego konta, pulę graczy i ich ekwipunku. Każda walka wybierana jest potem z puli, a nie z listy podpowiedzi areny.
Pula żyje przez sesję i ani chwili dłużej, i to celowo. Jej zapisywanie wyglądało na darmową wiedzę, a nią nie było:
- rosła bez ograniczeń. Jedno zmierzone konto doszło do 187 136 graczy przy 119 MB i wciąż przybierało około 20 MB co dwadzieścia minut;
- każda zmiana przepisywała cały plik synchronicznie, trzymając przy tym blokadę, której bot potrzebuje do wyboru walki, a ekran Areny do narysowania się. Zmierzone: przepisanie 119 MB co 27 sekund;
- zapis nie był atomowy, a nieudany odczyt cofał się do pustego cache'u, więc awaria w trakcie zapisu i tak po cichu wyrzucała cały dorobek;
- zapisany ekwipunek to migawka tego, co ktoś nosił, a gracze przebierają się bez przerwy, więc większość tego, co przetrwało restart, była nieprawdziwa.
Skanowanie od nowa przy każdym uruchomieniu robi też narzędzie odniesienia, którym to się inspirowało, z tego samego powodu.
Wybór celu
Gracz z puli musi przejść kilka bramek, zanim będzie wart ataku.
| Bramka | Ustawienie | Domyślnie | Znaczenie |
|---|---|---|---|
| Sufit poziomu | scrapbook_max_level_diff | 0 | O ile poziomów powyżej twojego może być cel. 0 znaczy „nigdy powyżej mnie”. |
| Podłoga poziomu | scrapbook_min_level_diff | 0 | O ile poziomów poniżej twojego może być cel. 0 znaczy brak podłogi. |
| Siła | scrapbook_max_attribute_pct | 120 | Górna granica sumy atrybutów celu jako procent twoich. 100 znaczyłoby „nigdy silniejszy ode mnie”. |
| Lista blokad | arena_never_attack | puste | Nazwy nigdy nieatakowane, cokolwiek noszą. |
| Żywy | Nazwy, które serwer odrzucił komunikatem „nie znaleziono gracza”, są zapamiętywane i pomijane. |
Obie granice poziomu istnieją, bo zawodzą w przeciwnych kierunkach. Daleko powyżej ciebie walki są przegrane; daleko poniżej wygrywa się je bez wysiłku, ale sprzęt jest z niskiej półki, więc przy prawie kompletnym albumie kosztują darmową walkę i nic nie przynoszą.
Atrybuty przewidują wynik znacznie lepiej niż poziom, więc scrapbook_max_attribute_pct to pokrętło, które naprawdę decyduje. Domyślne 120 dopuszcza cel do jednej piątej silniejszy od ciebie, a to walka przegrywana wystarczająco często, żeby to zauważyć. Zejdź do 100, jeśli wolisz nie przegrywać żadnej.
Lista blokad sprawdzana jest wobec każdego źródła: trzech podpowiedzi areny, Galerii Sław i puli crawlera. Nazwa, na którą powiedziałeś nie, nie może wrócić innymi drzwiami.
Pasmo wyszukiwania
scrapbook_search_band_enabled jest włączone i zmienia sposób przeszukiwania puli, a nie to, kto się kwalifikuje.
Na zagospodarowanym koncie pula sięga sześciu cyfr, a najlepiej punktowany gracz w niej często stoi na samym krańcu zakresu poziomów, co daje walkę albo nie do wygrania, albo bezwartościową. Dlatego wyszukiwanie zaczyna się w paśmie wokół twojego poziomu i poszerza się dopiero wtedy, gdy w tym paśmie zabraknie kandydatów.
| Ustawienie | Domyślnie | Znaczenie |
|---|---|---|
scrapbook_search_band_start | 10 | Połowa szerokości pasma, od którego zaczyna wyszukiwanie, w poziomach. |
scrapbook_search_band_step | 10 | O ile poziomów pasmo rośnie, ilekroć się wyczerpie. |
scrapbook_search_band_max | 100 | Najszersze, jakie pasmo osiąga, zanim wróci na początek. |
Powrót na początek jednocześnie przycina. Przeczesanie każdego poziomu do maksimum bez znalezienia celu tłumaczy się raczej tym, że zapamiętane dane się zestarzały, niż tym, że serwer jest pusty.
Starzenie
scrapbook_cache_max_age_hours domyślnie wynosi 72. Zapisany ekwipunek to migawka, a gracze zmieniają sprzęt bez przerwy, więc wpis zebrany tydzień temu mówi więcej o tym, co ktoś nosił, niż o tym, co nosi teraz. Gorzej: zestaw, który już zebrałeś, jest nie do odróżnienia od takiego, który nigdy nic nie był wart. Ustawienie na 0 całkowicie wyłącza starzenie.
Martwe nazwy
Gracze bywają przemianowani, usunięci i przeniesieni na inny serwer. Serwer odpowiada „nie znaleziono gracza”, a bez pamięci jeden nieaktualny wpis w puli roznosiłby ten błąd i odstawiał cały moduł na godzinę. Te nazwy zapamiętywane są per konto, więc martwy cel jednego konta nigdy nie zasłania całkiem dobrego gracza innemu.
Zbiór ograniczony jest do dziesięciu tysięcy nazw. Dojście do tego oznacza, że pula wymieniła się o wiele bardziej, niż robi to prawdziwa sesja, więc jest czyszczona, a te kilka nazw, które wciąż mają znaczenie, uczy się od nowa kosztem jednego zmarnowanego zapytania każda.
Tempo przeczesywania
Dwa ustawienia, i robią różne rzeczy.
| Ustawienie | Domyślnie | Co ogranicza |
|---|---|---|
scrapbook_max_hof_lookups | 20 | Zapytania na jeden cykl bota. |
scrapbook_crawl_requests_per_min | 60 | Zapytania na minutę, w skali całego konta. 0 wyłącza limit. |
Sześćdziesiąt na minutę to z grubsza jedno zapytanie na sekundę w sposób ciągły: tyle, żeby pula stale rosła, bez zrywów zapytań, które wywołałoby samo podniesienie budżetu na cykl. Właśnie dlatego istnieją oba. Jeśli chcesz, żeby przeczesywanie szło ostrzej, podnieś oba.
Pozostałe ustawienia

| Ustawienie | Domyślnie | Co robi |
|---|---|---|
auto_scrapbook | włączone | Sam moduł. |
scrapbook_crawler_enabled | włączone | Przeczesywać Galerię Sław na bieżąco, zamiast czytać tylko podpowiedzi areny. |
scrapbook_after_xp_wins | włączone | Polować na cele do albumu dopiero po odbyciu walk o doświadczenie. |
scrapbook_scan_arena_opponents | włączone | Zapisywać też ekwipunek trzech przeciwników proponowanych przez arenę, bo to darmowa informacja. |
scrapbook_early_game_priority | włączone | Przedkładać walki o album, póki postać jest niskopoziomowa, bo wtedy album zapełnia się najszybciej. |
scrapbook_hof_rankup | włączone | Utrzymywać listę kandydatów do wspinaczki w Galerii Sław, a nie tylko pod przedmioty. |
scrapbook_notify_at | 0 | Powiadom mnie, gdy album osiągnie tyle przedmiotów. 0 znaczy nigdy. |
buy_scrapbook | włączone | Kupować wpisy do albumu tam, gdzie gra wystawia je na sprzedaż. |
Gdzie zapada decyzja
Warto wiedzieć, jeśli czytasz źródła: album był kiedyś osobnym modułem bota, i to był błąd. On i moduł areny oba uważały, że to do nich należy odnowienie areny, powielały nawzajem swoje bramki i nie zgadzały się co do tego, czy próg szansy wygranej może zawetować darmową walkę.
Decydująca połowa mieszka teraz w module walki. Pod hasłem „album” została ta maszyneria, która utrzymuje pulę w stanie wartym wybierania: crawler, starzenie, granice poziomów i lista kandydatów do awansu.