From 64fbfabc3ae61e66ba6b085bef829ac47eb382ad Mon Sep 17 00:00:00 2001 From: kedou Date: Wed, 5 Aug 2026 23:30:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=BC=BA=E5=88=B6=E5=BC=80=E5=90=AF(?= =?UTF-8?q?=E5=85=8D=E6=8C=89=E9=94=AE)=E6=A8=A1=E5=BC=8F:=20=E6=8C=89?= =?UTF-8?q?=E9=94=AE=E6=A3=80=E6=B5=8B=E5=85=A8=E7=BA=BF=E5=A4=B1=E6=95=88?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E4=B8=8B=E7=9B=B4=E6=8E=A5=E5=8B=BE=E9=80=89?= =?UTF-8?q?=E7=94=9F=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CFramework/Cheat/Aim.cpp | 6 ++++-- CFramework/Cheat/Menu.cpp | 1 + CFramework/Cheat/Visual.cpp | 8 +++----- CFramework/Framework/Config/Config.h | 1 + 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/CFramework/Cheat/Aim.cpp b/CFramework/Cheat/Aim.cpp index 15f4433..dc8d23f 100644 --- a/CFramework/Cheat/Aim.cpp +++ b/CFramework/Cheat/Aim.cpp @@ -87,8 +87,10 @@ void CFramework::AimAll() if (g.g_AimDrawFov) ImGui::GetBackgroundDrawList()->AddCircle(ToImVec2(Center), g.g_AimFov, AimFovColor, 64); - // 発動キー (右クリック / 左クリック / 键盘触发键 F9) - if (!IsKeyDown(g.g_AimKey0) && !IsKeyDown(g.g_AimKey1) && !IsKeyDown(g.g_AimKey2)) + // 発動条件: 强制开启 或 按住触发键 (右键/左键/F9) + // ※ GetAsyncKeyState / 低级钩子 在本环境(管理员+RawInput独占)都检测不到按键, + // g_AimForce 是绕过按键检测的替代方案 + if (!g.g_AimForce && !IsKeyDown(g.g_AimKey0) && !IsKeyDown(g.g_AimKey1) && !IsKeyDown(g.g_AimKey2)) return; // カメラ位置 (ローカル頭部を優先、無ければ origin) diff --git a/CFramework/Cheat/Menu.cpp b/CFramework/Cheat/Menu.cpp index 836ec1e..cf8fc6a 100644 --- a/CFramework/Cheat/Menu.cpp +++ b/CFramework/Cheat/Menu.cpp @@ -179,6 +179,7 @@ void CFramework::RenderMenu() ImGui::Checkbox("SCAV", &g.g_AimTargetScav); ImGui::Checkbox("BOSS", &g.g_AimTargetBoss); ImGui::Checkbox("忽略血量", &g.g_AimIgnoreHealth); + ImGui::Checkbox("强制开启(免按键)", &g.g_AimForce); ImGui::Checkbox("显示范围圈", &g.g_AimDrawFov); ImGui::Checkbox("显示目标线", &g.g_AimDrawTarget); diff --git a/CFramework/Cheat/Visual.cpp b/CFramework/Cheat/Visual.cpp index bf0228a..0e6906d 100644 --- a/CFramework/Cheat/Visual.cpp +++ b/CFramework/Cheat/Visual.cpp @@ -35,14 +35,12 @@ void CFramework::RenderInfo() // Tgt = 是否锁定目标; d = 目标离屏幕中心距离px; Hook/Btn = 鼠标钩子状态 char aim[192]{}; snprintf(aim, sizeof(aim), - "Aim:%s M:%s Key:%s Tgt:%s d=%.0fpx Hook:%s Btn:%lu", + "Aim:%s M:%s F:%s Tgt:%s d=%.0fpx", g.g_Aim ? "ON" : "OFF", g.g_AimMethod == 0 ? "MEM" : "MOU", - (IsKeyDown(g.g_AimKey0) || IsKeyDown(g.g_AimKey1) || IsKeyDown(g.g_AimKey2)) ? "HOLD" : "--", + g.g_AimForce ? "FORCE" : "KEY", m_diagBestAddr ? "LOCK" : "NONE", - m_diagBestDist, - IsMouseHookInstalled() ? "OK" : "FAIL", - GetMouseHookCount()); + m_diagBestDist); StringEx(ImVec2(8.f, 42.f), ImColor(1.f, 0.f, 0.f, 1.f), ImGui::GetFontSize(), aim); // Crosshair diff --git a/CFramework/Framework/Config/Config.h b/CFramework/Framework/Config/Config.h index 9db1bc3..715ad8d 100644 --- a/CFramework/Framework/Config/Config.h +++ b/CFramework/Framework/Config/Config.h @@ -44,6 +44,7 @@ struct Globals bool g_AimTargetScav = true; bool g_AimTargetBoss = true; bool g_AimIgnoreHealth = true; // Mono版でHealthController offsetが違うと全員死亡扱いになる。true=判定スキップ + bool g_AimForce = false; // 强制开启: 勾选后不需要按键, 自瞄直接生效 (按键检测失效环境的替代方案) bool g_AimDrawFov = true; // 显示 FOV 圈 bool g_AimDrawTarget = true; // 显示目标连线