Tehnologie

Cum funcționează BeaTzVision pe dinăuntru:
de la captură la clic

· 7 min de citit · BeaTzTools

Pe scurt: BeaTzVision face în buclă același lucru: fotografiază fereastra jocului, transformă imaginea astfel încât detecția să rămână stabilă, caută în ea Metinele pe care le-ai capturat, alege ținta cea mai apropiată și apoi simulează mouse-ul și tastatura. Procesul jocului nu este atins niciodată.

În acest articol
  1. Captura ferestrei
  2. Pregătirea imaginii
  3. Găsirea pietrelor
  4. Alegerea țintei
  5. Clic și taste
  6. De ce contează pe serverele private

1. Captura ferestrei

Botul nu fotografiază tot ecranul, ci doar zona ferestrei de joc. Este mai rapid și ține Discord, browserul sau un al doilea client în afara detecției.

Zonele care deranjează pot fi ascunse suplimentar cu măști. Botul le înnegrește în imaginea capturată înainte să înceapă căutarea. Tipic sunt chat-ul, minimap-ul sau o bară de stare în care apare ocazional ceva ce seamănă cu un Metin.

2. Pregătirea imaginii

Apoi imaginea color devine una în tonuri de gri. Sună a pierdere de informație, dar este exact ce trebuie: forma și contrastul decid o potrivire, nu culoarea.

Pe imaginea gri rulează CLAHE, o egalizare de contrast care împarte imaginea în dale de 8×8 și luminează sau întunecă fiecare dală separat. Diferența față de o luminare globală e mare: o piatră la umbra unui copac și aceeași piatră în soare puternic ajung să arate destul de asemănător încât un singur șablon să le găsească pe amândouă.

De ce contează

Majoritatea problemelor de detecție pe serverele private vin din luminozitate: alte valori gamma, alte efecte, altă oră în joc. Egalizarea de contrast absoarbe o parte. Restul ține de felul în care capturezi.

3. Găsirea pietrelor

Acum urmează căutarea propriu-zisă, template matching. Imaginea ta capturată este plimbată peste imaginea live, iar pentru fiecare poziție OpenCV calculează cât de bine se potrivesc cele două. Rezultatul e o valoare între 0 și 1. Peste pragul tău, piatra e considerată găsită.

Două lucruri fac asta mai robust decât pare:

Pentru lucrurile care se recunosc mai sigur după culoare, cum sunt barele de viață sau punctele jucătorilor de pe minimap, botul lucrează în schimb în spațiul de culoare HSV. Acolo nuanța, saturația și luminozitatea sunt separate, și se poate spune „nuanța aceasta, oricât de luminoasă”.

4. Alegerea țintei

De obicei botul găsește mai multe pietre deodată. Toate potrivirile sunt sortate după distanța față de centrul ecranului, iar centrul este caracterul tău. Piatra cea mai apropiată e prima, pentru că drumul cel mai scurt aduce cele mai multe pietre pe oră.

În jurul caracterului există o zonă de excludere de aproximativ 80 de pixeli. Potrivirile din interiorul ei sunt aruncate. Fără ea, botul ar da din când în când clic pe propriul cal, pe propriul nume sau pe un efect de pe caracter.

5. Clic și taste

La final, coordonatele din imagine devin input. Mouse-ul se duce la poziție, așteaptă scurt și apoi dă clic. Tastele sunt ținute apăsate aproximativ 70–140 de milisecunde, iar eliberarea durează încă 40–80. Timpii aceștia diferă ușor la fiecare clic.

Input-ul merge pe calea normală de input a Windows, opțional printr-un driver la nivelul unui mouse real. În ambele cazuri e un eveniment de input obișnuit, ca al oricărui alt program.

De ce contează pe serverele private

Fiecare server privat are propriile modele de Metin, propria interfață și adesea propriile efecte. Exact de aceea capturezi pietrele singur în loc să folosești o listă gata făcută și de aceea capturile sunt păstrate pe server. Schimbi serverul, botul schimbă șabloanele cu tine. Dacă al tău e în lista de servere, vezi acolo.

Al doilea punct e construcția: niciun acces la procesul jocului, niciun hook, niciun fișier modificat. Ce înseamnă asta tehnic explică Pixelbot vs. citirea memoriei. Cum configurezi detecția în practică arată ghidul de farmbot, iar dacă nu se detectează nimic, ajută depanarea.


Întrebări frecvente

BeaTzVision citește memoria jocului?
Nu. Botul nu atinge niciodată procesul jocului. Captează doar imaginea ferestrei de joc, o analizează cu OpenCV și simulează input de mouse și tastatură. Nu există handle către joc, niciun hook și niciun fișier de joc modificat.
De ce trebuie să capturez singur pietrele?
Pentru că fiecare server privat arată altfel: alte modele de Metin, altă interfață, alte culori. Botul caută exact imaginea pe care ai capturat-o. De aceea capturile sunt păstrate separat pentru fiecare server.
Ce înseamnă pragul de detecție?
Template matching returnează o valoare între 0 și 1 pentru fiecare poziție din imagine. Pragul decide când contează o potrivire. Prea mare și pietrele sunt ratate; prea mic și botul găsește pietre acolo unde nu sunt.
De ce dă botul clic întâi pe piatra cea mai apropiată?
Toate potrivirile sunt sortate după distanța față de centrul ecranului, iar centrul este caracterul tău. Drumul cel mai scurt economisește timp de mers și înseamnă mai multe pietre pe oră.

Vrei să încerci singur?

Intră pe Discord-ul BeaTzTools și primește acces la BeaTzVision și BeaTzSignal, ghiduri de configurare și suport.

Încearcă gratuit →