Post: dataGridView - Ingame Kills/Deaths [C#/1.17]
05-04-2014, 04:12 PM #1
xReaperv3
Bounty hunter
(adsbygoogle = window.adsbygoogle || []).push({}); Hi NGU, since mango_knife released the new Offsets for 1.17, i worked on a Client List in "dataGridView"...
I havent seen this in any tools a while so i decided to release the functions for it Smile

Picture of what i mean: (Kills / Deaths / Team / Alive or Death)
You must login or register to view this content.

Its very easy to use so just copy the codes & paste it in your tool Smile

You may need PS3Lib for it.

Here is the Reverse bytes function:

           
public static byte[] Reverse(byte[] bytes)
{
Array.Reverse(bytes);
return bytes;
}


Once you have added that, you need the 4 Functions to read the Kills / Deaths / Team & Alive/Dead.

    
public int ReadKills(uint client)
{
byte[] GetKills = new byte[2];
PS3.GetMemory(0x0178651A + 0x5808 * (uint)client, GetKills);
return BitConverter.ToInt16(Reverse(GetKills), 0);
}

public int ReadDeaths(uint client)
{
byte[] GetDeaths = new byte[2];
PS3.GetMemory(0x178651E + 0x5808 * (uint)client, GetDeaths);
return BitConverter.ToInt16(Reverse(GetDeaths), 0);
}

public string ReadTeam(uint client)
{
byte[] GetTeam = new byte[1];
PS3.GetMemory(0x178642F + 0x5808 * (uint)client, GetTeam);
bool Seals = new byte[] { 0x01 }.SequenceEqual<byte>(GetTeam);
bool Auto = new byte[] { 0x02 }.SequenceEqual<byte>(GetTeam);
bool Spectator = new byte[] { 0x09 }.SequenceEqual<byte>(GetTeam);
bool FFA = new byte[] { 0x00 }.SequenceEqual<byte>(GetTeam);
byte[] Get = new byte[1];
bool Team = Get.SequenceEqual<byte>(GetTeam);
if (Seals) { return "Seals"; }
if (Auto) { return "Auto-Assign"; }
if (Spectator) { return "Spectator"; }
if (FFA) { return "Free for All"; }
return "Error";
}

public string ReadAlive(uint client)
{
byte[] GetStatus = new byte[1];
PS3.GetMemory(0x178634B + 0x5808 * (uint)client, GetStatus);
bool Dead = new byte[] { 0x01 }.SequenceEqual<byte>(GetStatus);
bool Alive = new byte[] { 0x00 }.SequenceEqual<byte>(GetStatus);
bool Spectate = new byte[] { 0x02 }.SequenceEqual<byte>(GetStatus);
bool Connecting = new byte[] { 0x03 }.SequenceEqual<byte>(GetStatus);
byte[] Get = new byte[1];
bool AD = Get.SequenceEqual<byte>(GetStatus);
if (Dead) { return "Dead"; }
if (Alive) { return "Alive"; }
if (Spectate) { return "Spectating"; }
if (Connecting) { return "Connecting"; }
return "Error";
}


Ok, now to your "Get Clients" Button, you may have the Client ID & Name already added, now you need 4 Columns called for example "Kills, Deaths, Team, Alive/Dead"

I have Kills at Cell 2, Deaths at Cell 3, Team at Cell 4 & Alive/Dead at Cell 5.

    
for (int i = 0; i < 18; i++)
{
dataClientView.Update();
dataClientView.Rows[i].Cells[0].Value = i;
dataClientView.Rows[i].Cells[1].Value = GetClients(i);
dataClientView[2, Convert.ToInt32(i)].Value = ReadKills((uint)i); //This is what you need
dataClientView[3, Convert.ToInt16(i)].Value = ReadDeaths((uint)i); //This is what you need
dataClientView[4, Convert.ToInt16(i)].Value = ReadTeam((uint)i); //This is what you need
dataClientView[5, Convert.ToInt16(i)].Value = ReadAlive((uint)i); //This is what you need
Application.DoEvents();
}


    
Offsets i used:
Ingame Kills = 0x0178651A
Ingame Deaths = 0x178651E
Check Team = 0x178642F
Check Alive = 0x178634B


I dont know if its helpfull or not, i just havent seen this a while, i allready said. Smile

-I hope i could help someone with this...

#Sorry for my bad english, im german.


Credits:
mango_knife - For his Offset Thread
Me - For making this Function's
(adsbygoogle = window.adsbygoogle || []).push({});

The following 6 users say thank you to xReaperv3 for this useful post:

Arrow_Modz, D3skm, D3sKmَ, Foxhoundz3, Notorious, Ciri
05-04-2014, 04:34 PM #2
Originally posted by xReaperv3 View Post
Hi NGU, since mango_knife released the new Offsets for 1.17, i worked on a Client List in "dataGridView"...
I havent seen this in any tools a while so i decided to release the functions for it Smile

Picture of what i mean: (Kills / Deaths)
You must login or register to view this content.

Its very easy to use so just copy the codes & paste it in your tool Smile

You may need PS3Lib for it.

Here is the Reverse bytes function:

           
public static byte[] Reverse(byte[] bytes)
{
Array.Reverse(bytes);
return bytes;
}


Once you have added that, you need the 2 Functions to read the Kills / Deaths.

    
public int ReadKills(uint client)
{
byte[] GetKills = new byte[2];
PS3.GetMemory(0x0178651A + 0x5808 * (uint)client, GetKills);
return BitConverter.ToInt16(Reverse(GetKills), 0);
}

public int ReadDeaths(uint client)
{
byte[] GetDeaths = new byte[2];
PS3.GetMemory(0x178651E + 0x5808 * (uint)client, GetDeaths);
return BitConverter.ToInt16(Reverse(GetDeaths), 0);
}


Ok, now to your "Get Clients" Button, you may have the Client ID & Name already added, now you need 2 Columns called for example "Kills & Deaths"

I have Kills at Cell 2 and Deaths at Cell 3.

    
for (int i = 0; i < 18; i++)
{
dataClientView.Update();
dataClientView.Rows[i].Cells[0].Value = i;
dataClientView.Rows[i].Cells[1].Value = GetClients(i);
dataClientView[2, Convert.ToInt32(i)].Value = ReadKills((uint)i); //This is what you need
dataClientView[3, Convert.ToInt16(i)].Value = ReadDeaths((uint)i); //This is what you need
Application.DoEvents();
}


    
Offsets i used:
Ingame Kills = 0x0178651A
Ingame Deaths = 0x178651E


I dont know if its helpfull or not, i just havent seen this a while, i allready said. Smile

-I hope i could help someone with this...

#Sorry for my bad english, im german.


Credits:
mango_knife - For his Offset Thread
Me - For making this Function's



Good Man
05-04-2014, 05:13 PM #3
xReaperv3
Bounty hunter
Updated Thread with Team & Alive function's Smile
05-04-2014, 06:29 PM #4
Asian
Banned
nice work

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo