diff --git a/memory-external/classes/auto_updater.cpp b/memory-external/classes/auto_updater.cpp index 19f1d67..d2baa7a 100644 --- a/memory-external/classes/auto_updater.cpp +++ b/memory-external/classes/auto_updater.cpp @@ -213,6 +213,8 @@ namespace updater { offsets::m_vecAbsOrigin = data["m_vecAbsOrigin"]; if (data["m_pGameSceneNode"].is_number()) offsets::m_pGameSceneNode = data["m_pGameSceneNode"]; + if (data["m_flFlashDuration"].is_number()) + offsets::m_flFlashDuration = data["m_flFlashDuration"]; if (data["m_bIsDefusing"].is_number()) offsets::m_bIsDefusing = data["m_bIsDefusing"]; if (data["m_szName"].is_number()) @@ -254,6 +256,7 @@ namespace updater { data["m_iAccount"] = offsets::m_iAccount; data["m_vecAbsOrigin"] = offsets::m_vecAbsOrigin; data["m_pGameSceneNode"] = offsets::m_pGameSceneNode; + data["m_flFlashDuration"] = offsets::m_flFlashDuration; data["m_bIsDefusing"] = offsets::m_bIsDefusing; data["m_szName"] = offsets::m_szName; data["m_pClippingWeapon"] = offsets::m_pClippingWeapon; diff --git a/memory-external/classes/auto_updater.hpp b/memory-external/classes/auto_updater.hpp index afb5c4c..51af8f2 100644 --- a/memory-external/classes/auto_updater.hpp +++ b/memory-external/classes/auto_updater.hpp @@ -47,6 +47,7 @@ namespace updater { inline std::ptrdiff_t m_iAccount = 0x40; inline std::ptrdiff_t m_vecAbsOrigin = 0xC8; inline std::ptrdiff_t m_pGameSceneNode = 0x310; + inline std::ptrdiff_t m_flFlashDuration = 0x1450; inline std::ptrdiff_t m_bIsDefusing = 0x1390; inline std::ptrdiff_t m_szName = 0xC18; inline std::ptrdiff_t m_pClippingWeapon = 0x1290; diff --git a/memory-external/hacks/hack.hpp b/memory-external/hacks/hack.hpp index 68c7125..6225c61 100644 --- a/memory-external/hacks/hack.hpp +++ b/memory-external/hacks/hack.hpp @@ -79,8 +79,6 @@ namespace hack { * (This could have been done by getting a entity list count from the engine, but I'm too lazy to do that) **/ while (true) { - - playerIndex++; list_entry = process->read(entity_list + (8 * (playerIndex & 0x7FFF) >> 9) + 16); if (!list_entry) @@ -273,6 +271,19 @@ namespace hack { 10 ); + float flashDuration = process->read(pCSPlayerPawn + updater::offsets::m_flFlashDuration); + if (flashDuration > 0.1) + { + render::RenderText( + g::hdcBuffer, + screenHead.x + (width / 2 + 5), + screenHead.y + 60, + "Player is flashed", + config::esp_distance_color, + 10 + ); + } + std::string defuText = "Player is defusing"; if (isDefusing) diff --git a/offsets/offsets.json b/offsets/offsets.json index 284a147..3ea9dac 100644 --- a/offsets/offsets.json +++ b/offsets/offsets.json @@ -1,24 +1,25 @@ -{ - "build_number": 13965, - "dwBuildNumber": 4748564, - "dwEntityList": 24745408, - "dwLocalPlayer": 25067864, - "dwPlantedC4": 25739232, - "dwViewMatrix": 25720624, - "m_ArmorValue": 5360, - "m_bIsDefusing": 5008, - "m_flC4Blow": 3760, - "m_flNextBeep": 3756, - "m_flTimerLength": 3768, - "m_hPlayerPawn": 1980, - "m_iAccount": 64, - "m_iHealth": 812, - "m_iTeamNum": 959, - "m_pClippingWeapon": 4752, - "m_pGameSceneNode": 784, - "m_pInGameMoneyServices": 1744, - "m_sSanitizedPlayerName": 1824, - "m_szName": 3096, - "m_vecAbsOrigin": 200, - "m_vecOrigin": 4628 -} +{ + "build_number": 13965, + "dwLocalPlayer": 25067864, + "dwEntityList": 24745408, + "dwViewMatrix": 25720624, + "dwBuildNumber": 4748564, + "dwPlantedC4": 25739232, + "m_flC4Blow": 3760, + "m_flNextBeep": 3756, + "m_flTimerLength": 3768, + "m_pInGameMoneyServices": 1744, + "m_iAccount": 64, + "m_vecAbsOrigin": 200, + "m_pGameSceneNode": 784, + "m_flFlashDuration": 5200, + "m_bIsDefusing": 5008, + "m_szName": 3096, + "m_pClippingWeapon": 4752, + "m_ArmorValue": 5360, + "m_iHealth": 812, + "m_hPlayerPawn": 1980, + "m_sSanitizedPlayerName": 1824, + "m_iTeamNum": 959, + "m_vecOrigin": 4628 +} \ No newline at end of file