What is the problem? why returns player name = ""?
Code:
public static string Name
{
get
{
string result = "";
dynamic @base = Bot.Main.Tibia.MainModule.BaseAddress.ToInt32();
int PlayerID = Memory.Memory.ReadInt32(Bot.Main.Tibia.Handle, 0x9d5034 + @base - 0x400000);
int bStart = 0xa2bf40 + @base - 0x400000;
int bStep = 0xdc;
int bMax = 1299;
int bEnd = bStart + (bStep * bMax);
int pConnected = 0x849eec + @base - 0x400000;
for (int i = bStart; i <= bEnd; i += bStep)
{
int CurrentID = Memory.Memory.ReadInt32(Bot.Main.Tibia.Handle, i);
if (CurrentID == PlayerID)
{
result = Memory.Memory.ReadString(Bot.Main.Tibia.Handle, i + 4);
return result;//Memory.Memory.ReadString(Bot.Main.Tibia.Handle, i + 4);
}
return result;
}
return result;
}
set { }
}
And in my code to Client Chooser, return player name.
Code:
public void Refresh()
{
try
{
listView1.Items.Clear();
foreach (Process client in Process.GetProcessesByName("tibia"))
{
if (client.MainModule.FileVersionInfo.FileVersion == "10.7.8.0")
{
dynamic @base = client.MainModule.BaseAddress.ToInt32();
int PlayerID = Memory.Memory.ReadInt32(client.Handle, 0x9d5034 + @base - 0x400000);
int bStart = 0xa2bf40 + @base - 0x400000;
int bStep = 0xdc;
int bMax = 1299;
int bEnd = bStart + (bStep * bMax);
int pConnected = 0x849eec + @base - 0x400000;
for (int i = bStart; i <= bEnd; i += bStep)
{
int CurrentID = Memory.Memory.ReadInt32(client.Handle, i);
if (CurrentID == PlayerID)
{
if (Memory.Memory.ReadInt32(client.Handle, pConnected) == 11)
{
ListViewItem newitem = new ListViewItem();
newitem.Text = client.Id.ToString();
newitem.SubItems.Add(client.MainModule.FileVersionInfo.FileVersion.ToString());
newitem.SubItems.Add(Memory.Memory.ReadString(client.Handle, i + 4));
listView1.Items.Add(newitem);
//comboBox1.Items.Add(client.Id.ToString() + " | " + client.MainModule.FileVersionInfo.FileVersion.ToString() + " | " + Memory.Memory.ReadString(client.Handle, i + 4));
break; // TODO: might not be correct. Was : Exit For
}
else
{
ListViewItem newitem = new ListViewItem();
newitem.Text = client.Id.ToString();
newitem.SubItems.Add(client.MainModule.FileVersionInfo.FileVersion.ToString());
newitem.SubItems.Add("Not connected");
listView1.Items.Add(newitem);
//comboBox1.Items.Add(client.Id.ToString() + " | " + client.MainModule.FileVersionInfo.FileVersion.ToString() + " | Not connected");
break; // TODO: might not be correct. Was : Exit For
}
}
}
}
else
{
ListViewItem newitem = new ListViewItem();
newitem.Text = client.Id.ToString();
newitem.SubItems.Add(client.MainModule.FileVersionInfo.FileVersion.ToString());
newitem.SubItems.Add("Invalid version");
listView1.Items.Add(newitem);
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}