- Katılım
- 7 Tem 2009
- Konular
- 13
- Mesajlar
- 3,431
- Online süresi
- 6d 2h
- Reaksiyon Skoru
- 7
- Altın Konu
- 0
- TM Yaşı
- 16 Yıl 11 Ay 6 Gün
- Başarım Puanı
- 120
- MmoLira
- 2,055
- DevLira
- 0
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
arkadaşlar merhaba. Visual Studio üzerinden teleport farm bot source düzenleyip kullanıyorum. Fakat takıldığım birkaç yer var. 1. olarak tp bot için mob ptr bulup yazıyorum fakat 0 olan değerlere gelince ilerlemiyor ve bot devam etmiyor. 2. sorum en yakın metin koordinatına ışınlanması için nasıl bir yol izleyebilirim.Son olarak 3. sorum ise ışınlanmanın mantığını anladım. mobun x-y-z koordinatını alıp binek x-y-z ye yazıyor ve mantıken ışınlanmış oluyor. fakat normal yürüyerek farm yapan bir bot yapmak istediğimde atak vid değerini buluyorum. target vid deki değeri atak vid ye yazınca otomatik gidip kesiyor ama target vid nin mob ptr gibi değerlerini alabileceğim birşey var mı. Bilen arkadaşlar yardımcı olursa sevinirim.
Bot için kullandığım kod kısmı:
if (botStart.Checked)
{
try
{
farmTimer.Interval = 100;
for (int i=0; i < 64; i+=4)
{
string offset = i.ToString("x");
float lastY;
float lastX;
float lastZ;
float MainY = m.ReadFloat(TeleportMetin.eY);
float MainX = m.ReadFloat(TeleportMetin.eX);
float MainZ = m.ReadFloat(TeleportMetin.eZ);
// metin
float EnemyX = m.ReadFloat($"Farm2.bin+00400A84,{offset},86C");
float EnemyY = m.ReadFloat($"Farm2.bin+00400A84,{offset},870");
float EnemyZ = m.ReadFloat($"Farm2.bin+00400A84,{offset},874");
if (EnemyX == 0 || EnemyY == 0 || EnemyZ == 0)
{
return;
}
else
{
m.WriteMemory(TeleportMetin.eX, "float", EnemyX.ToString());
m.WriteMemory(TeleportMetin.eY, "float", EnemyY.ToString());
m.WriteMemory(TeleportMetin.eZ, "float", EnemyZ.ToString());
}
Thread.Sleep(int.Parse(kesmeSuresi.Text + "00")); // kesme suresini formda
}
}
catch (Exception arsenic)
{
farmTimer.Stop();
MessageBox.Show("Oyun kapalı yada svname doğru girilmedi! \nDetaylı Hata: "+ arsenic,"DIKKAT",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
Bot için kullandığım kod kısmı:
if (botStart.Checked)
{
try
{
farmTimer.Interval = 100;
for (int i=0; i < 64; i+=4)
{
string offset = i.ToString("x");
float lastY;
float lastX;
float lastZ;
float MainY = m.ReadFloat(TeleportMetin.eY);
float MainX = m.ReadFloat(TeleportMetin.eX);
float MainZ = m.ReadFloat(TeleportMetin.eZ);
// metin
float EnemyX = m.ReadFloat($"Farm2.bin+00400A84,{offset},86C");
float EnemyY = m.ReadFloat($"Farm2.bin+00400A84,{offset},870");
float EnemyZ = m.ReadFloat($"Farm2.bin+00400A84,{offset},874");
if (EnemyX == 0 || EnemyY == 0 || EnemyZ == 0)
{
return;
}
else
{
m.WriteMemory(TeleportMetin.eX, "float", EnemyX.ToString());
m.WriteMemory(TeleportMetin.eY, "float", EnemyY.ToString());
m.WriteMemory(TeleportMetin.eZ, "float", EnemyZ.ToString());
}
Thread.Sleep(int.Parse(kesmeSuresi.Text + "00")); // kesme suresini formda
}
}
catch (Exception arsenic)
{
farmTimer.Stop();
MessageBox.Show("Oyun kapalı yada svname doğru girilmedi! \nDetaylı Hata: "+ arsenic,"DIKKAT",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
En Çok Reaksiyon Alan Mesajlar
en sevdiğim! copy paste srctytyty'ın da dediği gibi return atıyorsun 0 bulursa kapanıyor girmiyor bi daha çağırmazsan, böyle bir for'da return atılmaz continue atıcaksın. o iterasyonu atlasın diye.
- Katılım
- 29 Haz 2019
- Konular
- 20
- Mesajlar
- 359
- Çözüm
- 1
- Online süresi
- 3mo 11d
- Reaksiyon Skoru
- 237
- Altın Konu
- 6
- Başarım Puanı
- 98
- MmoLira
- 4,674
- DevLira
- 0
1- Sıfır olan değerlere gelince ilerlemiyor çünkü sıfır ise return yapmışsın continue yazmalısın.
2- Bir fonksiyon içinde bir array'e tüm mob/metin bilgilerini ata, sonra bunu sırala.
3- Anlamadım. Eğer vid değerlerini soruyorsan mob ptr içinde mevcut, koordinatı bulduğun gibi bulabilirsin.
2- Bir fonksiyon içinde bir array'e tüm mob/metin bilgilerini ata, sonra bunu sırala.
3- Anlamadım. Eğer vid değerlerini soruyorsan mob ptr içinde mevcut, koordinatı bulduğun gibi bulabilirsin.
- Katılım
- 7 Tem 2009
- Konular
- 13
- Mesajlar
- 3,431
- Online süresi
- 6d 2h
- Reaksiyon Skoru
- 7
- Altın Konu
- 0
- TM Yaşı
- 16 Yıl 11 Ay 6 Gün
- Başarım Puanı
- 120
- MmoLira
- 2,055
- DevLira
- 0
Şöyle ki enemy x = 0 ise atlamasını istiyorum diğer pointer a bakması lazım. 0 olduğunda ışınlanırsa saçmalıyor. 2. yi tam olarak anlamadım biraz daha detaylı yardımcı olabilir misin acaba. 3. dediğimde mob ptr içerisinde nasıl bulabilirim mob vid pointerı onu çözemedim.
- Katılım
- 7 Tem 2009
- Konular
- 13
- Mesajlar
- 3,431
- Online süresi
- 6d 2h
- Reaksiyon Skoru
- 7
- Altın Konu
- 0
- TM Yaşı
- 16 Yıl 11 Ay 6 Gün
- Başarım Puanı
- 120
- MmoLira
- 2,055
- DevLira
- 0
aslında yapmak istediğim 2. söylediğimde enemy x ile benim koordinatımın x inin farkını alıyorum mutlak değerini aldırıp değeri buluyorum fakat o değer örneğin 20 den fazla ise diğer pointera geçmesini istiyorum değilse devam etsin bunu koda nasıl dökebilirim bulamadım bir türlü
- Katılım
- 29 Haz 2019
- Konular
- 20
- Mesajlar
- 359
- Çözüm
- 1
- Online süresi
- 3mo 11d
- Reaksiyon Skoru
- 237
- Altın Konu
- 6
- Başarım Puanı
- 98
- MmoLira
- 4,674
- DevLira
- 0
İlk 2 cevabı anlamadıysan programlama bilgin yetersizdir. Önce yazdığım kelimeleri araştır.Şöyle ki enemy x = 0 ise atlamasını istiyorum diğer pointer a bakması lazım. 0 olduğunda ışınlanırsa saçmalıyor. 2. yi tam olarak anlamadım biraz daha detaylı yardımcı olabilir misin acaba. 3. dediğimde mob ptr içerisinde nasıl bulabilirim mob vid pointerı onu çözemedim.
3. sü için sağ tıkla target değiştire değiştire ve cheat enginede buna uygun aratma yaparak hedef VID bul. Sonra dissect data içinde arat hangi offsete denk geldiğine bak.
Sadece X farkına bakarak sıralama yapamazsın.aslında yapmak istediğim 2. söylediğimde enemy x ile benim koordinatımın x inin farkını alıyorum mutlak değerini aldırıp değeri buluyorum fakat o değer örneğin 20 den fazla ise diğer pointera geçmesini istiyorum değilse devam etsin bunu koda nasıl dökebilirim bulamadım bir türlü
C++:
double distance(double x1, double y1, double x2, double y2) {
return std::sqrt(std::pow((x2 - x1), 2) + std::pow((y2 - y1), 2));
}
Bundan sonrası basit if koşulu zaten.
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
Kontrol Ediliyor
mb öldüğünde diğer moba geçme konusuna devam
- Cevaplar
- 1
- Görüntüleme
- 350
- Cevaplar
- 18
- Görüntüleme
- 5K
- Cevaplar
- 12
- Görüntüleme
- 2K