diff options
| author | salmonik <salmonik@tuta.io> | 2026-10-27 14:52:00 +0100 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-10-27 14:52:24 +0100 |
| commit | 293eda2bdce9d732fad168b5b6838bd89ce59fe8 (patch) | |
| tree | 9f345d4a19d1957ccfd7764012221d62eb2df328 /CONTEXT.md | |
| parent | Menu: latch the Insert key and expand the root on open (diff) | |
| download | hl2h-293eda2bdce9d732fad168b5b6838bd89ce59fe8.tar.gz hl2h-293eda2bdce9d732fad168b5b6838bd89ce59fe8.zip | |
Melee killbot: 360-degree crowbar silent aim
- New feature (default on): while the local player's active weapon is the
crowbar, pick the nearest visible hostile NPC within the 75-unit crowbar
range, sorted by distance to its collision AABB, and attack it through the
normal silent-aim path (usercmd view + IN_ATTACK, movement preserved,
rendered view restored at FRAME_RENDER_START).
- Prefer the nearest visible hitbox center; fall back to the AABB center /
closest point when bones are unavailable. Reuses the existing friendly /
neutral and life-state filters and the world-only vischeck.
- Detect the active weapon from the client m_hActiveWeapon handle, with the
authoritative server m_hActiveWeapon handle as a fallback (client entity
index from the low 16 bits).
- While the crowbar is active and this feature is on, skip the gun aimbot,
triggerbot and silent aim so they do not fight over the usercmd view.
- Menu: Melee killbot -> Active; config [melee] active=...
Diffstat (limited to 'CONTEXT.md')
| -rw-r--r-- | CONTEXT.md | 25 |
1 files changed, 23 insertions, 2 deletions
| @@ -81,6 +81,7 @@ Relevant vtable slots (this build): | |||
| 81 | | `m_lifeState` | `0x7F` | | 81 | | `m_lifeState` | `0x7F` | |
| 82 | | `m_nModelIndex` | `0x7C` | | 82 | | `m_nModelIndex` | `0x7C` | |
| 83 | | `m_vecAbsVelocity` (client local, not netvar) | `0x11C` | | 83 | | `m_vecAbsVelocity` (client local, not netvar) | `0x11C` | |
| 84 | | `m_hActiveWeapon` (client netvar; server fallback `0x824`) | resolved by name | | ||
| 84 | 85 | ||
| 85 | - Eye position = `m_vecOrigin + m_vecViewOffset` on **all three axes**. | 86 | - Eye position = `m_vecOrigin + m_vecViewOffset` on **all three axes**. |
| 86 | (The old code added the X component to Z, which left the eye ~64 units low.) | 87 | (The old code added the X component to Z, which left the eye ~64 units low.) |
| @@ -108,6 +109,8 @@ HL2hake | |||
| 108 | Jumpbug | 109 | Jumpbug |
| 109 | Active | 110 | Active |
| 110 | Assist timing | 111 | Assist timing |
| 112 | Melee killbot | ||
| 113 | Active | ||
| 111 | ESP | 114 | ESP |
| 112 | Active | 115 | Active |
| 113 | Show neutral / healthbar / healthnum / name / skeleton / box / speed graph | 116 | Show neutral / healthbar / healthnum / name / skeleton / box / speed graph |
| @@ -163,6 +166,26 @@ Binds use SDL scancodes; mouse buttons are pseudo-scancodes 600..604. | |||
| 163 | zero forward/side movement; HL2's jump speed-bound subtraction then | 166 | zero forward/side movement; HL2's jump speed-bound subtraction then |
| 164 | accelerates along the velocity. Camera restored at `FRAME_RENDER_START`. | 167 | accelerates along the velocity. Camera restored at `FRAME_RENDER_START`. |
| 165 | 168 | ||
| 169 | ## Melee killbot | ||
| 170 | |||
| 171 | - Active only while the local player's active weapon is the crowbar. The | ||
| 172 | client `m_hActiveWeapon` handle is used first; if it is missing, the | ||
| 173 | authoritative server `m_hActiveWeapon` handle (0x824) is used to get the | ||
| 174 | weapon entity index. | ||
| 175 | - Crowbar range is `CROWBAR_RANGE` 75 units from `Weapon_ShootPosition`. The | ||
| 176 | selector computes the closest point on each hostile NPC's AABB to the eye, | ||
| 177 | rejects anything farther than 75, sorts by that distance, and picks the | ||
| 178 | nearest visible one. | ||
| 179 | - The usercmd view is pointed at the target for one command with `IN_ATTACK`; | ||
| 180 | movement keys are rotated with `preserve_movement`, and the rendered view is | ||
| 181 | restored immediately and at `FRAME_RENDER_START` (same silent-aim path). | ||
| 182 | This gives a 360-degree silent melee attack. | ||
| 183 | - While the crowbar is active and the killbot feature is on, the gun aimbot, | ||
| 184 | triggerbot and silent aim are skipped to avoid fighting over the usercmd | ||
| 185 | view. | ||
| 186 | - Vischeck uses the shared `MASK_VISIBLE`/world-only path (static props are | ||
| 187 | ignored). | ||
| 188 | |||
| 166 | ## Jumpbug | 189 | ## Jumpbug |
| 167 | 190 | ||
| 168 | - Automatic while falling when the predicted landing speed | 191 | - Automatic while falling when the predicted landing speed |
| @@ -212,8 +235,6 @@ Binds use SDL scancodes; mouse buttons are pseudo-scancodes 600..604. | |||
| 212 | 235 | ||
| 213 | ## Roadmap / TODO | 236 | ## Roadmap / TODO |
| 214 | 237 | ||
| 215 | - **Melee killbot**: 360° silent aim for hostile NPCs inside crowbar/melee | ||
| 216 | range, sorted by distance, only while the crowbar is held. | ||
| 217 | - **GUI**: replace/augment the VGUI ISurface menu with an immediate-mode GUI | 238 | - **GUI**: replace/augment the VGUI ISurface menu with an immediate-mode GUI |
| 218 | (Dear ImGui or a custom implementation); needs a design grill first. | 239 | (Dear ImGui or a custom implementation); needs a design grill first. |
| 219 | - **Distance weapon spread thesis**: TBD — user will explain. Likely models | 240 | - **Distance weapon spread thesis**: TBD — user will explain. Likely models |
