- Katılım
- 23 Eki 2022
- Mesajlar
- 8,912
- Çözümler
- 13
- Tepkime puanı
- 6,552
- Puanları
- 113
- Yaş
- 28
Herkese merhaba,
Birçok kişinin "kaynak bulamıyoruz, fonksiyonları nasıl yapıyorsun?" şeklindeki soruları üzerine, tamamen zevk amaçlı hazırladığım ve taslak aşamasında kalan KCABOT projemin C++ kaynak kodlarını paylaşıyorum.
Baştan uyarayım; proje taslak olduğu için içinde gereksiz kodlar barındırıyor ve yazım şekli oldukça dağınık ("doğal şifreleme" diyebiliriz). Bu haliyle alıp doğrudan derleyip kullanmanızı önermem. Ancak fonksiyonların nasıl çalıştığını inceleyip kendi projelerinize (copy-paste mantığıyla da olsa) entegre edebilir, mantığı rahatlıkla kavrayabilirsiniz. Projedeki neredeyse tüm sistemler sorunsuz çalışıyor, özellikle farmbot kısmı pointer'lar güncellendiği takdirde kullanıma hazır.
Pointer ve Offset İsimlendirme Rehberi
Metin2 geliştirme terimlerine başta çok hakim olmadığım için pointer isimlerini kendimce uydurmuştum. Kodu incelerken kafanızın karışmaması adına karşılıkları şunlardır:
Farmbot Çalışma Mantığı
Sistem oldukça basit bir mantığa dayanıyor:
Herkese iyi incelemeler ve iyi çalışmalar!
Birçok kişinin "kaynak bulamıyoruz, fonksiyonları nasıl yapıyorsun?" şeklindeki soruları üzerine, tamamen zevk amaçlı hazırladığım ve taslak aşamasında kalan KCABOT projemin C++ kaynak kodlarını paylaşıyorum.
Baştan uyarayım; proje taslak olduğu için içinde gereksiz kodlar barındırıyor ve yazım şekli oldukça dağınık ("doğal şifreleme" diyebiliriz). Bu haliyle alıp doğrudan derleyip kullanmanızı önermem. Ancak fonksiyonların nasıl çalıştığını inceleyip kendi projelerinize (copy-paste mantığıyla da olsa) entegre edebilir, mantığı rahatlıkla kavrayabilirsiniz. Projedeki neredeyse tüm sistemler sorunsuz çalışıyor, özellikle farmbot kısmı pointer'lar güncellendiği takdirde kullanıma hazır.
Pointer ve Offset İsimlendirme RehberiMetin2 geliştirme terimlerine başta çok hakim olmadığım için pointer isimlerini kendimce uydurmuştum. Kodu incelerken kafanızın karışmaması adına karşılıkları şunlardır:
- M_FLDB: EntityList (MobPtr). Etraftaki mobları, oyuncuları, metinleri ve NPC'leri okumak için kullandığımız temel listedir.
- M_Mobptr: CPythonPlayer. GetTargetVid'yi bulurken kullandığımız pointer veya PickCloseItem fonksiyonunun "mov ecx" adresi.
- M_Playerptr: CInstanceBase. Karakter bilgilerini tutan ve Wallhack (WH) yaparken kullandığımız ana pointer.
- M_Target: GetTargetVid offseti.
- M_TargetMob: Karakterin koşacağı hedefin (mob) VID değerinin yazılacağı adres offseti.
- M_MobRun: Karakterin durum (state) offseti. 0 durma eylemidir, 3 ise hedefe koşup vurma eylemidir.
Farmbot Çalışma MantığıSistem oldukça basit bir mantığa dayanıyor:
- M_TargetMob adresine saldırılacak hedefin (mob) VID'sini yazıyoruz.
- M_MobRun adresindeki değeri 3 olarak sabitliyoruz.Karakter, verdiğimiz VID'deki mob ölene kadar otomatik olarak hedefe koşup saldırmaya devam ediyor.
Herkese iyi incelemeler ve iyi çalışmalar!
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
