summaryrefslogtreecommitdiffstats
path: root/src/netvars.cpp
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-10-27 21:37:41 +0100
committersalmonik <salmonik@tuta.io>2026-10-27 21:37:41 +0100
commit77bd6ba7054b19332dc357e866f158321ec889fb (patch)
tree741c046d925bd1dbfc8af935954f3eab6c027660 /src/netvars.cpp
parentItem ESP: tag breakable wood/plastic/metal crates (diff)
downloadhl2h-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.cpp7
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,