- Katılım
- 25 Haz 2019
- Konular
- 15
- Mesajlar
- 383
- Online süresi
- 1mo 17d
- Reaksiyon Skoru
- 274
- Altın Konu
- 0
- TM Yaşı
- 6 Yıl 11 Ay 15 Gün
- Başarım Puanı
- 113
- MmoLira
- 7,092
- DevLira
- 3
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!
en sevdiğim! copy paste src
tytyty'ı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.
tytyty'ı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
- 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
en yakın metine ışınlanmayı hala yapamadım biraz daha açık yardımcı olabilir misiniz
- Katılım
- 25 Haz 2019
- Konular
- 15
- Mesajlar
- 383
- Online süresi
- 1mo 17d
- Reaksiyon Skoru
- 274
- Altın Konu
- 0
- TM Yaşı
- 6 Yıl 11 Ay 15 Gün
- Başarım Puanı
- 113
- MmoLira
- 7,092
- DevLira
- 3
okuduğun her instance'a olan distance'ına göre sort edeceksin, en yakın moba ışınlanıcaksın bunu ben nasıl daha açık anlatabilirim ki?en yakın metine ışınlanmayı hala yapamadım biraz daha açık yardımcı olabilir misiniz

- Katılım
- 16 Ara 2010
- Konular
- 9
- Mesajlar
- 109
- Online süresi
- 23d 6h
- Reaksiyon Skoru
- 69
- Altın Konu
- 0
- TM Yaşı
- 15 Yıl 5 Ay 24 Gün
- Başarım Puanı
- 113
- MmoLira
- 5,512
- DevLira
- 0
eski csharp hilemde ben boyle aliyordum,en yakın metine ışınlanmayı hala yapamadım biraz daha açık yardımcı olabilir misiniz
[CODE lang="csharp" title="GetClosestMetin / TeleportClosest"] public List<Entity> v2stone_list;
public void getClosestMetin()
{
try
{
string closestDec = string.Empty;
float closestEnemyX = 0.0f;
float closestEnemyY = 0.0f;
float closestEnemyZ = 0.0f;
long closestId = 0;
float closestEnemyDistance = float.MaxValue;
//binek
string playerHX_addr = $"{servers.MilasMt2.tp_x_write}";
string playerHY_addr = $"{servers.MilasMt2.tp_y_write}";
string playerHZ_addr = $"{servers.MilasMt2.tp_z_write}";
//normal
string playerX_addr = $"{servers.MilasMt2.player_read_x}";
string playerY_addr = $"{servers.MilasMt2.player_read_y}";
string playerZ_addr = $"{servers.MilasMt2.player_read_z}";
v2mob_list.Clear();
v2stone_list.Clear();
closest5_stone.Clear();
closest5_mob.Clear();
for (int i = 4; i < 2048; i += 4)
{
try
{
string dec = i.ToString("x");
//mob base adr
string mobX_addr = $"{servers.MilasMt2.mob_baseadr}, {dec}, {servers.MilasMt2.mob_x_offset}";
string mobY_addr = $"{servers.MilasMt2.mob_baseadr}, {dec}, {servers.MilasMt2.mob_y_offset}";
string mobZ_addr = $"{servers.MilasMt2.mob_baseadr}, {dec}, {servers.MilasMt2.mob_z_offset}";
// string mob_id = $"{servers.UnalTuran2.mob_baseadr}, {dec}, {servers.UnalTuran2.mob_id_offset}";
//rd
float currCharHX = m.ReadFloat(playerX_addr);
float currCharHY = m.ReadFloat(playerY_addr);
float currCharHZ = m.ReadFloat(playerZ_addr);
// norm
// float mobId = m.ReadFloat($"metin2client.exe+0x034486DC, {dec} , 8");
float metinX = m.ReadFloat(mobX_addr);
float metinY = m.ReadFloat(mobY_addr);
float metinZ = m.ReadFloat(mobZ_addr);
//int metin_id = m.ReadInt(mob_id);
int metin_id = 0;
float dx = currCharHX - metinX;
float dy = currCharHY - metinY;
float dz = currCharHZ - metinZ;
float distance = (float)Math.Sqrt(dx * dx + dy * dy + dz * dz);
if (distance < closestEnemyDistance)
{
if (target_stone)
{
if (metin_id >= 8000 && metin_id <= 8900)
{
// if (v2stone_list.Count < 10)
if (true)//(distance < 2600)
{
Entity ent = new Entity { offset = dec, id = metin_id, x = metinX, y = metinY, z = metinZ };
v2stone_list.Add(ent);
closestDec = dec;
closestEnemyX = (float)Math.Round(metinX, 0);
closestEnemyY = (float)Math.Round(metinY, 0);
closestEnemyZ = (float)Math.Round(metinZ, 0);
closestId = metin_id;
closestEnemyDistance = distance;
}
}
}
if (target_mob)
{
if (true)
{
if (metinX == 0 || metinY == 0 || metinZ == 0)
{
}
else
{
if (true)//(distance < 4350)
{
Entity ent = new Entity { offset = dec, id = metin_id, x = metinX, y = metinY, z = metinZ };
v2mob_list.Add(ent);
closest5_mob.Add(ent);
closestDec = dec;
closestEnemyX = (float)Math.Round(metinX, 0);
closestEnemyY = (float)Math.Round(metinY, 0);
closestEnemyZ = (float)Math.Round(metinZ, 0);
closestId = metin_id;
closestEnemyDistance = distance;
}
}
}
}
}
}
catch (Exception ex)
{
// ex handle
}
}
}
catch (Exception err)
{
// ex handle
}
}
// trackbar valueden gelen radius icindeyse tp at.
public void TeleportClosest()
{
try
{
int centerX = pictureBox1.Width / 2;
int centerY = pictureBox1.Height / 2;
int sizeX = 12;
int sizeY = 12;
int stoneWidth = 7;
int stoneHeight = 7;
int mobWidth = 6;
int mobHeight = 6;
int playerWidth = 6;
int playerHeight = 6;
int halfX = sizeX / 2;
int halfY = sizeY / 2;
int alignX = centerX - halfX;
int alignY = centerY - halfY;
int radius = radius_TrackBar.Value;
float currCharHX = m.ReadFloat(servers.MilasMt2.player_read_x);
float currCharHY = m.ReadFloat(servers.MilasMt2.player_read_y);
float currCharHZ = m.ReadFloat(servers.MilasMt2.player_read_z);
float convertedX = (currCharHX / 100) * 1;
float convertedY = (currCharHY / 100) * -1;
double char_mapX = Math.Floor(convertedX + 0.5); // 259, y
double char_mapY = Math.Floor(convertedY + 0.5); // x, 259
//reverse to get the last added metin to the list (closest metin) / 0th - closest
v2stone_list.Reverse();
v2mob_list.Reverse();
// mob $"{baseAdr}, {dec}, {offset}";
// int mob_id = m.ReadInt($"{servers.Harbi2.mob_baseadr}, {v2stone_list[0].offset}, {servers.Harbi2.mob_id_offset}");
if (target_stone)
{
float mob_x = m.ReadFloat($"{servers.MilasMt2.mob_baseadr}, {v2stone_list[0].offset}, {servers.MilasMt2.mob_x_offset}");
float mob_y = m.ReadFloat($"{servers.MilasMt2.mob_baseadr}, {v2stone_list[0].offset}, {servers.MilasMt2.mob_y_offset}");
float mob_z = m.ReadFloat($"{servers.MilasMt2.mob_baseadr}, {v2stone_list[0].offset}, {servers.MilasMt2.mob_z_offset}");
// conv
float converted_entityX = (mob_x / 100) * 1;
float converted_entityY = (mob_y / 100) * -1;
// radar
double entity_mapX = Math.Floor(converted_entityX + 0.5);
double entity_mapY = Math.Floor(converted_entityY + 0.5);
// radar, dist, calc
double distanceX = char_mapX - entity_mapX;
double distanceY = char_mapY - entity_mapY;
double drawX = alignX - Convert.ToInt32(distanceX);
double drawY = alignY - Convert.ToInt32(distanceY);
double ellipseX = centerX - radius;
double ellipseY = centerY - radius;
double ellipseWidth = radius * 2;
double ellipseHeight = radius * 2;
double testX = drawX;
double testY = drawY;
/* double distance = Math.Sqrt(Math.Pow(testX - ellipseX, 2) / Math.Pow(ellipseWidth / 2, 2) +
Math.Pow(testY - ellipseY, 2) / Math.Pow(ellipseHeight / 2, 2));
// Check if the distance is less than or equal to 1 (i.e., point is inside the ellipse)
aw
bool isInside = distance <= 1;*/
int nrx = radius;
int nry = radius;
if ((drawX <= (centerX + nrx) && drawX >= (centerX - nrx)) && (drawY <= (centerY + nry) && drawY >= (centerY - nry)))
{
m.WriteMemory(servers.MilasMt2.player_read_x, "float", v2stone_list[0].x.ToString());
m.WriteMemory(servers.MilasMt2.player_read_y, "float", v2stone_list[0].y.ToString());
m.WriteMemory(servers.MilasMt2.player_read_z, "float", v2stone_list[0].z.ToString());
m.WriteMemory(servers.MilasMt2.tp_x_write, "float", v2stone_list[0].x.ToString());
m.WriteMemory(servers.MilasMt2.tp_y_write, "float", v2stone_list[0].y.ToString());
m.WriteMemory(servers.MilasMt2.tp_z_write, "float", v2stone_list[0].z.ToString());
}
}
if (target_mob)
{
float mob_x = m.ReadFloat($"{servers.MilasMt2.mob_baseadr}, {v2mob_list[0].offset}, {servers.MilasMt2.mob_x_offset}");
float mob_y = m.ReadFloat($"{servers.MilasMt2.mob_baseadr}, {v2mob_list[0].offset}, {servers.MilasMt2.mob_y_offset}");
float mob_z = m.ReadFloat($"{servers.MilasMt2.mob_baseadr}, {v2mob_list[0].offset}, {servers.MilasMt2.mob_z_offset}");
// conv
float converted_entityX = (mob_x / 100) * 1;
float converted_entityY = (mob_y / 100) * -1;
// radar
double entity_mapX = Math.Floor(converted_entityX + 0.5);
double entity_mapY = Math.Floor(converted_entityY + 0.5);
// radar, dist, calc
double distanceX = char_mapX - entity_mapX;
double distanceY = char_mapY - entity_mapY;
double drawX = alignX - Convert.ToInt32(distanceX);
double drawY = alignY - Convert.ToInt32(distanceY);
double ellipseX = centerX - radius;
double ellipseY = centerY - radius;
double ellipseWidth = radius * 2;
double ellipseHeight = radius * 2;
double testX = drawX;
double testY = drawY;
/* double distance = Math.Sqrt(Math.Pow(testX - ellipseX, 2) / Math.Pow(ellipseWidth / 2, 2) +
Math.Pow(testY - ellipseY, 2) / Math.Pow(ellipseHeight / 2, 2));
// Check if the distance is less than or equal to 1 (i.e., point is inside the ellipse)
aw
bool isInside = distance <= 1;*/
int nrx = radius;
int nry = radius;
if ((drawX <= (centerX + nrx) && drawX >= (centerX - nrx)) && (drawY <= (centerY + nry) && drawY >= (centerY - nry)))
{
m.WriteMemory(servers.MilasMt2.player_read_x, "float", v2mob_list[0].x.ToString());
m.WriteMemory(servers.MilasMt2.player_read_y, "float", v2mob_list[0].y.ToString());
m.WriteMemory(servers.MilasMt2.player_read_z, "float", v2mob_list[0].z.ToString());
m.WriteMemory(servers.MilasMt2.tp_x_write, "float", v2mob_list[0].x.ToString());
m.WriteMemory(servers.MilasMt2.tp_y_write, "float", v2mob_list[0].y.ToString());
m.WriteMemory(servers.MilasMt2.tp_z_write, "float", v2mob_list[0].z.ToString());
}
}
}// try end
catch (Exception ex) { }
}
[/CODE]
Son düzenleme:
Ş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


