noisiv 1
noisiv
Manwe Work 1
Manwe Work
-Blaster- 2
-Blaster-
kralhakan2009 1
kralhakan2009
Bodyguardd 1
Bodyguardd
Vahsi Uzman 1
Vahsi Uzman
Hikaye Ekle

Kontrol Ediliyor Metin2 Farm Bot Visual Studio C# Yardım

  • Konuyu başlatan Konuyu başlatan Csezen
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 8
  • Görüntüleme Görüntüleme 2K
en yakın metine ışınlanmayı hala yapamadım biraz daha açık yardımcı olabilir misiniz
eski csharp hilemde ben boyle aliyordum,

[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)

Geri
Üst