Fixed the name reading

This commit is contained in:
hydrophobis
2025-07-12 23:11:17 -05:00
parent 9c3ee2fa1f
commit 9c6ef69169
4 changed files with 51 additions and 33 deletions
+6 -3
View File
@@ -231,10 +231,12 @@ namespace updater {
offsets::m_iHealth = data["m_iHealth"];
if (data["m_hPlayerPawn"].is_number())
offsets::m_hPlayerPawn = data["m_hPlayerPawn"];
if (data["dwSanitizedName"].is_number())
offsets::m_sSanitizedPlayerName = data["m_sSanitizedPlayerName"];
if (data["m_iTeamNum"].is_number())
offsets::m_iTeamNum = data["m_iTeamNum"];
if (data["m_hController"].is_number())
offsets::m_hController = data["m_hController"];
if (data["m_iszPlayerName"].is_number())
offsets::m_iszPlayerName = data["m_iszPlayerName"];
return true;
}
@@ -266,8 +268,9 @@ namespace updater {
data["m_ArmorValue"] = offsets::m_ArmorValue;
data["m_iHealth"] = offsets::m_iHealth;
data["m_hPlayerPawn"] = offsets::m_hPlayerPawn;
data["m_sSanitizedPlayerName"] = offsets::m_sSanitizedPlayerName;
data["m_iTeamNum"] = offsets::m_iTeamNum;
data["m_hController"] = offsets::m_hController;
data["m_iszPlayerName"] = offsets::m_iszPlayerName;
std::ofstream output(file_path);
output << std::setw(4) << data << std::endl;
+2 -1
View File
@@ -55,7 +55,8 @@ namespace updater {
inline std::ptrdiff_t m_ArmorValue = 0x0;
inline std::ptrdiff_t m_iHealth = 0x0;
inline std::ptrdiff_t m_hPlayerPawn = 0x0;
inline std::ptrdiff_t m_sSanitizedPlayerName = 0x0;
inline std::ptrdiff_t m_iTeamNum = 0x0;
inline std::ptrdiff_t m_hController = 0x0;
inline std::ptrdiff_t m_iszPlayerName = 0x0;
}
}
+20 -5
View File
@@ -139,11 +139,26 @@ void CGame::loop() {
* player.is_spotted = process->read<bool>(player.spottedState + 0x8); // bSpotted
*/
playerNameData = process->read<uintptr_t>(player.entity + updater::offsets::m_sSanitizedPlayerName);
char buffer[256];
process->read_raw(playerNameData, buffer, sizeof(buffer));
std::string name = std::string(buffer);
player.name = name;
uint32_t handle = process->read<std::uint32_t>(player.pCSPlayerPawn + updater::offsets::m_hController);
int index = handle & 0x7FFF;
int segment = index >> 9;
int entry = index & 0x1FF;
uintptr_t controllerListSegment = process->read<uintptr_t>(entity_list + 0x8 * segment + 0x10);
uintptr_t controller = process->read<uintptr_t>(controllerListSegment + 120 * entry);
if (!controller || controller > 0x7FFFFFFFFFFF)
continue;
char buffer[256] = {};
uintptr_t name_ptr = process->read<uintptr_t>(controller + updater::offsets::m_iszPlayerName);
process->read_raw(name_ptr, buffer, sizeof(buffer) - 1);
buffer[sizeof(buffer) - 1] = '\0';
player.name = buffer;
player.gameSceneNode = process->read<uintptr_t>(player.pCSPlayerPawn + updater::offsets::m_pGameSceneNode);
player.origin = process->read<Vector3>(player.pCSPlayerPawn + updater::offsets::m_vOldOrigin);
+16 -17
View File
@@ -1,26 +1,25 @@
{
"build_number": 14086,
"dwBuildNumber": 5508068,
"dwLocalPlayerController": 27602208,
"dwEntityList": 27280608,
"dwLocalPlayer": 25526480,
"dwPlantedC4": 27728960,
"dwViewMatrix": 27710080,
"m_ArmorValue": 9244,
"m_bIsDefusing": 9194,
"dwBuildNumber": 5508068,
"dwPlantedC4": 27728960,
"m_flC4Blow": 4032,
"m_flFlashOverlayAlpha": 5120,
"m_flNextBeep": 4028,
"m_flTimerLength": 4040,
"m_hPlayerPawn": 2084,
"m_iAccount": 64,
"m_iHealth": 836,
"m_iTeamNum": 995,
"m_pClippingWeapon": 5024,
"m_pGameSceneNode": 808,
"m_pInGameMoneyServices": 1824,
"m_sSanitizedPlayerName": 1912,
"m_szName": 3360,
"m_vOldOrigin": 4900,
"m_iAccount": 64,
"m_vecAbsOrigin": 208,
"dwLocalPlayerController": 27602208
"m_vOldOrigin": 4900,
"m_pGameSceneNode": 808,
"m_flFlashOverlayAlpha": 5120,
"m_bIsDefusing": 9194,
"m_szName": 0,
"m_pClippingWeapon": 5024,
"m_ArmorValue": 9244,
"m_iHealth": 836,
"m_hPlayerPawn": 2084,
"m_iTeamNum": 995,
"m_hController": 3112,
"m_iszPlayerName": 1360
}