-
Автор темы
- #1
Шарит кто, как получить id оружия, которое в руках у игрока?
Перечитал кучу топиков, но так и не понял в чем моя ошибка..
мой код на C# :
private static int WeaponID2(int player_index) // индексация с 0
{
int iPlayer = clientDll + EntityBase + player_index * 0x10;
int weaponHandle = BitConverter.ToInt32(ReadMemory((IntPtr)iPlayer + hActiveWeapon, 4), 0);
int weaponEntID = weaponHandle & 0xFFF;
int weaponID = BitConverter.ToInt32(ReadMemory((IntPtr)clientDll + EntityBase + (weaponEntID - 1) * 0x10, 4), 0);
int weapon = BitConverter.ToInt32(ReadMemory((IntPtr)weaponID + 0x2F88, 4), 0);
return weapon;
}
0x2F88 - это m_iItemDefinitionIndex
hActiveWeapon = 0x2EE8
Промежуточные значения:
Перечитал кучу топиков, но так и не понял в чем моя ошибка..
мой код на C# :
private static int WeaponID2(int player_index) // индексация с 0
{
int iPlayer = clientDll + EntityBase + player_index * 0x10;
int weaponHandle = BitConverter.ToInt32(ReadMemory((IntPtr)iPlayer + hActiveWeapon, 4), 0);
int weaponEntID = weaponHandle & 0xFFF;
int weaponID = BitConverter.ToInt32(ReadMemory((IntPtr)clientDll + EntityBase + (weaponEntID - 1) * 0x10, 4), 0);
int weapon = BitConverter.ToInt32(ReadMemory((IntPtr)weaponID + 0x2F88, 4), 0);
return weapon;
}
0x2F88 - это m_iItemDefinitionIndex
hActiveWeapon = 0x2EE8
Промежуточные значения: