From 77bd6ba7054b19332dc357e866f158321ec889fb Mon Sep 17 00:00:00 2001 From: salmonik Date: Tue, 27 Oct 2026 21:37:41 +0100 Subject: Item ESP: tag world weapons, name ammo types, restrict crates - Add a Weapons category and classify world weapon models (crowbar, pistol, revolver, SMG, AR2, shotgun, crossbow, RPG, grenade, gravity gun, stunstick, bugbait, sniper). Skip the active weapon and anything with a valid m_hOwner/m_hOwnerEntity handle so held weapons do not tag. - Label ammo by model: pistol, SMG, AR2, .357, crossbow, shotgun, sniper, flares, AR2 grenade, RPG rocket and specific ammo-crate variants. - Only item_item_crate and item_beacon_crate are supply crates; generic breakable crates are no longer tagged. Crate chunks stay excluded. - Add item diagnostics: category state, prop-like entities with class/model/ kind/distance/origin, and every item crate seen. --- CONTEXT.md | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'CONTEXT.md') diff --git a/CONTEXT.md b/CONTEXT.md index c8bc54e..56a1a65 100644 --- a/CONTEXT.md +++ b/CONTEXT.md @@ -82,6 +82,7 @@ Relevant vtable slots (this build): | `m_nModelIndex` | `0x7C` | | `m_vecAbsVelocity` (client local, not netvar) | `0x11C` | | `m_hActiveWeapon` (client netvar; server fallback `0x824`) | resolved by name | +| `m_hOwnerEntity` / `m_hOwner` (held weapons) | resolved by name | - Eye position = `m_vecOrigin + m_vecViewOffset` on **all three axes**. (The old code added the X component to Z, which left the eye ~64 units low.) @@ -271,16 +272,19 @@ vocabulary / decisions. ## Valuable items - Visuals feature; Active is on by default and unbound (always-on). -- Scans the client entity list every 100 ms for item models/classes and tags - health, ammo, armor/suit, supply crates and generic items. +- Scans the client entity list every 100 ms and tags health, ammo, armor/suit, + world weapon pickups, the two supply-crate models and generic items. - Each tag is a colored marker with a name and optional distance, filtered by category toggles and a max-distance slider. Drawn through walls and independently of the hostile NPC ESP. -- Detection is model-first (`models/items/...`, `models/healthvial.mdl`, - `models/props_combine/*_charger*.mdl`, `models/w_longjump.mdl`) with class - fallbacks. Generic breakable wood/plastic/metal crates are tagged as - "Crate"; crate chunk debris is ignored. Weapon pickups are intentionally - not tagged. +- Ammo labels are specific where the model is known: pistol, SMG, AR2, .357, + crossbow, shotgun, sniper, flares, AR2 grenade, RPG rocket, plus ammo-crate + variants. Unknown ammo falls back to "Ammo". +- Weapons are world pickups only: the active weapon and anything with a valid + `m_hOwner`/`m_hOwnerEntity` handle is skipped. +- Only `item_item_crate` and `item_beacon_crate` are tagged as supply crates. + Other breakable crates are intentionally ignored; crate chunk debris is + skipped. ## Roadmap / TODO -- cgit v1.2.3