- 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.
char.jpg
Örneğin:
metin.jpg
Birden fazla metin taşı kullanabilirsiniz.
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
Örnek:
a.jpg
b.jpg
c.jpg
metin.jpg
Bot listedeki tüm görselleri sırayla tarar.
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:- Oyun penceresini algılar.
- Karakterin ekran görüntüsünü bulur.
- Metin taşlarını tarar.
- Karakter ile metin arasındaki mesafeyi hesaplar.
- En yakın metni seçer.
- Fareyi hedefe götürür.
- Sol tıklama yapar.
- Uriel doğrulaması çıkarsa otomatik olarak geçer.
- 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.
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
