Merge pull request #90 from IMXNOOBX/experimental

Update offsets & Update head tracker to use F9 & Skeleton to use F8
This commit is contained in:
ifBars
2023-11-13 23:32:21 -07:00
committed by GitHub
7 changed files with 48 additions and 24 deletions
+3
View File
@@ -24,6 +24,8 @@ namespace config {
show_box_esp = data["show_box_esp"];
if (data["show_skeleton_esp"].is_boolean())
show_skeleton_esp = data["show_skeleton_esp"];
if (data["show_head_tracker"].is_boolean())
show_head_tracker = data["show_head_tracker"];
if (data["team_esp"].is_boolean())
team_esp = data["team_esp"];
if (data["automatic_update"].is_boolean())
@@ -96,6 +98,7 @@ namespace config {
data["show_box_esp"] = show_box_esp;
data["show_skeleton_esp"] = show_skeleton_esp;
data["show_head_tracker"] = show_head_tracker;
data["team_esp"] = team_esp;
data["automatic_update"] = automatic_update;
data["render_distance"] = render_distance;
+1
View File
@@ -29,6 +29,7 @@ namespace config {
inline int flag_render_distance = 200;
inline bool show_box_esp = true;
inline bool show_skeleton_esp = false;
inline bool show_head_tracker = false;
inline bool show_extra_flags = false;
inline RGB esp_box_color_team = { 75, 175, 75 };
+3 -1
View File
@@ -59,7 +59,7 @@ namespace hack {
float distance = g_game.localOrigin.calculate_distance(player->origin);
int roundedDistance = std::round(distance / 10.f);
if (config::show_skeleton_esp) {
if (config::show_head_tracker) {
render::DrawCircle(
g::hdcBuffer,
player->bones.bonePositions["head"].x,
@@ -67,7 +67,9 @@ namespace hack {
width / 5,
(g_game.localTeam == player->team ? config::esp_skeleton_color_team : config::esp_skeleton_color_enemy)
);
}
if (config::show_skeleton_esp) {
// render::DrawLine(g::hdcBuffer, player->bones.bonePositions["head"].x, player->bones.bonePositions["head"].y, player->bones.bonePositions["neck_0"].x, player->bones.bonePositions["neck_0"].y, g_game.localTeam == player->team ? config::esp_skeleton_color_team : config::esp_skeleton_color_enemy);
render::DrawLine(g::hdcBuffer, player->bones.bonePositions["neck_0"].x, player->bones.bonePositions["neck_0"].y, player->bones.bonePositions["spine_1"].x, player->bones.bonePositions["spine_1"].y, g_game.localTeam == player->team ? config::esp_skeleton_color_team : config::esp_skeleton_color_enemy);
render::DrawLine(g::hdcBuffer, player->bones.bonePositions["spine_1"].x, player->bones.bonePositions["spine_1"].y, player->bones.bonePositions["spine_2"].x, player->bones.bonePositions["spine_2"].y, g_game.localTeam == player->team ? config::esp_skeleton_color_team : config::esp_skeleton_color_enemy);
+19 -3
View File
@@ -156,6 +156,12 @@ void CGame::loop() {
player.ReadBones();
}
if (config::show_head_tracker && !config::show_skeleton_esp) {
player.gameSceneNode = process->read<uint64_t>(player.pCSPlayerPawn + 0x310);
player.boneArray = process->read<uint64_t>(player.gameSceneNode + 0x160 + 0x80);
player.ReadHead();
}
if (config::show_extra_flags) {
/*
* Reading values for extra flags is now seperated from the other reads
@@ -187,12 +193,22 @@ void CGame::loop() {
players.assign(list.begin(), list.end());
}
uintptr_t boneAddress;
Vector3 bonePosition;
int boneIndex;
void CPlayer::ReadHead() {
boneAddress = boneArray + 6 * 32;
bonePosition = g_game.process->read<Vector3>(boneAddress);
bones.bonePositions["head"] = g_game.world_to_screen(&bonePosition);
}
void CPlayer::ReadBones() {
for (const auto& entry : boneMap) {
const std::string& boneName = entry.first;
int boneIndex = entry.second;
uintptr_t boneAddress = boneArray + boneIndex * 32;
Vector3 bonePosition = g_game.process->read<Vector3>(boneAddress);
boneIndex = entry.second;
boneAddress = boneArray + boneIndex * 32;
bonePosition = g_game.process->read<Vector3>(boneAddress);
bones.bonePositions[boneName] = g_game.world_to_screen(&bonePosition);
}
}
+1
View File
@@ -44,6 +44,7 @@ public:
float flashAlpha;
std::string weapon;
void ReadBones();
void ReadHead();
};
class CGame
+4 -2
View File
@@ -143,9 +143,9 @@ int main() {
std::thread read(read_thread);
#ifndef _UC
std::cout << "\n[settings] In Game keybinds:\n\t[F4] enable/disable Box ESP\n\t[F5] enable/disable Team ESP\n\t[F6] enable/disable automatic updates\n\t[F7] enable/disable extra flags\n\t[F8] enable/disable skeleton esp\n\t[end] Unload esp.\n" << std::endl;
std::cout << "\n[settings] In Game keybinds:\n\t[F4] enable/disable Box ESP\n\t[F5] enable/disable Team ESP\n\t[F6] enable/disable automatic updates\n\t[F7] enable/disable extra flags\n\t[F8] enable/disable skeleton esp\n\t[F9] enable/disable head tracker\n\t[end] Unload esp.\n" << std::endl;
#else
std::cout << "\n[settings] In Game keybinds:\n\t[F4] enable/disable Box ESP\n\t[F5] enable/disable Team ESP\n\t[F7] enable/disable extra flags[F8] enable/disable skeleton esp\n\t[end] Unload esp.\n" << std::endl;
std::cout << "\n[settings] In Game keybinds:\n\t[F4] enable/disable Box ESP\n\t[F5] enable/disable Team ESP\n\t[F7] enable/disable extra flags\n\t[F8] enable/disable skeleton esp\n\t[F9] enable/disable head tracker\n\t[end] Unload esp.\n" << std::endl;
#endif
std::cout << "[settings] Make sure you check the config for additional settings!" << std::endl;
@@ -165,6 +165,8 @@ int main() {
if (GetAsyncKeyState(VK_F8) & 0x8000) { config::show_skeleton_esp = !config::show_skeleton_esp; config::save(); Beep(700, 100); };
if (GetAsyncKeyState(VK_F9) & 0x8000) { config::show_head_tracker = !config::show_head_tracker; config::save(); Beep(700, 100); };
TranslateMessage(&msg);
DispatchMessage(&msg);
+16 -17
View File
@@ -1,26 +1,25 @@
{
"build_number": 13968,
"dwLocalPlayer": 25152952,
"dwEntityList": 24828640,
"dwViewMatrix": 25215200,
"build_number": 13969,
"dwBuildNumber": 4764964,
"dwPlantedC4": 25234632,
"dwEntityList": 24828656,
"dwLocalPlayer": 25152968,
"dwPlantedC4": 25234648,
"dwViewMatrix": 25215232,
"m_ArmorValue": 5384,
"m_bIsDefusing": 5008,
"m_flC4Blow": 3760,
"m_flFlashOverlayAlpha": 5212,
"m_flNextBeep": 3756,
"m_flTimerLength": 3768,
"m_pInGameMoneyServices": 1744,
"m_hPlayerPawn": 2004,
"m_iAccount": 64,
"m_vecAbsOrigin": 200,
"m_vOldOrigin": 4644,
"m_pGameSceneNode": 784,
"m_flFlashOverlayAlpha": 5212,
"m_bIsDefusing": 5032,
"m_szName": 3096,
"m_pClippingWeapon": 4776,
"m_ArmorValue": 5384,
"m_iHealth": 812,
"m_hPlayerPawn": 1980,
"m_sSanitizedPlayerName": 1824,
"m_iTeamNum": 959,
"m_vecOrigin": 4644
"m_pClippingWeapon": 4776,
"m_pGameSceneNode": 784,
"m_pInGameMoneyServices": 1744,
"m_sSanitizedPlayerName": 1848,
"m_szName": 3096,
"m_vOldOrigin": 4644,
"m_vecAbsOrigin": 200
}