So, I have a little plugin I'm writing to solve a friend's server's problem. I can read the number of nade types that each player has, but I can't set it. I'm wondering if I'm doing this right, or does the FF development team need to make a variable "write-able" for sourcemod. I'm not sure how variable protection works with Source games... I've tried obtaining the offset two different ways, but the setting of the variable doesn't do anything. I can read them, and they change if I throw a nade and read it again, so I believe I have the right place... just can't write to it.
Here's the code:
Code:
#pragma semicolon 1
#include <sourcemod>
#include <sdktools>
public Plugin:myinfo =
{
name = "ScuzTools FF Nade Plugin v1.0",
author = "[o-t] Scuzzy",
description = "Fortress Forever Nades",
version = "1.0",
url = "http://forums.oldtimersclan.com/"
};
public OnPluginStart()
{
LoadTranslations("common.phrases");
LoadTranslations("basecomm.phrases");
HookEvent("player_spawn", PlayerSpawn);
RegAdminCmd("ot_mynades", Command_ot_mynades, ADMFLAG_CHAT, "ot_mynades - test command to read nade values");
return true;
}
public Action:PlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast)
{
LogMessage("Player Spawned");
new client = GetClientOfUserId(GetEventInt(event, "userid"));
new m_Offset=FindSendPropOffs("CFFPlayer","m_iPrimary");
new entvalue=GetEntData(client,m_Offset,4);
if (entvalue>2)
{
LogMessage("Primary over 2");
SetEntData(client, m_Offset, 2, 4, true);
}
m_Offset=FindSendPropOffs("CFFPlayer","m_iSecondary");
entvalue=GetEntData(client,m_Offset,4);
if (entvalue>1)
{
LogMessage("Secondary over 1");
//new m_Offset = GetEntSendPropOffs(client, "m_iSecondary");
SetEntData(client, m_Offset, 1, 4, true);
}
return Plugin_Continue;
}
public Action:Command_ot_mynades(client, args)
{
new m_Offset=FindSendPropOffs("CFFPlayer","m_iPrimary");
new entvalue=GetEntData(client,m_Offset,4);
PrintToChat(client, "Primary Nades: %d", entvalue);
return Plugin_Handled;
}
Here is the player structure:
Code:
CFFPlayer:
Sub-Class Table (1 Deep): DT_FFPlayer
Sub-Class Table (2 Deep): DT_BasePlayer
Sub-Class Table (3 Deep): DT_BaseCombatCharacter
Sub-Class Table (4 Deep): DT_BaseFlex
Sub-Class Table (5 Deep): DT_BaseAnimatingOverlay
Sub-Class Table (6 Deep): DT_BaseAnimating
Sub-Class Table (7 Deep): DT_BaseEntity
Sub-Class Table (8 Deep): DT_AnimTimeMustBeFirst
-Member: m_flAnimTime (offset 60) (type integer) (bits 8)
-Member: m_flSimulationTime (offset 64) (type integer) (bits 8)
-Member: m_vecOrigin (offset 824) (type vector) (bits 0)
-Member: m_nModelIndex (offset 50) (type integer) (bits 11)
Sub-Class Table (8 Deep): DT_CollisionProperty
-Member: m_vecMins (offset 8) (type vector) (bits 0)
-Member: m_vecMaxs (offset 20) (type vector) (bits 0)
-Member: m_nSolidType (offset 41) (type integer) (bits 3)
-Member: m_usSolidFlags (offset 36) (type integer) (bits 9)
-Member: m_nSurroundType (offset 40) (type integer) (bits 3)
-Member: m_triggerBloat (offset 42) (type integer) (bits 8)
-Member: m_vecSpecifiedSurroundingMins (offset 44) (type vector) (bits 0)
-Member: m_vecSpecifiedSurroundingMaxs (offset 56) (type vector) (bits 0)
-Member: m_nRenderFX (offset 48) (type integer) (bits 8)
-Member: m_nRenderMode (offset 49) (type integer) (bits 8)
-Member: m_fEffects (offset 128) (type integer) (bits 10)
-Member: m_clrRender (offset 52) (type integer) (bits 32)
-Member: m_iTeamNum (offset 548) (type integer) (bits 6)
-Member: m_CollisionGroup (offset 528) (type integer) (bits 5)
-Member: m_flElasticity (offset 668) (type float) (bits 0)
-Member: m_flShadowCastDistance (offset 536) (type float) (bits 12)
-Member: m_hOwnerEntity (offset 520) (type integer) (bits 21)
-Member: m_hEffectEntity (offset 524) (type integer) (bits 21)
-Member: moveparent (offset 252) (type integer) (bits 21)
-Member: m_iParentAttachment (offset 249) (type integer) (bits 6)
-Member: movetype (offset 250) (type integer) (bits 4)
-Member: movecollide (offset 251) (type integer) (bits 3)
-Member: m_angRotation (offset 836) (type vector) (bits 13)
-Member: m_iTextureFrameIndex (offset 712) (type integer) (bits 8)
Sub-Class Table (8 Deep): DT_PredictableId
-Member: m_PredictableID (offset 72) (type integer) (bits 31)
-Member: m_bIsPlayerSimulated (offset 864) (type integer) (bits 1)
-Member: m_bSimulatedEveryTick (offset 713) (type integer) (bits 1)
-Member: m_bAnimatedEveryTick (offset 714) (type integer) (bits 1)
-Member: m_bAlternateSorting (offset 715) (type integer) (bits 1)
-Member: m_nForceBone (offset 884) (type integer) (bits 8)
-Member: m_vecForce (offset 888) (type vector) (bits 0)
-Member: m_nSkin (offset 900) (type integer) (bits 10)
-Member: m_nBody (offset 904) (type integer) (bits 32)
-Member: m_nHitboxSet (offset 908) (type integer) (bits 2)
-Member: m_flModelWidthScale (offset 912) (type float) (bits 6)
Sub-Class Table (7 Deep): m_flPoseParameter
-Member: 000 (offset 0) (type float) (bits 11)
-Member: 001 (offset 4) (type float) (bits 11)
-Member: 002 (offset 8) (type float) (bits 11)
-Member: 003 (offset 12) (type float) (bits 11)
-Member: 004 (offset 16) (type float) (bits 11)
-Member: 005 (offset 20) (type float) (bits 11)
-Member: 006 (offset 24) (type float) (bits 11)
-Member: 007 (offset 28) (type float) (bits 11)
-Member: 008 (offset 32) (type float) (bits 11)
-Member: 009 (offset 36) (type float) (bits 11)
-Member: 010 (offset 40) (type float) (bits 11)
-Member: 011 (offset 44) (type float) (bits 11)
-Member: 012 (offset 48) (type float) (bits 11)
-Member: 013 (offset 52) (type float) (bits 11)
-Member: 014 (offset 56) (type float) (bits 11)
-Member: 015 (offset 60) (type float) (bits 11)
-Member: 016 (offset 64) (type float) (bits 11)
-Member: 017 (offset 68) (type float) (bits 11)
-Member: 018 (offset 72) (type float) (bits 11)
-Member: 019 (offset 76) (type float) (bits 11)
-Member: 020 (offset 80) (type float) (bits 11)
-Member: 021 (offset 84) (type float) (bits 11)
-Member: 022 (offset 88) (type float) (bits 11)
-Member: 023 (offset 92) (type float) (bits 11)
-Member: m_nSequence (offset 960) (type integer) (bits 11)
-Member: m_flPlaybackRate (offset 916) (type float) (bits 8)
Sub-Class Table (7 Deep): m_flEncodedController
-Member: 000 (offset 0) (type float) (bits 11)
-Member: 001 (offset 4) (type float) (bits 11)
-Member: 002 (offset 8) (type float) (bits 11)
-Member: 003 (offset 12) (type float) (bits 11)
-Member: m_bClientSideAnimation (offset 1076) (type integer) (bits 1)
-Member: m_bClientSideFrameReset (offset 1077) (type integer) (bits 1)
-Member: m_nNewSequenceParity (offset 1080) (type integer) (bits 3)
-Member: m_nResetEventsParity (offset 1084) (type integer) (bits 3)
-Member: m_nMuzzleFlashParity (offset 1088) (type integer) (bits 2)
-Member: m_hLightingOrigin (offset 1092) (type integer) (bits 21)
-Member: m_hLightingOriginRelative (offset 1096) (type integer) (bits 21)
Sub-Class Table (7 Deep): DT_ServerAnimationData
-Member: m_flCycle (offset 956) (type float) (bits 15)
-Member: m_fadeMinDist (offset 1116) (type float) (bits 0)
-Member: m_fadeMaxDist (offset 1120) (type float) (bits 0)
-Member: m_flFadeScale (offset 1124) (type float) (bits 0)
Sub-Class Table (6 Deep): DT_OverlayVars
Sub-Class Table (7 Deep): _ST_m_AnimOverlay_15
Sub-Class Table (8 Deep): _LPT_m_AnimOverlay_15
-Member: lengthprop15 (offset 0) (type integer) (bits 4)
Sub-Class Table (8 Deep): DT_Animationlayer
-Member: m_nSequence (offset 12) (type integer) (bits 11)
-Member: m_flCycle (offset 16) (type float) (bits 15)
-Member: m_flPrevCycle (offset 20) (type float) (bits 15)
-Member: m_flWeight (offset 24) (type float) (bits 8)
-Member: m_nOrder (offset 64) (type integer) (bits 4)
Sub-Class Table (8 Deep): DT_Animationlayer
-Member: m_nSequence (offset 12) (type integer) (bits 11)
-Member: m_flCycle (offset 16) (type float) (bits 15)
-Member: m_flPrevCycle (offset 20) (type float) (bits 15)
-Member: m_flWeight (offset 24) (type float) (bits 8)
-Member: m_nOrder (offset 64) (type integer) (bits 4)
Sub-Class Table (8 Deep): DT_Animationlayer
-Member: m_nSequence (offset 12) (type integer) (bits 11)
-Member: m_flCycle (offset 16) (type float) (bits 15)
-Member: m_flPrevCycle (offset 20) (type float) (bits 15)
-Member: m_flWeight (offset 24) (type float) (bits 8)
-Member: m_nOrder (offset 64) (type integer) (bits 4)
Sub-Class Table (8 Deep): DT_Animationlayer
-Member: m_nSequence (offset 12) (type integer) (bits 11)
-Member: m_flCycle (offset 16) (type float) (bits 15)
-Member: m_flPrevCycle (offset 20) (type float) (bits 15)
-Member: m_flWeight (offset 24) (type float) (bits 8)
-Member: m_nOrder (offset 64) (type integer) (bits 4)
Sub-Class Table (8 Deep): DT_Animationlayer
-Member: m_nSequence (offset 12) (type integer) (bits 11)
-Member: m_flCycle (offset 16) (type float) (bits 15)
-Member: m_flPrevCycle (offset 20) (type float) (bits 15)
-Member: m_flWeight (offset 24) (type float) (bits 8)
-Member: m_nOrder (offset 64) (type integer) (bits 4)
Sub-Class Table (8 Deep): DT_Animationlayer
-Member: m_nSequence (offset 12) (type integer) (bits 11)
-Member: m_flCycle (offset 16) (type float) (bits 15)
-Member: m_flPrevCycle (offset 20) (type float) (bits 15)
-Member: m_flWeight (offset 24) (type float) (bits 8)
-Member: m_nOrder (offset 64) (type integer) (bits 4)
Sub-Class Table (8 Deep): DT_Animationlayer
-Member: m_nSequence (offset 12) (type integer) (bits 11)
-Member: m_flCycle (offset 16) (type float) (bits 15)
-Member: m_flPrevCycle (offset 20) (type float) (bits 15)
-Member: m_flWeight (offset 24) (type float) (bits 8)
-Member: m_nOrder (offset 64) (type integer) (bits 4)
Sub-Class Table (8 Deep): DT_Animationlayer
-Member: m_nSequence (offset 12) (type integer) (bits 11)
-Member: m_flCycle (offset 16) (type float) (bits 15)
-Member: m_flPrevCycle (offset 20) (type float) (bits 15)
-Member: m_flWeight (offset 24) (type float) (bits 8)
-Member: m_nOrder (offset 64) (type integer) (bits 4)
Sub-Class Table (8 Deep): DT_Animationlayer
-Member: m_nSequence (offset 12) (type integer) (bits 11)
-Member: m_flCycle (offset 16) (type float) (bits 15)
-Member: m_flPrevCycle (offset 20) (type float) (bits 15)
-Member: m_flWeight (offset 24) (type float) (bits 8)
-Member: m_nOrder (offset 64) (type integer) (bits 4)
Sub-Class Table (8 Deep): DT_Animationlayer
-Member: m_nSequence (offset 12) (type integer) (bits 11)
-Member: m_flCycle (offset 16) (type float) (bits 15)
-Member: m_flPrevCycle (offset 20) (type float) (bits 15)
-Member: m_flWeight (offset 24) (type float) (bits 8)
-Member: m_nOrder (offset 64) (type integer) (bits 4)
Sub-Class Table (8 Deep): DT_Animationlayer
-Member: m_nSequence (offset 12) (type integer) (bits 11)
-Member: m_flCycle (offset 16) (type float) (bits 15)
-Member: m_flPrevCycle (offset 20) (type float) (bits 15)
-Member: m_flWeight (offset 24) (type float) (bits 8)
-Member: m_nOrder (offset 64) (type integer) (bits 4)
Sub-Class Table (8 Deep): DT_Animationlayer
-Member: m_nSequence (offset 12) (type integer) (bits 11)
-Member: m_flCycle (offset 16) (type float) (bits 15)
-Member: m_flPrevCycle (offset 20) (type float) (bits 15)
-Member: m_flWeight (offset 24) (type float) (bits 8)
-Member: m_nOrder (offset 64) (type integer) (bits 4)
Sub-Class Table (8 Deep): DT_Animationlayer
-Member: m_nSequence (offset 12) (type integer) (bits 11)
-Member: m_flCycle (offset 16) (type float) (bits 15)
-Member: m_flPrevCycle (offset 20) (type float) (bits 15)
-Member: m_flWeight (offset 24) (type float) (bits 8)
-Member: m_nOrder (offset 64) (type integer) (bits 4)
Sub-Class Table (8 Deep): DT_Animationlayer
-Member: m_nSequence (offset 12) (type integer) (bits 11)
-Member: m_flCycle (offset 16) (type float) (bits 15)
-Member: m_flPrevCycle (offset 20) (type float) (bits 15)
-Member: m_flWeight (offset 24) (type float) (bits 8)
-Member: m_nOrder (offset 64) (type integer) (bits 4)
Sub-Class Table (8 Deep): DT_Animationlayer
-Member: m_nSequence (offset 12) (type integer) (bits 11)
-Member: m_flCycle (offset 16) (type float) (bits 15)
-Member: m_flPrevCycle (offset 20) (type float) (bits 15)
-Member: m_flWeight (offset 24) (type float) (bits 8)
-Member: m_nOrder (offset 64) (type integer) (bits 4)
Sub-Class Table (5 Deep): m_flexWeight
-Member: 000 (offset 0) (type float) (bits 12)
-Member: 001 (offset 4) (type float) (bits 12)
-Member: 002 (offset 8) (type float) (bits 12)
-Member: 003 (offset 12) (type float) (bits 12)
-Member: 004 (offset 16) (type float) (bits 12)
-Member: 005 (offset 20) (type float) (bits 12)
-Member: 006 (offset 24) (type float) (bits 12)
-Member: 007 (offset 28) (type float) (bits 12)
-Member: 008 (offset 32) (type float) (bits 12)
-Member: 009 (offset 36) (type float) (bits 12)
-Member: 010 (offset 40) (type float) (bits 12)
-Member: 011 (offset 44) (type float) (bits 12)
-Member: 012 (offset 48) (type float) (bits 12)
-Member: 013 (offset 52) (type float) (bits 12)
-Member: 014 (offset 56) (type float) (bits 12)
-Member: 015 (offset 60) (type float) (bits 12)
-Member: 016 (offset 64) (type float) (bits 12)
-Member: 017 (offset 68) (type float) (bits 12)
-Member: 018 (offset 72) (type float) (bits 12)
-Member: 019 (offset 76) (type float) (bits 12)
-Member: 020 (offset 80) (type float) (bits 12)
-Member: 021 (offset 84) (type float) (bits 12)
-Member: 022 (offset 88) (type float) (bits 12)
-Member: 023 (offset 92) (type float) (bits 12)
-Member: 024 (offset 96) (type float) (bits 12)
-Member: 025 (offset 100) (type float) (bits 12)
-Member: 026 (offset 104) (type float) (bits 12)
-Member: 027 (offset 108) (type float) (bits 12)
-Member: 028 (offset 112) (type float) (bits 12)
-Member: 029 (offset 116) (type float) (bits 12)
-Member: 030 (offset 120) (type float) (bits 12)
-Member: 031 (offset 124) (type float) (bits 12)
-Member: 032 (offset 128) (type float) (bits 12)
-Member: 033 (offset 132) (type float) (bits 12)
-Member: 034 (offset 136) (type float) (bits 12)
-Member: 035 (offset 140) (type float) (bits 12)
-Member: 036 (offset 144) (type float) (bits 12)
-Member: 037 (offset 148) (type float) (bits 12)
-Member: 038 (offset 152) (type float) (bits 12)
-Member: 039 (offset 156) (type float) (bits 12)
-Member: 040 (offset 160) (type float) (bits 12)
-Member: 041 (offset 164) (type float) (bits 12)
-Member: 042 (offset 168) (type float) (bits 12)
-Member: 043 (offset 172) (type float) (bits 12)
-Member: 044 (offset 176) (type float) (bits 12)
-Member: 045 (offset 180) (type float) (bits 12)
-Member: 046 (offset 184) (type float) (bits 12)
-Member: 047 (offset 188) (type float) (bits 12)
-Member: 048 (offset 192) (type float) (bits 12)
-Member: 049 (offset 196) (type float) (bits 12)
-Member: 050 (offset 200) (type float) (bits 12)
-Member: 051 (offset 204) (type float) (bits 12)
-Member: 052 (offset 208) (type float) (bits 12)
-Member: 053 (offset 212) (type float) (bits 12)
-Member: 054 (offset 216) (type float) (bits 12)
-Member: 055 (offset 220) (type float) (bits 12)
-Member: 056 (offset 224) (type float) (bits 12)
-Member: 057 (offset 228) (type float) (bits 12)
-Member: 058 (offset 232) (type float) (bits 12)
-Member: 059 (offset 236) (type float) (bits 12)
-Member: 060 (offset 240) (type float) (bits 12)
-Member: 061 (offset 244) (type float) (bits 12)
-Member: 062 (offset 248) (type float) (bits 12)
-Member: 063 (offset 252) (type float) (bits 12)
-Member: m_blinktoggle (offset 1444) (type integer) (bits 1)
-Member: m_viewtarget (offset 1432) (type vector) (bits 0)
Sub-Class Table (4 Deep): DT_BCCLocalPlayerExclusive
-Member: m_flNextAttack (offset 1532) (type float) (bits 0)
Sub-Class Table (5 Deep): m_hMyWeapons
-Member: 000 (offset 0) (type integer) (bits 21)
-Member: 001 (offset 4) (type integer) (bits 21)
-Member: 002 (offset 8) (type integer) (bits 21)
-Member: 003 (offset 12) (type integer) (bits 21)
-Member: 004 (offset 16) (type integer) (bits 21)
-Member: 005 (offset 20) (type integer) (bits 21)
-Member: 006 (offset 24) (type integer) (bits 21)
-Member: 007 (offset 28) (type integer) (bits 21)
-Member: 008 (offset 32) (type integer) (bits 21)
-Member: 009 (offset 36) (type integer) (bits 21)
-Member: 010 (offset 40) (type integer) (bits 21)
-Member: 011 (offset 44) (type integer) (bits 21)
-Member: 012 (offset 48) (type integer) (bits 21)
-Member: 013 (offset 52) (type integer) (bits 21)
-Member: 014 (offset 56) (type integer) (bits 21)
-Member: 015 (offset 60) (type integer) (bits 21)
-Member: 016 (offset 64) (type integer) (bits 21)
-Member: 017 (offset 68) (type integer) (bits 21)
-Member: 018 (offset 72) (type integer) (bits 21)
-Member: 019 (offset 76) (type integer) (bits 21)
-Member: 020 (offset 80) (type integer) (bits 21)
-Member: 021 (offset 84) (type integer) (bits 21)
-Member: 022 (offset 88) (type integer) (bits 21)
-Member: 023 (offset 92) (type integer) (bits 21)
-Member: 024 (offset 96) (type integer) (bits 21)
-Member: 025 (offset 100) (type integer) (bits 21)
-Member: 026 (offset 104) (type integer) (bits 21)
-Member: 027 (offset 108) (type integer) (bits 21)
-Member: 028 (offset 112) (type integer) (bits 21)
-Member: 029 (offset 116) (type integer) (bits 21)
-Member: 030 (offset 120) (type integer) (bits 21)
-Member: 031 (offset 124) (type integer) (bits 21)
-Member: 032 (offset 128) (type integer) (bits 21)
-Member: 033 (offset 132) (type integer) (bits 21)
-Member: 034 (offset 136) (type integer) (bits 21)
-Member: 035 (offset 140) (type integer) (bits 21)
-Member: 036 (offset 144) (type integer) (bits 21)
-Member: 037 (offset 148) (type integer) (bits 21)
-Member: 038 (offset 152) (type integer) (bits 21)
-Member: 039 (offset 156) (type integer) (bits 21)
-Member: 040 (offset 160) (type integer) (bits 21)
-Member: 041 (offset 164) (type integer) (bits 21)
-Member: 042 (offset 168) (type integer) (bits 21)
-Member: 043 (offset 172) (type integer) (bits 21)
-Member: 044 (offset 176) (type integer) (bits 21)
-Member: 045 (offset 180) (type integer) (bits 21)
-Member: 046 (offset 184) (type integer) (bits 21)
-Member: 047 (offset 188) (type integer) (bits 21)
-Member: m_hActiveWeapon (offset 1924) (type integer) (bits 21)
Sub-Class Table (3 Deep): DT_PlayerState
-Member: deadflag (offset 4) (type integer) (bits 1)
-Member: m_hVehicle (offset 2532) (type integer) (bits 21)
-Member: m_hUseEntity (offset 2516) (type integer) (bits 21)
-Member: m_iHealth (offset 156) (type integer) (bits 10)
-Member: m_iMaxHealth (offset 152) (type integer) (bits 10)
-Member: m_iArmor (offset 164) (type integer) (bits 10)
-Member: m_iMaxArmor (offset 168) (type integer) (bits 10)
-Member: m_lifeState (offset 160) (type integer) (bits 3)
-Member: m_flMaxspeed (offset 3196) (type float) (bits 12)
-Member: m_fFlags (offset 200) (type integer) (bits 9)
-Member: m_iObserverMode (offset 2576) (type integer) (bits 3)
-Member: m_hObserverTarget (offset 2592) (type integer) (bits 21)
-Member: m_iFOV (offset 2580) (type integer) (bits 8)
-Member: m_iDefaultFOV (offset 2584) (type integer) (bits 8)
-Member: m_hViewModel (offset 3116) (type integer) (bits 21)
-Member: m_hViewModel (offset 0) (type array) (bits 0)
-Member: m_szLastPlaceName (offset 3424) (type string) (bits 0)
Sub-Class Table (3 Deep): DT_LocalPlayerExclusive
Sub-Class Table (4 Deep): DT_Local
Sub-Class Table (5 Deep): m_chAreaBits
-Member: 000 (offset 0) (type integer) (bits 8)
-Member: 001 (offset 1) (type integer) (bits 8)
-Member: 002 (offset 2) (type integer) (bits 8)
-Member: 003 (offset 3) (type integer) (bits 8)
-Member: 004 (offset 4) (type integer) (bits 8)
-Member: 005 (offset 5) (type integer) (bits 8)
-Member: 006 (offset 6) (type integer) (bits 8)
-Member: 007 (offset 7) (type integer) (bits 8)
-Member: 008 (offset 8) (type integer) (bits 8)
-Member: 009 (offset 9) (type integer) (bits 8)
-Member: 010 (offset 10) (type integer) (bits 8)
-Member: 011 (offset 11) (type integer) (bits 8)
-Member: 012 (offset 12) (type integer) (bits 8)
-Member: 013 (offset 13) (type integer) (bits 8)
-Member: 014 (offset 14) (type integer) (bits 8)
-Member: 015 (offset 15) (type integer) (bits 8)
-Member: 016 (offset 16) (type integer) (bits 8)
-Member: 017 (offset 17) (type integer) (bits 8)
-Member: 018 (offset 18) (type integer) (bits 8)
-Member: 019 (offset 19) (type integer) (bits 8)
-Member: 020 (offset 20) (type integer) (bits 8)
-Member: 021 (offset 21) (type integer) (bits 8)
-Member: 022 (offset 22) (type integer) (bits 8)
-Member: 023 (offset 23) (type integer) (bits 8)
-Member: 024 (offset 24) (type integer) (bits 8)
-Member: 025 (offset 25) (type integer) (bits 8)
-Member: 026 (offset 26) (type integer) (bits 8)
-Member: 027 (offset 27) (type integer) (bits 8)
-Member: 028 (offset 28) (type integer) (bits 8)
-Member: 029 (offset 29) (type integer) (bits 8)
-Member: 030 (offset 30) (type integer) (bits 8)
-Member: 031 (offset 31) (type integer) (bits 8)
Sub-Class Table (5 Deep): m_chAreaPortalBits
-Member: 000 (offset 0) (type integer) (bits 8)
-Member: 001 (offset 1) (type integer) (bits 8)
-Member: 002 (offset 2) (type integer) (bits 8)
-Member: 003 (offset 3) (type integer) (bits 8)
-Member: 004 (offset 4) (type integer) (bits 8)
-Member: 005 (offset 5) (type integer) (bits 8)
-Member: 006 (offset 6) (type integer) (bits 8)
-Member: 007 (offset 7) (type integer) (bits 8)
-Member: 008 (offset 8) (type integer) (bits 8)
-Member: 009 (offset 9) (type integer) (bits 8)
-Member: 010 (offset 10) (type integer) (bits 8)
-Member: 011 (offset 11) (type integer) (bits 8)
-Member: 012 (offset 12) (type integer) (bits 8)
-Member: 013 (offset 13) (type integer) (bits 8)
-Member: 014 (offset 14) (type integer) (bits 8)
-Member: 015 (offset 15) (type integer) (bits 8)
-Member: 016 (offset 16) (type integer) (bits 8)
-Member: 017 (offset 17) (type integer) (bits 8)
-Member: 018 (offset 18) (type integer) (bits 8)
-Member: 019 (offset 19) (type integer) (bits 8)
-Member: 020 (offset 20) (type integer) (bits 8)
-Member: 021 (offset 21) (type integer) (bits 8)
-Member: 022 (offset 22) (type integer) (bits 8)
-Member: 023 (offset 23) (type integer) (bits 8)
-Member: m_iHideHUD (offset 60) (type integer) (bits 11)
-Member: m_flFOVRate (offset 64) (type float) (bits 0)
-Member: m_bDucked (offset 80) (type integer) (bits 1)
-Member: m_bDucking (offset 81) (type integer) (bits 1)
-Member: m_bInDuckJump (offset 82) (type integer) (bits 1)
-Member: m_flDucktime (offset 84) (type float) (bits 12)
-Member: m_flDuckJumpTime (offset 88) (type float) (bits 12)
-Member: m_flJumpTime (offset 92) (type float) (bits 12)
-Member: m_flFallVelocity (offset 100) (type float) (bits 17)
-Member: m_vecPunchAngle (offset 112) (type vector) (bits 0)
-Member: m_vecPunchAngleVel (offset 124) (type vector) (bits 0)
-Member: m_bDrawViewmodel (offset 136) (type integer) (bits 1)
-Member: m_bWearingSuit (offset 137) (type integer) (bits 1)
-Member: m_bPoisoned (offset 138) (type integer) (bits 1)
-Member: m_flStepSize (offset 140) (type float) (bits 16)
-Member: m_bAllowAutoMovement (offset 144) (type integer) (bits 1)
-Member: m_skybox3d.scale (offset 152) (type integer) (bits 12)
-Member: m_skybox3d.origin (offset 156) (type vector) (bits 0)
-Member: m_skybox3d.area (offset 168) (type integer) (bits 8)
-Member: m_skybox3d.fog.enable (offset 176) (type integer) (bits 1)
-Member: m_skybox3d.fog.blend (offset 177) (type integer) (bits 1)
-Member: m_skybox3d.fog.dirPrimary (offset 180) (type vector) (bits 0)
-Member: m_skybox3d.fog.colorPrimary (offset 192) (type integer) (bits 32)
-Member: m_skybox3d.fog.colorSecondary (offset 196) (type integer) (bits 32)
-Member: m_skybox3d.fog.start (offset 200) (type float) (bits 0)
-Member: m_skybox3d.fog.end (offset 204) (type float) (bits 0)
-Member: m_fog.enable (offset 240) (type integer) (bits 1)
-Member: m_fog.blend (offset 241) (type integer) (bits 1)
-Member: m_fog.dirPrimary (offset 244) (type vector) (bits 0)
-Member: m_fog.colorPrimary (offset 256) (type integer) (bits 32)
-Member: m_fog.colorSecondary (offset 260) (type integer) (bits 32)
-Member: m_fog.start (offset 264) (type float) (bits 0)
-Member: m_fog.end (offset 268) (type float) (bits 0)
-Member: m_fog.farz (offset 272) (type float) (bits 0)
-Member: m_fog.colorPrimaryLerpTo (offset 276) (type integer) (bits 32)
-Member: m_fog.colorSecondaryLerpTo (offset 280) (type integer) (bits 32)
-Member: m_fog.startLerpTo (offset 284) (type float) (bits 0)
-Member: m_fog.endLerpTo (offset 288) (type float) (bits 0)
-Member: m_fog.lerptime (offset 292) (type float) (bits 0)
-Member: m_fog.duration (offset 296) (type float) (bits 0)
-Member: m_audio.localSound[0] (offset 304) (type vector) (bits 0)
-Member: m_audio.localSound[1] (offset 316) (type vector) (bits 0)
-Member: m_audio.localSound[2] (offset 328) (type vector) (bits 0)
-Member: m_audio.localSound[3] (offset 340) (type vector) (bits 0)
-Member: m_audio.localSound[4] (offset 352) (type vector) (bits 0)
-Member: m_audio.localSound[5] (offset 364) (type vector) (bits 0)
-Member: m_audio.localSound[6] (offset 376) (type vector) (bits 0)
-Member: m_audio.localSound[7] (offset 388) (type vector) (bits 0)
-Member: m_audio.soundscapeIndex (offset 400) (type integer) (bits 17)
-Member: m_audio.localBits (offset 404) (type integer) (bits 8)
-Member: m_audio.ent (offset 408) (type integer) (bits 21)
-Member: m_vecViewOffset[0] (offset 852) (type float) (bits 8)
-Member: m_vecViewOffset[1] (offset 856) (type float) (bits 8)
-Member: m_vecViewOffset[2] (offset 860) (type float) (bits 10)
-Member: m_flFriction (offset 664) (type float) (bits 8)
Sub-Class Table (4 Deep): m_iAmmo
-Member: 000 (offset 0) (type integer) (bits 10)
-Member: 001 (offset 4) (type integer) (bits 10)
-Member: 002 (offset 8) (type integer) (bits 10)
-Member: 003 (offset 12) (type integer) (bits 10)
-Member: 004 (offset 16) (type integer) (bits 10)
-Member: 005 (offset 20) (type integer) (bits 10)
-Member: 006 (offset 24) (type integer) (bits 10)
-Member: 007 (offset 28) (type integer) (bits 10)
-Member: 008 (offset 32) (type integer) (bits 10)
-Member: 009 (offset 36) (type integer) (bits 10)
-Member: 010 (offset 40) (type integer) (bits 10)
-Member: 011 (offset 44) (type integer) (bits 10)
-Member: 012 (offset 48) (type integer) (bits 10)
-Member: 013 (offset 52) (type integer) (bits 10)
-Member: 014 (offset 56) (type integer) (bits 10)
-Member: 015 (offset 60) (type integer) (bits 10)
-Member: 016 (offset 64) (type integer) (bits 10)
-Member: 017 (offset 68) (type integer) (bits 10)
-Member: 018 (offset 72) (type integer) (bits 10)
-Member: 019 (offset 76) (type integer) (bits 10)
-Member: 020 (offset 80) (type integer) (bits 10)
-Member: 021 (offset 84) (type integer) (bits 10)
-Member: 022 (offset 88) (type integer) (bits 10)
-Member: 023 (offset 92) (type integer) (bits 10)
-Member: 024 (offset 96) (type integer) (bits 10)
-Member: 025 (offset 100) (type integer) (bits 10)
-Member: 026 (offset 104) (type integer) (bits 10)
-Member: 027 (offset 108) (type integer) (bits 10)
-Member: 028 (offset 112) (type integer) (bits 10)
-Member: 029 (offset 116) (type integer) (bits 10)
-Member: 030 (offset 120) (type integer) (bits 10)
-Member: 031 (offset 124) (type integer) (bits 10)
-Member: m_fOnTarget (offset 2436) (type integer) (bits 2)
-Member: m_nTickBase (offset 3280) (type integer) (bits 32)
-Member: m_nNextThinkTick (offset 124) (type integer) (bits 32)
-Member: m_hLastWeapon (offset 3292) (type integer) (bits 21)
-Member: m_hGroundEntity (offset 560) (type integer) (bits 21)
-Member: m_vecVelocity[0] (offset 700) (type float) (bits 20)
-Member: m_vecVelocity[1] (offset 704) (type float) (bits 20)
-Member: m_vecVelocity[2] (offset 708) (type float) (bits 16)
-Member: m_vecBaseVelocity (offset 572) (type vector) (bits 20)
-Member: m_hConstraintEntity (offset 3332) (type integer) (bits 21)
-Member: m_vecConstraintCenter (offset 3336) (type vector) (bits 0)
-Member: m_flConstraintRadius (offset 3348) (type float) (bits 0)
-Member: m_flConstraintWidth (offset 3352) (type float) (bits 0)
-Member: m_flConstraintSpeedFactor (offset 3356) (type float) (bits 0)
-Member: m_flDeathTime (offset 2572) (type float) (bits 0)
-Member: m_nWaterLevel (offset 555) (type integer) (bits 2)
-Member: m_flLaggedMovementValue (offset 3392) (type float) (bits 0)
-Member: m_flPoseParameter (offset 0) (type integer) (bits 0)
-Member: m_flPlaybackRate (offset 0) (type integer) (bits 0)
-Member: m_nSequence (offset 0) (type integer) (bits 0)
-Member: m_angRotation (offset 0) (type integer) (bits 0)
-Member: overlay_vars (offset 0) (type integer) (bits 0)
-Member: m_flCycle (offset 0) (type integer) (bits 0)
-Member: m_flAnimTime (offset 0) (type integer) (bits 0)
-Member: m_vecOrigin (offset 0) (type integer) (bits 0)
Sub-Class Table (2 Deep): DT_FFLocalPlayerExclusive
-Member: m_vecOrigin (offset 824) (type vector) (bits 0)
-Member: m_iShotsFired (offset 3552) (type integer) (bits 8)
-Member: m_hDispenser (offset 3600) (type integer) (bits 21)
-Member: m_hSentryGun (offset 3604) (type integer) (bits 21)
-Member: m_hDetpack (offset 3608) (type integer) (bits 21)
-Member: m_hManCannon (offset 3612) (type integer) (bits 21)
-Member: m_bBuilding (offset 3616) (type integer) (bits 8)
-Member: m_iCurBuild (offset 3620) (type integer) (bits 32)
-Member: m_flArmorType (offset 3572) (type float) (bits 0)
-Member: m_fRandomPC (offset 3580) (type integer) (bits 1)
-Member: m_iSkiState (offset 3592) (type integer) (bits 32)
-Member: m_iGrenadeState (offset 4708) (type integer) (bits 2)
-Member: m_iPrimary (offset 4716) (type integer) (bits 4)
-Member: m_iSecondary (offset 4720) (type integer) (bits 4)
-Member: m_flServerPrimeTime (offset 4712) (type float) (bits 0)
-Member: m_hNextMapGuide (offset 6688) (type integer) (bits 21)
-Member: m_hLastMapGuide (offset 6692) (type integer) (bits 21)
-Member: m_flNextMapGuideTime (offset 6696) (type float) (bits 0)
-Member: m_flConcTime (offset 6704) (type float) (bits 0)
-Member: m_flSpeedModifier (offset 6900) (type float) (bits 0)
-Member: m_iSpyDisguising (offset 6304) (type integer) (bits 4)
-Member: m_hRadioTagData (offset 6368) (type integer) (bits 21)
-Member: m_bCloakable (offset 6684) (type integer) (bits 1)
-Member: m_bDisguisable (offset 6844) (type integer) (bits 1)
-Member: m_vecInfoIntermission (offset 6960) (type vector) (bits 13)
Sub-Class Table (2 Deep): DT_NonLocalOrigin
-Member: m_vecOrigin (offset 824) (type vector) (bits 0)
-Member: m_angEyeAngles[0] (offset 3540) (type float) (bits 11)
-Member: m_angEyeAngles[1] (offset 3544) (type float) (bits 11)
-Member: m_hRagdoll (offset 3556) (type integer) (bits 21)
-Member: m_iClassStatus (offset 6708) (type integer) (bits 32)
-Member: m_iSpyDisguise (offset 6848) (type integer) (bits 32)
-Member: m_iSpawnInterpCounter (offset 6852) (type integer) (bits 4)
-Member: m_iSaveMe (offset 6856) (type integer) (bits 1)
-Member: m_iEngyMe (offset 6864) (type integer) (bits 1)
-Member: m_bInfected (offset 6292) (type integer) (bits 1)
-Member: m_bImmune (offset 6296) (type integer) (bits 1)
-Member: m_iCloaked (offset 6680) (type integer) (bits 1)
-Member: m_iActiveSabotages (offset 6300) (type integer) (bits 2)