admin
Katılım
23 Eki 2022
Mesajlar
9,191
Çözümler
14
Tepkime puanı
7,147
Puanları
113
Yaş
28
Metin2 OpenCV Metin Kesme Botu, oyun istemcisini görsel olarak analiz eden ve OpenCV'nin matchTemplate algoritmasını kullanarak ekrandaki metin taşlarını otomatik tespit eden bir otomasyon projesidir.

Bot, karakterin ekran üzerindeki konumunu belirledikten sonra en yakın metin taşını hesaplayarak otomatik olarak hedef seçer ve tıklama işlemini gerçekleştirir. Ayrıca bazı sunucularda kullanılan Uriel hile koruma ekranını algılayıp otomatik olarak geçebilmektedir.


Özellikler

  • OpenCV tabanlı görsel tanıma
  • matchTemplate algoritması
  • Win32API ile pencere kontrolü
  • Otomatik metin taşı algılama
  • Karakter konumunu tespit etme
  • En yakın metin taşını hesaplama
  • Otomatik hedef seçimi
  • Otomatik fare tıklaması
  • Birden fazla metin taşı desteği
  • Çoklu pencere desteği
  • Uriel hile korumasını algılama
  • Otomatik Uriel doğrulama geçişi
  • Test modu
  • Kolay yapılandırılabilir dosya sistemi


Kullanılan Teknolojiler

  • Python
  • OpenCV
  • matchTemplate
  • Win32API
  • NumPy
  • Pillow


Çalışma Mantığı

Bot aşağıdaki işlem sırasını uygular:

  1. Oyun penceresini algılar.
  2. Karakterin ekran görüntüsünü bulur.
  3. Metin taşlarını tarar.
  4. Karakter ile metin arasındaki mesafeyi hesaplar.
  5. En yakın metni seçer.
  6. Fareyi hedefe götürür.
  7. Sol tıklama yapar.
  8. Uriel doğrulaması çıkarsa otomatik olarak geçer.
  9. Döngüyü tekrar başlatır.


Gerekli Düzenlemeler

Botu kullanmadan önce aşağıdaki dosyaları düzenlemeniz gerekir.


1. Karakter Görselini Hazırlayın

Karakterinizin ismini içeren ekran görüntüsünü alın ve aşağıdaki isimle kaydedin.


char.jpg




2. Metin Taşı Görselini Hazırlayın

Kesmek istediğiniz metin taşının ekran görüntüsünü alın.

Örneğin:


metin.jpg



Birden fazla metin taşı kullanabilirsiniz.


3. Oyun Penceresini Tanımlayın

headers.txt dosyasına yakalanacak pencere isimlerini ekleyin.

Pencere isimlerini öğrenmek için main.py içerisindeki aşağıdaki fonksiyonu kullanabilirsiniz.


ListWindowNames()



Birden fazla pencere kullanıyorsanız her satıra bir isim yazabilirsiniz.

Örnek:


Metin2
Metin2 Client
MyServer




4. Kesilecek Metinleri Belirtin

stone.txt içerisine kullanılacak görselleri ekleyin.

Örnek:


a.jpg
b.jpg
c.jpg
metin.jpg



Bot listedeki tüm görselleri sırayla tarar.


5. Botu Başlatın

Projede üç farklı çalışma modu bulunmaktadır.

  • Start → Botu başlatır.
  • Test → Algılama testlerini gerçekleştirir.
  • ListWindowNames() → Açık pencere isimlerini listeler.


Avantajları

  • Bellek adresine ihtiyaç duymaz.
  • Sunucuya özel offset gerektirmez.
  • Görsel tabanlı çalışır.
  • Kolay yapılandırılabilir.
  • Birden fazla metin taşı destekler.
  • Python ile geliştirildiği için kolayca genişletilebilir.
  • OpenCV sayesinde yüksek doğruluk oranı sunar.


Sonuç

Metin2 OpenCV Metin Kesme Botu, bellek okuma yerine tamamen görsel tanıma teknolojisi kullanan pratik bir otomasyon çözümüdür. OpenCV'nin matchTemplate algoritması sayesinde metin taşlarını hızlı bir şekilde tespit eder, karaktere en yakın hedefi belirler ve Win32API üzerinden otomatik tıklama gerçekleştirir. Esnek yapılandırma sistemi ve çoklu metin desteği sayesinde farklı Metin2 sunucularına kolayca uyarlanabilir.
 
Üst
Reklam Ver
R10dev.net'i ana ekrana ekle!