diff options
| author | salmonik <salmonik@tuta.io> | 2026-10-27 21:37:41 +0100 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-10-27 21:37:41 +0100 |
| commit | 77bd6ba7054b19332dc357e866f158321ec889fb (patch) | |
| tree | 741c046d925bd1dbfc8af935954f3eab6c027660 /src/netvars.cpp | |
| parent | Item ESP: tag breakable wood/plastic/metal crates (diff) | |
| download | hl2h-77bd6ba7054b19332dc357e866f158321ec889fb.tar.gz hl2h-77bd6ba7054b19332dc357e866f158321ec889fb.zip | |
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.
Diffstat (limited to 'src/netvars.cpp')
| -rw-r--r-- | src/netvars.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/netvars.cpp b/src/netvars.cpp index 3b2d3b8..4980acc 100644 --- a/src/netvars.cpp +++ b/src/netvars.cpp | |||
| @@ -92,6 +92,10 @@ static void collect_netvars(uintptr_t table, uintptr_t base_off, int depth) { | |||
| 92 | } else if (strcmp(pname2, "m_hActiveWeapon") == 0 && | 92 | } else if (strcmp(pname2, "m_hActiveWeapon") == 0 && |
| 93 | g_net.activeweapon < 0) { | 93 | g_net.activeweapon < 0) { |
| 94 | g_net.activeweapon = (int)(base_off + (uint32_t)poff); | 94 | g_net.activeweapon = (int)(base_off + (uint32_t)poff); |
| 95 | } else if (strcmp(pname2, "m_hOwnerEntity") == 0 && g_net.owner < 0) { | ||
| 96 | g_net.owner = (int)(base_off + (uint32_t)poff); | ||
| 97 | } else if (strcmp(pname2, "m_hOwner") == 0 && g_net.weapon_owner < 0) { | ||
| 98 | g_net.weapon_owner = (int)(base_off + (uint32_t)poff); | ||
| 95 | } else if (strcmp(pname2, "m_iTeamNum") == 0 && g_net.teamnum < 0) { | 99 | } else if (strcmp(pname2, "m_iTeamNum") == 0 && g_net.teamnum < 0) { |
| 96 | g_net.teamnum = (int)(base_off + (uint32_t)poff); | 100 | g_net.teamnum = (int)(base_off + (uint32_t)poff); |
| 97 | } else if (strcmp(pname2, "m_vecOrigin") == 0 && g_net.origin < 0) { | 101 | } else if (strcmp(pname2, "m_vecOrigin") == 0 && g_net.origin < 0) { |
| @@ -272,7 +276,8 @@ void resolve_netvars() { | |||
| 272 | logf("m_vecAbsVelocity unresolved; jumpbug assist disabled"); | 276 | logf("m_vecAbsVelocity unresolved; jumpbug assist disabled"); |
| 273 | logf("netvars: flags=%d velocity=%d movetype=%d health=%d maxhealth=%d " | 277 | logf("netvars: flags=%d velocity=%d movetype=%d health=%d maxhealth=%d " |
| 274 | "teamnum=%d origin=%d viewoffset=%d mins=%d maxs=%d lifeste=%d " | 278 | "teamnum=%d origin=%d viewoffset=%d mins=%d maxs=%d lifeste=%d " |
| 275 | "modelindex=%d absvelocity=%d activeweapon=%d", | 279 | "modelindex=%d absvelocity=%d activeweapon=%d owner=%d " |
| 280 | "weapon_owner=%d", | ||
| 276 | g_net.flags, g_net.velocity, g_net.movetype, g_net.health, | 281 | g_net.flags, g_net.velocity, g_net.movetype, g_net.health, |
| 277 | g_net.maxhealth, g_net.teamnum, g_net.origin, g_net.viewoffset, | 282 | g_net.maxhealth, g_net.teamnum, g_net.origin, g_net.viewoffset, |
| 278 | g_net.mins, g_net.maxs, g_net.lifestate, g_net.modelindex, | 283 | g_net.mins, g_net.maxs, g_net.lifestate, g_net.modelindex, |
