>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
JavaScript

Jak działa katalog skryptów automatyzacji dla Genshin Impact

Każdy, kto grał w Genshin Impact, zna tę rutynę: zbierz 168 osobliwości do awansu postaci, oczyść punkty z rudą, ukończ codzienne lochy. Proces zamienia się w drugą pracę. Społeczność rozwiązuje ten problem po swojemu. Projekt BetterGI wykorzystuje widzenie komputerowe i emulację wejść, aby zautomatyzować grind, a repozytorium 4 służy jako coś w rodzaju centralnego menedżera pakietów.

Stałem się ciekawy, jak deweloperzy zorganizowali repozytorium skryptów użytkowników. Gdy setki osób przesyłają trasy farmienia, rotacje walki i niestandardowe makra JS, projekt może łatwo zamienić się w chaos. Tutaj autorzy zbudowali ścisły system moderacji i struktury poprzez regularne Pull Reqesty.

Co znajduje się w repozytorium

Repozytorium zasila witrynę internetową 5. Użytkownicy uruchamiają klienta BetterGI, wybierają potrzebny scenariusz z katalogu, a aplikacja pobiera dane bezpośrednio z Git. Bez złożonej bazy danych po stronie serwera — GitHub pełni rolę jedynego źródła prawdy.

Katalog podzielony jest na cztery główne obszary:

  • 6 — skrypty rotacji walki. Opisują timing umiejętności postaci, pauzy i warunki ukończenia lochów.
  • 7 — trasy nawigacyjne. To pliki JSON z koordynatami ruchu postaci — od teleportów do punktów zbierania zasobów.
  • 8 — złożone scenariusze automatyzacji w JavaScript z rozpoznawaniem wzorców i niestandardowym interfejsem.
  • 9 — logika dla trybu kart "Przywołanie Siódemki".

Architektura skryptów nawigacyjnych

Największą częścią katalogu są trasy zbierania zasobów (10). Aby tysiące plików pozostały czytelne, społeczność wprowadziła ścisły standard nazewnictwa:

0

Przykład z repozytorium: 11 (Kryształy, Liyue, Cloud Retainer, 6 sztuk). Numery tras nie są dowolne. Trasy są sortowane albo według kolejności teleportów, aby skrócić czas ładowania, albo według gęstości zasobów, aby najpierw farmić najbogatsze miejsca.

Konflikty są rozwiązywane w ciekawy sposób. Załóżmy, że dwóch autorów stworzyło trasy zbierania dla tego samego kwiatu, ale dla różnych zestawów postaci:

1

Jeśli gracz ma postać, która zbiera zasoby zdalnie, pobiera jeden preset. Jeśli zbieranie odbywa się standardową dwuręczną bronią do rozbijania rud — inny. Struktura katalogu izoluje te warianty za pomocą folderów z przyrostkiem 12.

Złożone scenariusze JavaScript

Proste ruchy nie pokrywają wszystkich zadań. W przypadku złożonych czynności, takich jak automatyczne farmienie linii ley lub przebiegi na materiały awansu, używane są skrypty JS. Typowa struktura folderów w 13:

2

Wewnątrz 14 deweloperzy łączą dopasowywanie obrazów szablonów (Template Matching przez OpenCV) i symulację kliknięć. Jeśli na ekranie pojawi się wymagana ikona z folderu 15, uruchamiany jest odpowiedni branch logiki.

W celu konfiguracji parametrów autorzy skryptów mogą dołączać niestandardowe nakładki HTML. Zasady repozytorium zawierają jasne wymagania: ciężkie pakiety SPA bez kodu źródłowego są zabronione, więc silnik webowy nakładki nie zużywa dodatkowej pamięci RAM podczas gry.

3

Współtwórcy i wsparcie

Projekt jest utrzymywany przez aktywną chińską społeczność. Większość zmian pochodzi z PR-ów na GitHubie, gdzie autorzy przestrzegają ścisłych zasad komentowania i formatowania.

Active Contributors of babalae/bettergi-scripts-list - Last 28 days

Kto znajdzie ten projekt przydatny

Jeśli piszesz boty do gier lub tworzysz automatyzację opartą na widzeniu komputerowym, 16 to świetny przykład organizacji współdzielonej bazy skryptów:

  • Jak wykorzystać GitHub jako rejestr pakietów bez pisania backendu.
  • Jak przechowywać zasoby rozpoznawania obrazów obok kodu wykonywalnego.
  • Jak zbudować schemat nazewnictwa plików, który eliminuje duplikację i zamieszanie między dziesiątkami autorów.

Kod źródłowy jest otwarty, a dokumentacja dotycząca formatów scenariuszy dostępna jest na stronie projektu. Nawet jeśli nie masz nic wspólnego z Genshin Impact, architektoniczne rozwiązania dotyczące organizacji plików i standardów wkładu mogą zostać zapożyczone do własnych narzędzi.

Powiązane projekty