- Katılım
- 16 May 2022
- Mesajlar
- 182
- Beğeniler
- 100
Part 1
https://cheatglobal.com/konu/c-aimbot-nasil-kodlanir.65766/
Önceki konumuzda bazı kelimeler klavyeden ötürü hatalı idi ve yetersiz kaldığı için Part 2'yi yayınlıyorum.
Bu arada Part 3 eğer bu konuya +10 like gelirse paylaşılacak. Aksi halde gelmeyecektir.
En son hatırlarsanız gerekli kütüphaneleri projemize ekleyip X Y Z koordinatlarımızın adresini bulup bu adresleri c# tarafında Memory.dll kütüphanesi ile float değişkenlere çekmiştik.
Şimdi rakip oyuncunun X Y ve Z adreslerini bulmaya geldi sıra.
Öncelikle önceki partta yaptığımız uygulamayı çalıştırın ve x y z koordinatlarını bir textboxda gösterin sonra bu uygulamayı arkadaşınıza atın.
Arkadaşınız ile aynı maça girin ve o size X Y ve Z adreslerini atsın. Sizde float olarak CheatEngine üzerinde bu değerleri aratın.
Daha sonra bulduğunuz adreslerin kalıcı halini bulun( kısaca pointere sağ tık yapın Pointer scan for this adress tıklıyoruz)
Şimdi kolayca rakibin X Y Z adresinide bulduk artık rakip oyuncununda XYZ adreslerini c# tarafında değişkenlere çekelim.
float targetX = memory.ReadFloat("game.exe+0x223456");
float targetY = memory.ReadFloat("game.exe+0x223457");
float targetZ = memory.ReadFloat("game.exe+0x223458");
Bu sayede rakip oyuncununda X Y Z adreslerini çekmiş olduk.
Şimdi yapmamız gereken rakip oyuncu ile bizim aramızda olan mesafeyi bulmak. Bunuda şu şekilde hesaplayabilirsiniz.
float deltaX = targetX - playerX;
float deltaY = targetY - playerY;
float deltaZ = targetZ - playerZ;
double distance = Math.Sqrt(deltaX * deltaX + deltaY * deltaY);
float viewxX = (float)(Math.Atan2(deltaY, deltaX) * 180 / Math.PI) + 90;
float deltayY = (float)(Math.Atan2(deltaZ, distance) * 180 / Math.PI);
Yukarıda gerekli hesaplamalarıda yapıyoruz. deltayY ve viewxX mantığı nedir diye sorarsanız eğer.
*180 / Math.PI kullanmamızın sebebi Atan2 fonksiyonu bize radyan cinsi ile açıyı döndürür biz bunu dereceye çevirmek için bu ifadeyi kullanıyoruz.
+ 90 neden ekliyoruz?
Bazı oyunlarda açı kuzeye göre yani yukarıya doğru açı hesaplaması yapılır. Örneğin PointBlank oyununda bu böyledir ve bundan dolayı viewX açısını hesaplarken + 90 ekleriz
Yukarıda gördüğünüz üzere rakibe olan mesafemizi distance adlı değişkene atadık. Artık rakip ile aramızda ne kadar mesafe var bunu biliyoruz.
O zaman artık hedefe nişan aldırabiliriz.
SimulateAim(deltaxX, deltayY);
SimulateAim fonksiyonu;
static void SimulateAim(float deltaX, float deltaY)
{
// SharpDX ile fare pozisyonunu hareket ettir
DirectInput directInput = new DirectInput();
Mouse mouse = new Mouse(directInput);
mouse.Acquire();
mouse.Poll();
mouse.MouseState.X += (int)(deltaX * 0.5f); // Hareketi yumuşat
mouse.MouseState.Y += (int)(deltaY * 0.5f);
}
Aslında aimbot artık hazır fakat ıvır zıvırları kaldı örneğin döngüye alma veya canı 0 olan yani ölü oyunculara Nişan almama veya takım ofseti verme gibi şeyler.
Part 3 için en az 10 like
https://cheatglobal.com/konu/c-aimbot-nasil-kodlanir.65766/
Önceki konumuzda bazı kelimeler klavyeden ötürü hatalı idi ve yetersiz kaldığı için Part 2'yi yayınlıyorum.
Bu arada Part 3 eğer bu konuya +10 like gelirse paylaşılacak. Aksi halde gelmeyecektir.
En son hatırlarsanız gerekli kütüphaneleri projemize ekleyip X Y Z koordinatlarımızın adresini bulup bu adresleri c# tarafında Memory.dll kütüphanesi ile float değişkenlere çekmiştik.
Şimdi rakip oyuncunun X Y ve Z adreslerini bulmaya geldi sıra.
Öncelikle önceki partta yaptığımız uygulamayı çalıştırın ve x y z koordinatlarını bir textboxda gösterin sonra bu uygulamayı arkadaşınıza atın.
Arkadaşınız ile aynı maça girin ve o size X Y ve Z adreslerini atsın. Sizde float olarak CheatEngine üzerinde bu değerleri aratın.
Daha sonra bulduğunuz adreslerin kalıcı halini bulun( kısaca pointere sağ tık yapın Pointer scan for this adress tıklıyoruz)
Şimdi kolayca rakibin X Y Z adresinide bulduk artık rakip oyuncununda XYZ adreslerini c# tarafında değişkenlere çekelim.
float targetX = memory.ReadFloat("game.exe+0x223456");
float targetY = memory.ReadFloat("game.exe+0x223457");
float targetZ = memory.ReadFloat("game.exe+0x223458");
Bu sayede rakip oyuncununda X Y Z adreslerini çekmiş olduk.
Şimdi yapmamız gereken rakip oyuncu ile bizim aramızda olan mesafeyi bulmak. Bunuda şu şekilde hesaplayabilirsiniz.
float deltaX = targetX - playerX;
float deltaY = targetY - playerY;
float deltaZ = targetZ - playerZ;
double distance = Math.Sqrt(deltaX * deltaX + deltaY * deltaY);
float viewxX = (float)(Math.Atan2(deltaY, deltaX) * 180 / Math.PI) + 90;
float deltayY = (float)(Math.Atan2(deltaZ, distance) * 180 / Math.PI);
Yukarıda gerekli hesaplamalarıda yapıyoruz. deltayY ve viewxX mantığı nedir diye sorarsanız eğer.
*180 / Math.PI kullanmamızın sebebi Atan2 fonksiyonu bize radyan cinsi ile açıyı döndürür biz bunu dereceye çevirmek için bu ifadeyi kullanıyoruz.
+ 90 neden ekliyoruz?
Bazı oyunlarda açı kuzeye göre yani yukarıya doğru açı hesaplaması yapılır. Örneğin PointBlank oyununda bu böyledir ve bundan dolayı viewX açısını hesaplarken + 90 ekleriz
Yukarıda gördüğünüz üzere rakibe olan mesafemizi distance adlı değişkene atadık. Artık rakip ile aramızda ne kadar mesafe var bunu biliyoruz.
O zaman artık hedefe nişan aldırabiliriz.
SimulateAim(deltaxX, deltayY);
SimulateAim fonksiyonu;
static void SimulateAim(float deltaX, float deltaY)
{
// SharpDX ile fare pozisyonunu hareket ettir
DirectInput directInput = new DirectInput();
Mouse mouse = new Mouse(directInput);
mouse.Acquire();
mouse.Poll();
mouse.MouseState.X += (int)(deltaX * 0.5f); // Hareketi yumuşat
mouse.MouseState.Y += (int)(deltaY * 0.5f);
}
Aslında aimbot artık hazır fakat ıvır zıvırları kaldı örneğin döngüye alma veya canı 0 olan yani ölü oyunculara Nişan almama veya takım ofseti verme gibi şeyler.
Part 3 için en az 10 like
Son düzenleme: