AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting (https://forums.alliedmods.net/forumdisplay.php?f=107)
-   -   [CS:GO] Damage being done to weapon_shield (https://forums.alliedmods.net/showthread.php?t=317258)

ImACow 07-05-2019 04:57

[CS:GO] Damage being done to weapon_shield
 
Hi!

I'm trying to detect damage being done to a "weapon_shield"

Entity Output is not triggering.

PHP Code:

public void OnEntityCreated(int entity, const char[] classname)
{
    if(
StrEqual(classname"weapon_shield"))
    {
        
HookSingleEntityOutput(entity"OnHealthChanged"OnShieldHit);
        
HookSingleEntityOutput(entity"OnBreak"OnShieldHit);
        
HookSingleEntityOutput(entity"OnTakeDamage"OnShieldHit);
    }


PHP Code:

public void OnShieldHit(const char[] outputint callerint activatorfloat delay)
{
    
char cTempName[128];
    if(
IsValidEntity(caller))
    {
        
GetEntPropString(callerProp_Data"m_iName"cTempNamesizeof(cTempName));  
    }
    
PrintToConsoleAll("[OnShieldHit] (%i) [%s] -> %s || Caller[%i] Activator[%i]"callercTempNameoutputcalleractivator);


Probably because the entity has no outputs


This is the netprop dump of the shield

HTML Code:

CWeaponShield (type DT_WeaponShield)
 Table: baseclass (offset 0) (type DT_WeaponCSBaseGun)
  Table: baseclass (offset 0) (type DT_WeaponCSBase)
  Table: baseclass (offset 0) (type DT_BaseCombatWeapon)
    Table: baseclass (offset 0) (type DT_EconEntity)
    Table: baseclass (offset 0) (type DT_BaseFlex)
      Table: baseclass (offset 0) (type DT_BaseAnimatingOverlay)
      Table: baseclass (offset 0) (type DT_BaseAnimating)
        Table: baseclass (offset 0) (type DT_BaseEntity)
        Table: AnimTimeMustBeFirst (offset 0) (type DT_AnimTimeMustBeFirst)
          Member: m_flAnimTime (offset 112) (type integer) (bits 8) (Unsigned|ChangesOften)
        Member: m_flSimulationTime (offset 116) (type integer) (bits 8) (Unsigned|ChangesOften)
        Member: m_cellbits (offset 736) (type integer) (bits 5) (Unsigned)
        Member: m_cellX (offset 740) (type integer) (bits 10) (Unsigned)
        Member: m_cellY (offset 744) (type integer) (bits 10) (Unsigned)
        Member: m_cellZ (offset 748) (type integer) (bits 10) (Unsigned)
        Member: m_vecOrigin (offset 752) (type vector) (bits 5) (ChangesOften)
        Member: m_nModelIndex (offset 206) (type integer) (bits 13) ()
        Table: m_Collision (offset 252) (type DT_CollisionProperty)
          Member: m_vecMins (offset 8) (type vector) (bits 0) (NoScale)
          Member: m_vecMaxs (offset 20) (type vector) (bits 0) (NoScale)
          Member: m_nSolidType (offset 34) (type integer) (bits 3) (Unsigned)
          Member: m_usSolidFlags (offset 32) (type integer) (bits 12) (Unsigned)
          Member: m_nSurroundType (offset 42) (type integer) (bits 3) (Unsigned)
          Member: m_triggerBloat (offset 35) (type integer) (bits 8) (Unsigned)
          Member: m_vecSpecifiedSurroundingMins (offset 44) (type vector) (bits 0) (NoScale)
          Member: m_vecSpecifiedSurroundingMaxs (offset 56) (type vector) (bits 0) (NoScale)
        Member: m_nRenderFX (offset 204) (type integer) (bits 8) (Unsigned)
        Member: m_nRenderMode (offset 205) (type integer) (bits 8) (Unsigned)
        Member: m_fEffects (offset 176) (type integer) (bits 15) (Unsigned)
        Member: m_clrRender (offset 208) (type integer) (bits 32) (Unsigned)
        Member: m_iTeamNum (offset 808) (type integer) (bits 6) ()
        Member: m_iPendingTeamNum (offset 812) (type integer) (bits 6) ()
        Member: m_CollisionGroup (offset 348) (type integer) (bits 5) (Unsigned)
        Member: m_flElasticity (offset 464) (type float) (bits 0) (Coord|NoScale)
        Member: m_flShadowCastDistance (offset 848) (type float) (bits 12) (Unsigned)
        Member: m_hOwnerEntity (offset 344) (type integer) (bits 21) (Unsigned|NoScale)
        Member: m_hEffectEntity (offset 832) (type integer) (bits 21) (Unsigned|NoScale)
        Member: moveparent (offset 240) (type integer) (bits 21) (Unsigned|NoScale)
        Member: m_iParentAttachment (offset 237) (type integer) (bits 6) (Unsigned)
        Member: m_iName (offset 228) (type string) (bits 0) ()
        Member: movetype (offset 238) (type integer) (bits 4) (Unsigned)
        Member: movecollide (offset 239) (type integer) (bits 3) (Unsigned)
        Member: m_angRotation (offset 764) (type vector) (bits 13) (RoundDown|ChangesOften)
        Member: m_iTextureFrameIndex (offset 524) (type integer) (bits 8) (Unsigned)
        Member: m_bSimulatedEveryTick (offset 525) (type integer) (bits 1) (Unsigned)
        Member: m_bAnimatedEveryTick (offset 526) (type integer) (bits 1) (Unsigned)
        Member: m_bAlternateSorting (offset 527) (type integer) (bits 1) (Unsigned)
        Member: m_bSpotted (offset 920) (type integer) (bits 1) (Unsigned)
        Table: m_bSpottedByMask (offset 924) (type m_bSpottedByMask)
          Member: 000 (offset 0) (type integer) (bits 32) (Unsigned)
          Member: 001 (offset 4) (type integer) (bits 32) (Unsigned)
        Member: m_bIsAutoaimTarget (offset 184) (type integer) (bits 1) (Unsigned)
        Member: m_fadeMinDist (offset 836) (type float) (bits 0) (NoScale)
        Member: m_fadeMaxDist (offset 840) (type float) (bits 0) (NoScale)
        Member: m_flFadeScale (offset 844) (type float) (bits 0) (NoScale)
        Member: m_nMinCPULevel (offset 528) (type integer) (bits 3) (Unsigned)
        Member: m_nMaxCPULevel (offset 529) (type integer) (bits 3) (Unsigned)
        Member: m_nMinGPULevel (offset 530) (type integer) (bits 3) (Unsigned)
        Member: m_nMaxGPULevel (offset 531) (type integer) (bits 3) (Unsigned)
        Member: m_flUseLookAtAngle (offset 4) (type float) (bits 0) (NoScale)
        Member: m_flLastMadeNoiseTime (offset 200) (type float) (bits 0) (NoScale)
        Member: m_flMaxFallVelocity (offset 828) (type float) (bits 0) (NoScale)
        Member: m_bEligibleForScreenHighlight (offset 532) (type integer) (bits 1) (Unsigned)
        Member: m_nForceBone (offset 948) (type integer) (bits 8) ()
        Member: m_vecForce (offset 952) (type vector) (bits 0) (NoScale)
        Member: m_nSkin (offset 964) (type integer) (bits 10) ()
        Member: m_nBody (offset 968) (type integer) (bits 32) ()
        Member: m_nHitboxSet (offset 972) (type integer) (bits 2) (Unsigned)
        Member: m_flModelScale (offset 976) (type float) (bits 0) (NoScale)
        Table: m_flPoseParameter (offset 1044) (type 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 1040) (type integer) (bits 12) (Unsigned)
        Member: m_flPlaybackRate (offset 980) (type float) (bits 8) (RoundUp)
        Table: m_flEncodedController (offset 1140) (type m_flEncodedController)
        Member: 000 (offset 0) (type float) (bits 11) (RoundDown)
        Member: 001 (offset 4) (type float) (bits 11) (RoundDown)
        Member: 002 (offset 8) (type float) (bits 11) (RoundDown)
        Member: 003 (offset 12) (type float) (bits 11) (RoundDown)
        Member: m_bClientSideAnimation (offset 1156) (type integer) (bits 1) (Unsigned)
        Member: m_bClientSideFrameReset (offset 1157) (type integer) (bits 1) (Unsigned)
        Member: m_bClientSideRagdoll (offset 604) (type integer) (bits 1) (Unsigned)
        Member: m_nNewSequenceParity (offset 1160) (type integer) (bits 3) (Unsigned)
        Member: m_nResetEventsParity (offset 1164) (type integer) (bits 3) (Unsigned)
        Member: m_nMuzzleFlashParity (offset 1169) (type integer) (bits 2) (Unsigned)
        Member: m_hLightingOrigin (offset 1172) (type integer) (bits 21) (Unsigned|NoScale)
        Table: serveranimdata (offset 0) (type DT_ServerAnimationData)
        Member: m_flCycle (offset 1036) (type float) (bits 15) (RoundDown|ChangesOften)
        Member: m_flFrozen (offset 1196) (type float) (bits 0) (NoScale)
        Member: m_ScaleType (offset 996) (type integer) (bits 32) ()
        Member: m_bSuppressAnimSounds (offset 1168) (type integer) (bits 1) (Unsigned)
        Member: m_nHighlightColorR (offset 984) (type integer) (bits 8) (Unsigned)
        Member: m_nHighlightColorG (offset 988) (type integer) (bits 8) (Unsigned)
        Member: m_nHighlightColorB (offset 992) (type integer) (bits 8) (Unsigned)
      Table: overlay_vars (offset 0) (type DT_OverlayVars)
        Table: m_AnimOverlay (offset 0) (type _ST_m_AnimOverlay_15)
        Table: lengthproxy (offset 0) (type _LPT_m_AnimOverlay_15)
          Member: lengthprop15 (offset 0) (type integer) (bits 4) (Unsigned)
        Table: 000 (offset 0) (type DT_Animationlayer)
          Member: m_nSequence (offset 8) (type integer) (bits 12) (Unsigned)
          Member: m_flCycle (offset 12) (type float) (bits 15) (RoundDown)
          Member: m_flPlaybackRate (offset 16) (type float) (bits 0) (NoScale)
          Member: m_flPrevCycle (offset 20) (type float) (bits 15) (RoundDown)
          Member: m_flWeight (offset 24) (type float) (bits 8) ()
          Member: m_flWeightDeltaRate (offset 28) (type float) (bits 0) (NoScale)
          Member: m_nOrder (offset 76) (type integer) (bits 4) (Unsigned)
        Table: 001 (offset 0) (type DT_Animationlayer)
          Member: m_nSequence (offset 8) (type integer) (bits 12) (Unsigned)
          Member: m_flCycle (offset 12) (type float) (bits 15) (RoundDown)
          Member: m_flPlaybackRate (offset 16) (type float) (bits 0) (NoScale)
          Member: m_flPrevCycle (offset 20) (type float) (bits 15) (RoundDown)
          Member: m_flWeight (offset 24) (type float) (bits 8) ()
          Member: m_flWeightDeltaRate (offset 28) (type float) (bits 0) (NoScale)
          Member: m_nOrder (offset 76) (type integer) (bits 4) (Unsigned)
        Table: 002 (offset 0) (type DT_Animationlayer)
          Member: m_nSequence (offset 8) (type integer) (bits 12) (Unsigned)
          Member: m_flCycle (offset 12) (type float) (bits 15) (RoundDown)
          Member: m_flPlaybackRate (offset 16) (type float) (bits 0) (NoScale)
          Member: m_flPrevCycle (offset 20) (type float) (bits 15) (RoundDown)
          Member: m_flWeight (offset 24) (type float) (bits 8) ()
          Member: m_flWeightDeltaRate (offset 28) (type float) (bits 0) (NoScale)
          Member: m_nOrder (offset 76) (type integer) (bits 4) (Unsigned)
        Table: 003 (offset 0) (type DT_Animationlayer)
          Member: m_nSequence (offset 8) (type integer) (bits 12) (Unsigned)
          Member: m_flCycle (offset 12) (type float) (bits 15) (RoundDown)
          Member: m_flPlaybackRate (offset 16) (type float) (bits 0) (NoScale)
          Member: m_flPrevCycle (offset 20) (type float) (bits 15) (RoundDown)
          Member: m_flWeight (offset 24) (type float) (bits 8) ()
          Member: m_flWeightDeltaRate (offset 28) (type float) (bits 0) (NoScale)
          Member: m_nOrder (offset 76) (type integer) (bits 4) (Unsigned)
        Table: 004 (offset 0) (type DT_Animationlayer)
          Member: m_nSequence (offset 8) (type integer) (bits 12) (Unsigned)
          Member: m_flCycle (offset 12) (type float) (bits 15) (RoundDown)
          Member: m_flPlaybackRate (offset 16) (type float) (bits 0) (NoScale)
          Member: m_flPrevCycle (offset 20) (type float) (bits 15) (RoundDown)
          Member: m_flWeight (offset 24) (type float) (bits 8) ()
          Member: m_flWeightDeltaRate (offset 28) (type float) (bits 0) (NoScale)
          Member: m_nOrder (offset 76) (type integer) (bits 4) (Unsigned)
        Table: 005 (offset 0) (type DT_Animationlayer)
          Member: m_nSequence (offset 8) (type integer) (bits 12) (Unsigned)
          Member: m_flCycle (offset 12) (type float) (bits 15) (RoundDown)
          Member: m_flPlaybackRate (offset 16) (type float) (bits 0) (NoScale)
          Member: m_flPrevCycle (offset 20) (type float) (bits 15) (RoundDown)
          Member: m_flWeight (offset 24) (type float) (bits 8) ()
          Member: m_flWeightDeltaRate (offset 28) (type float) (bits 0) (NoScale)
          Member: m_nOrder (offset 76) (type integer) (bits 4) (Unsigned)
        Table: 006 (offset 0) (type DT_Animationlayer)
          Member: m_nSequence (offset 8) (type integer) (bits 12) (Unsigned)
          Member: m_flCycle (offset 12) (type float) (bits 15) (RoundDown)
          Member: m_flPlaybackRate (offset 16) (type float) (bits 0) (NoScale)
          Member: m_flPrevCycle (offset 20) (type float) (bits 15) (RoundDown)
          Member: m_flWeight (offset 24) (type float) (bits 8) ()
          Member: m_flWeightDeltaRate (offset 28) (type float) (bits 0) (NoScale)
          Member: m_nOrder (offset 76) (type integer) (bits 4) (Unsigned)
        Table: 007 (offset 0) (type DT_Animationlayer)
          Member: m_nSequence (offset 8) (type integer) (bits 12) (Unsigned)
          Member: m_flCycle (offset 12) (type float) (bits 15) (RoundDown)
          Member: m_flPlaybackRate (offset 16) (type float) (bits 0) (NoScale)
          Member: m_flPrevCycle (offset 20) (type float) (bits 15) (RoundDown)
          Member: m_flWeight (offset 24) (type float) (bits 8) ()
          Member: m_flWeightDeltaRate (offset 28) (type float) (bits 0) (NoScale)
          Member: m_nOrder (offset 76) (type integer) (bits 4) (Unsigned)
        Table: 008 (offset 0) (type DT_Animationlayer)
          Member: m_nSequence (offset 8) (type integer) (bits 12) (Unsigned)
          Member: m_flCycle (offset 12) (type float) (bits 15) (RoundDown)
          Member: m_flPlaybackRate (offset 16) (type float) (bits 0) (NoScale)
          Member: m_flPrevCycle (offset 20) (type float) (bits 15) (RoundDown)
          Member: m_flWeight (offset 24) (type float) (bits 8) ()
          Member: m_flWeightDeltaRate (offset 28) (type float) (bits 0) (NoScale)
          Member: m_nOrder (offset 76) (type integer) (bits 4) (Unsigned)
        Table: 009 (offset 0) (type DT_Animationlayer)
          Member: m_nSequence (offset 8) (type integer) (bits 12) (Unsigned)
          Member: m_flCycle (offset 12) (type float) (bits 15) (RoundDown)
          Member: m_flPlaybackRate (offset 16) (type float) (bits 0) (NoScale)
          Member: m_flPrevCycle (offset 20) (type float) (bits 15) (RoundDown)
          Member: m_flWeight (offset 24) (type float) (bits 8) ()
          Member: m_flWeightDeltaRate (offset 28) (type float) (bits 0) (NoScale)
          Member: m_nOrder (offset 76) (type integer) (bits 4) (Unsigned)
        Table: 010 (offset 0) (type DT_Animationlayer)
          Member: m_nSequence (offset 8) (type integer) (bits 12) (Unsigned)
          Member: m_flCycle (offset 12) (type float) (bits 15) (RoundDown)
          Member: m_flPlaybackRate (offset 16) (type float) (bits 0) (NoScale)
          Member: m_flPrevCycle (offset 20) (type float) (bits 15) (RoundDown)
          Member: m_flWeight (offset 24) (type float) (bits 8) ()
          Member: m_flWeightDeltaRate (offset 28) (type float) (bits 0) (NoScale)
          Member: m_nOrder (offset 76) (type integer) (bits 4) (Unsigned)
        Table: 011 (offset 0) (type DT_Animationlayer)
          Member: m_nSequence (offset 8) (type integer) (bits 12) (Unsigned)
          Member: m_flCycle (offset 12) (type float) (bits 15) (RoundDown)
          Member: m_flPlaybackRate (offset 16) (type float) (bits 0) (NoScale)
          Member: m_flPrevCycle (offset 20) (type float) (bits 15) (RoundDown)
          Member: m_flWeight (offset 24) (type float) (bits 8) ()
          Member: m_flWeightDeltaRate (offset 28) (type float) (bits 0) (NoScale)
          Member: m_nOrder (offset 76) (type integer) (bits 4) (Unsigned)
        Table: 012 (offset 0) (type DT_Animationlayer)
          Member: m_nSequence (offset 8) (type integer) (bits 12) (Unsigned)
          Member: m_flCycle (offset 12) (type float) (bits 15) (RoundDown)
          Member: m_flPlaybackRate (offset 16) (type float) (bits 0) (NoScale)
          Member: m_flPrevCycle (offset 20) (type float) (bits 15) (RoundDown)
          Member: m_flWeight (offset 24) (type float) (bits 8) ()
          Member: m_flWeightDeltaRate (offset 28) (type float) (bits 0) (NoScale)
          Member: m_nOrder (offset 76) (type integer) (bits 4) (Unsigned)
        Table: 013 (offset 0) (type DT_Animationlayer)
          Member: m_nSequence (offset 8) (type integer) (bits 12) (Unsigned)
          Member: m_flCycle (offset 12) (type float) (bits 15) (RoundDown)
          Member: m_flPlaybackRate (offset 16) (type float) (bits 0) (NoScale)
          Member: m_flPrevCycle (offset 20) (type float) (bits 15) (RoundDown)
          Member: m_flWeight (offset 24) (type float) (bits 8) ()
          Member: m_flWeightDeltaRate (offset 28) (type float) (bits 0) (NoScale)
          Member: m_nOrder (offset 76) (type integer) (bits 4) (Unsigned)
        Table: 014 (offset 0) (type DT_Animationlayer)
          Member: m_nSequence (offset 8) (type integer) (bits 12) (Unsigned)
          Member: m_flCycle (offset 12) (type float) (bits 15) (RoundDown)
          Member: m_flPlaybackRate (offset 16) (type float) (bits 0) (NoScale)
          Member: m_flPrevCycle (offset 20) (type float) (bits 15) (RoundDown)
          Member: m_flWeight (offset 24) (type float) (bits 8) ()
          Member: m_flWeightDeltaRate (offset 28) (type float) (bits 0) (NoScale)
          Member: m_nOrder (offset 76) (type integer) (bits 4) (Unsigned)
      Table: m_flexWeight (offset 1280) (type m_flexWeight)
      Member: 000 (offset 0) (type float) (bits 12) (RoundDown)
      Member: 001 (offset 4) (type float) (bits 12) (RoundDown)
      Member: 002 (offset 8) (type float) (bits 12) (RoundDown)
      Member: 003 (offset 12) (type float) (bits 12) (RoundDown)
      Member: 004 (offset 16) (type float) (bits 12) (RoundDown)
      Member: 005 (offset 20) (type float) (bits 12) (RoundDown)
      Member: 006 (offset 24) (type float) (bits 12) (RoundDown)
      Member: 007 (offset 28) (type float) (bits 12) (RoundDown)
      Member: 008 (offset 32) (type float) (bits 12) (RoundDown)
      Member: 009 (offset 36) (type float) (bits 12) (RoundDown)
      Member: 010 (offset 40) (type float) (bits 12) (RoundDown)
      Member: 011 (offset 44) (type float) (bits 12) (RoundDown)
      Member: 012 (offset 48) (type float) (bits 12) (RoundDown)
      Member: 013 (offset 52) (type float) (bits 12) (RoundDown)
      Member: 014 (offset 56) (type float) (bits 12) (RoundDown)
      Member: 015 (offset 60) (type float) (bits 12) (RoundDown)
      Member: 016 (offset 64) (type float) (bits 12) (RoundDown)
      Member: 017 (offset 68) (type float) (bits 12) (RoundDown)
      Member: 018 (offset 72) (type float) (bits 12) (RoundDown)
      Member: 019 (offset 76) (type float) (bits 12) (RoundDown)
      Member: 020 (offset 80) (type float) (bits 12) (RoundDown)
      Member: 021 (offset 84) (type float) (bits 12) (RoundDown)
      Member: 022 (offset 88) (type float) (bits 12) (RoundDown)
      Member: 023 (offset 92) (type float) (bits 12) (RoundDown)
      Member: 024 (offset 96) (type float) (bits 12) (RoundDown)
      Member: 025 (offset 100) (type float) (bits 12) (RoundDown)
      Member: 026 (offset 104) (type float) (bits 12) (RoundDown)
      Member: 027 (offset 108) (type float) (bits 12) (RoundDown)
      Member: 028 (offset 112) (type float) (bits 12) (RoundDown)
      Member: 029 (offset 116) (type float) (bits 12) (RoundDown)
      Member: 030 (offset 120) (type float) (bits 12) (RoundDown)
      Member: 031 (offset 124) (type float) (bits 12) (RoundDown)
      Member: 032 (offset 128) (type float) (bits 12) (RoundDown)
      Member: 033 (offset 132) (type float) (bits 12) (RoundDown)
      Member: 034 (offset 136) (type float) (bits 12) (RoundDown)
      Member: 035 (offset 140) (type float) (bits 12) (RoundDown)
      Member: 036 (offset 144) (type float) (bits 12) (RoundDown)
      Member: 037 (offset 148) (type float) (bits 12) (RoundDown)
      Member: 038 (offset 152) (type float) (bits 12) (RoundDown)
      Member: 039 (offset 156) (type float) (bits 12) (RoundDown)
      Member: 040 (offset 160) (type float) (bits 12) (RoundDown)
      Member: 041 (offset 164) (type float) (bits 12) (RoundDown)
      Member: 042 (offset 168) (type float) (bits 12) (RoundDown)
      Member: 043 (offset 172) (type float) (bits 12) (RoundDown)
      Member: 044 (offset 176) (type float) (bits 12) (RoundDown)
      Member: 045 (offset 180) (type float) (bits 12) (RoundDown)
      Member: 046 (offset 184) (type float) (bits 12) (RoundDown)
      Member: 047 (offset 188) (type float) (bits 12) (RoundDown)
      Member: 048 (offset 192) (type float) (bits 12) (RoundDown)
      Member: 049 (offset 196) (type float) (bits 12) (RoundDown)
      Member: 050 (offset 200) (type float) (bits 12) (RoundDown)
      Member: 051 (offset 204) (type float) (bits 12) (RoundDown)
      Member: 052 (offset 208) (type float) (bits 12) (RoundDown)
      Member: 053 (offset 212) (type float) (bits 12) (RoundDown)
      Member: 054 (offset 216) (type float) (bits 12) (RoundDown)
      Member: 055 (offset 220) (type float) (bits 12) (RoundDown)
      Member: 056 (offset 224) (type float) (bits 12) (RoundDown)
      Member: 057 (offset 228) (type float) (bits 12) (RoundDown)
      Member: 058 (offset 232) (type float) (bits 12) (RoundDown)
      Member: 059 (offset 236) (type float) (bits 12) (RoundDown)
      Member: 060 (offset 240) (type float) (bits 12) (RoundDown)
      Member: 061 (offset 244) (type float) (bits 12) (RoundDown)
      Member: 062 (offset 248) (type float) (bits 12) (RoundDown)
      Member: 063 (offset 252) (type float) (bits 12) (RoundDown)
      Member: 064 (offset 256) (type float) (bits 12) (RoundDown)
      Member: 065 (offset 260) (type float) (bits 12) (RoundDown)
      Member: 066 (offset 264) (type float) (bits 12) (RoundDown)
      Member: 067 (offset 268) (type float) (bits 12) (RoundDown)
      Member: 068 (offset 272) (type float) (bits 12) (RoundDown)
      Member: 069 (offset 276) (type float) (bits 12) (RoundDown)
      Member: 070 (offset 280) (type float) (bits 12) (RoundDown)
      Member: 071 (offset 284) (type float) (bits 12) (RoundDown)
      Member: 072 (offset 288) (type float) (bits 12) (RoundDown)
      Member: 073 (offset 292) (type float) (bits 12) (RoundDown)
      Member: 074 (offset 296) (type float) (bits 12) (RoundDown)
      Member: 075 (offset 300) (type float) (bits 12) (RoundDown)
      Member: 076 (offset 304) (type float) (bits 12) (RoundDown)
      Member: 077 (offset 308) (type float) (bits 12) (RoundDown)
      Member: 078 (offset 312) (type float) (bits 12) (RoundDown)
      Member: 079 (offset 316) (type float) (bits 12) (RoundDown)
      Member: 080 (offset 320) (type float) (bits 12) (RoundDown)
      Member: 081 (offset 324) (type float) (bits 12) (RoundDown)
      Member: 082 (offset 328) (type float) (bits 12) (RoundDown)
      Member: 083 (offset 332) (type float) (bits 12) (RoundDown)
      Member: 084 (offset 336) (type float) (bits 12) (RoundDown)
      Member: 085 (offset 340) (type float) (bits 12) (RoundDown)
      Member: 086 (offset 344) (type float) (bits 12) (RoundDown)
      Member: 087 (offset 348) (type float) (bits 12) (RoundDown)
      Member: 088 (offset 352) (type float) (bits 12) (RoundDown)
      Member: 089 (offset 356) (type float) (bits 12) (RoundDown)
      Member: 090 (offset 360) (type float) (bits 12) (RoundDown)
      Member: 091 (offset 364) (type float) (bits 12) (RoundDown)
      Member: 092 (offset 368) (type float) (bits 12) (RoundDown)
      Member: 093 (offset 372) (type float) (bits 12) (RoundDown)
      Member: 094 (offset 376) (type float) (bits 12) (RoundDown)
      Member: 095 (offset 380) (type float) (bits 12) (RoundDown)
      Member: m_blinktoggle (offset 1676) (type integer) (bits 1) (Unsigned)
      Member: m_viewtarget (offset 1664) (type vector) (bits 0) (Coord)
    Table: m_AttributeManager (offset 1764) (type DT_AttributeContainer)
      Member: m_hOuter (offset 28) (type integer) (bits 21) (Unsigned|NoScale)
      Member: m_ProviderType (offset 36) (type integer) (bits 4) (Unsigned)
      Member: m_iReapplyProvisionParity (offset 24) (type integer) (bits 6) (Unsigned)
      Table: m_Item (offset 60) (type DT_ScriptCreatedItem)
      Member: m_iItemDefinitionIndex (offset 84) (type integer) (bits 20) (Unsigned)
      Member: m_iEntityLevel (offset 92) (type integer) (bits 8) ()
      Member: m_iItemIDHigh (offset 104) (type integer) (bits 32) (Unsigned)
      Member: m_iItemIDLow (offset 108) (type integer) (bits 32) (Unsigned)
      Member: m_iAccountID (offset 112) (type integer) (bits 32) (Unsigned)
      Member: m_iEntityQuality (offset 88) (type integer) (bits 5) ()
      Member: m_bInitialized (offset 124) (type integer) (bits 1) (Unsigned)
      Member: m_szCustomName (offset 184) (type string) (bits 0) ()
      Table: m_NetworkedDynamicAttributesForDemos (offset 156) (type DT_AttributeList)
        Table: m_Attributes (offset 0) (type _ST_m_Attributes_32)
        Table: lengthproxy (offset 0) (type _LPT_m_Attributes_32)
          Member: lengthprop32 (offset 0) (type integer) (bits 6) (Unsigned)
        Table: 000 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 001 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 002 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 003 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 004 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 005 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 006 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 007 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 008 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 009 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 010 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 011 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 012 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 013 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 014 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 015 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 016 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 017 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 018 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 019 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 020 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 021 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 022 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 023 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 024 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 025 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 026 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 027 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 028 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 029 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 030 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
        Table: 031 (offset 0) (type DT_ScriptCreatedAttribute)
          Member: m_iAttributeDefinitionIndex (offset 4) (type integer) (bits 16) (Unsigned)
          Member: m_iRawValue32 (offset 8) (type integer) (bits 32) (Unsigned)
          Member: m_iRawInitialValue32 (offset 12) (type integer) (bits 32) (Unsigned)
          Member: m_nRefundableCurrency (offset 16) (type integer) (bits 32) (Unsigned)
          Member: m_bSetBonus (offset 20) (type integer) (bits 1) (Unsigned)
    Member: m_OriginalOwnerXuidLow (offset 2336) (type integer) (bits 32) ()
    Member: m_OriginalOwnerXuidHigh (offset 2340) (type integer) (bits 32) ()
    Member: m_nFallbackPaintKit (offset 2344) (type integer) (bits 16) (Unsigned)
    Member: m_nFallbackSeed (offset 2348) (type integer) (bits 10) (Unsigned)
    Member: m_flFallbackWear (offset 2352) (type float) (bits 0) (NoScale)
    Member: m_nFallbackStatTrak (offset 2356) (type integer) (bits 20) ()
    Table: LocalWeaponData (offset 0) (type DT_LocalWeaponData)
    Member: m_iPrimaryAmmoType (offset 2412) (type integer) (bits 8) ()
    Member: m_iSecondaryAmmoType (offset 2416) (type integer) (bits 8) ()
    Member: m_nViewModelIndex (offset 2372) (type integer) (bits 2) (Unsigned)
    Member: m_bFlipViewModel (offset 2528) (type integer) (bits 8) ()
    Member: m_iWeaponOrigin (offset 2532) (type integer) (bits 32) ()
    Member: m_iWeaponModule (offset 2396) (type integer) (bits 8) ()
    Table: LocalActiveWeaponData (offset 0) (type DT_LocalActiveWeaponData)
    Member: m_flNextPrimaryAttack (offset 2376) (type float) (bits 0) (NoScale)
    Member: m_flNextSecondaryAttack (offset 2380) (type float) (bits 0) (NoScale)
    Member: m_nNextThinkTick (offset 172) (type integer) (bits 32) ()
    Member: m_flTimeWeaponIdle (offset 2448) (type float) (bits 0) (NoScale)
    Member: m_iViewModelIndex (offset 2384) (type integer) (bits 13) ()
    Member: m_iWorldModelIndex (offset 2388) (type integer) (bits 13) ()
    Member: m_iWorldDroppedModelIndex (offset 2392) (type integer) (bits 13) ()
    Member: m_iState (offset 2408) (type integer) (bits 2) (Unsigned)
    Member: m_hOwner (offset 2368) (type integer) (bits 21) (Unsigned|NoScale)
    Member: m_iClip1 (offset 2420) (type integer) (bits 8) (Unsigned)
    Member: m_iClip2 (offset 2424) (type integer) (bits 8) (Unsigned)
    Member: m_iPrimaryReserveAmmoCount (offset 2428) (type integer) (bits 10) ()
    Member: m_iSecondaryReserveAmmoCount (offset 2432) (type integer) (bits 10) ()
    Member: m_hWeaponWorldModel (offset 2404) (type integer) (bits 21) (Unsigned|NoScale)
    Member: m_iNumEmptyAttacks (offset 2400) (type integer) (bits 8) ()
  Member: m_weaponMode (offset 2668) (type integer) (bits 1) (Unsigned)
  Member: m_fAccuracyPenalty (offset 2692) (type float) (bits 0) (NoScale|ChangesOften)
  Member: m_fLastShotTime (offset 2792) (type float) (bits 0) (NoScale)
  Member: m_flRecoilIndex (offset 2708) (type float) (bits 0) (NoScale)
  Member: m_flAnimTime (offset 0) (type integer) (bits 0) (Exclude)
  Member: m_nSequence (offset 0) (type integer) (bits 0) (Exclude)
  Member: m_hPrevOwner (offset 2756) (type integer) (bits 21) (Unsigned|NoScale)
  Member: m_bBurstMode (offset 2712) (type integer) (bits 1) (Unsigned)
  Member: m_flPostponeFireReadyTime (offset 2716) (type float) (bits 0) (NoScale)
  Member: m_bReloadVisuallyComplete (offset 2720) (type integer) (bits 1) (Unsigned)
  Member: m_bSilencerOn (offset 2721) (type integer) (bits 1) (Unsigned)
  Member: m_flDoneSwitchingSilencer (offset 2724) (type float) (bits 0) (NoScale)
  Member: m_iOriginalTeamNumber (offset 2732) (type integer) (bits 32) ()
  Member: m_iIronSightMode (offset 2808) (type integer) (bits 2) (Unsigned)
  Member: m_zoomLevel (offset 2820) (type integer) (bits 2) (Unsigned)
  Member: m_iBurstShotsRemaining (offset 2824) (type integer) (bits 32) ()

Preferably I would like to hook into an event.

As a last resort I can always start ray-tracing and such, but it feels a tad dirty.

How could I achieve this?
Looking forward towards feedback!

Ilusion9 07-06-2019 08:58

Re: [CS:GO] Damage being done to weapon_shield
 
try

PHP Code:


SDKHook_OnTakeDamage
(entity, function);

function 
Action function(int victimint &attackerint &inflictorfloat &damageint &damagetype);
{




backwards 07-06-2019 09:15

Re: [CS:GO] Damage being done to weapon_shield
 
I never spent enough time to figure out a proper way. This is the last I worked on this.

PHP Code:

#include <sourcemod>
#include <sdktools>
#include <sdkhooks>

public Plugin:myinfo =
{
    
name "BuyShield",
    
author "backwards",
    
description "Allows players to buy shields by typing !buyshield.",
    
version "1.3",
    
url "http://www.steamcommunity.com/id/mypassword"
}

new 
ShieldCost 5000
new bool:RequireBuyZone true;
new 
bool:ResetShieldHealthPerRound true;
new 
bool:PunishTeammatesAttackingShield true;
new 
bool:RegiveNewShieldsOnSpawnToPreventEquipBug true;

Handle BuyStartRoundTimer;

#define MAX_SHIELDS_ALLOWED 128
#define ShieldsGodModeHealth -999999.0

new Shields[MAX_SHIELDS_ALLOWED];
new 
Float:ShieldsDamage[MAX_SHIELDS_ALLOWED];
new 
Float:ShieldsDamageOld[MAX_SHIELDS_ALLOWED] = {ShieldsGodModeHealth, ...};

public 
OnPluginStart()
{
    
RegConsoleCmd("sm_buyshield"BuyShieldCMD);
    
    
HookEvent("round_prestart"Event_RoundPreStart);
    
HookEvent("weapon_fire"Event_WeaponFire);
    
    
ClearAllShieldSlots();
}

/////////////////////////////////////////////////////////
/////Credits to SztangaBiceps for DealDamage function.///
/////////////////////////////////////////////////////////

void DealDamage(nClientVictimnDamagenClientAttacker 0nDamageType 0String:sWeapon[] = "")
{
    if(
nClientVictim && IsValidEdict(nClientVictim) && IsClientInGame(nClientVictim) && IsPlayerAlive(nClientVictim) && nDamage 0)
    {
        new 
EntityPointHurt CreateEntityByName("point_hurt");
        if(
EntityPointHurt != 0)
        {
            new 
String:sDamage[16];
            
IntToString(nDamagesDamagesizeof(sDamage));
            new 
String:sDamageType[32];
            
IntToString(nDamageTypesDamageTypesizeof(sDamageType));
            
            
DispatchKeyValue(nClientVictim"targetname""hurtme");
            
DispatchKeyValue(EntityPointHurt"DamageTarget""hurtme");
            
DispatchKeyValue(EntityPointHurt"Damage"sDamage);
            
DispatchKeyValue(EntityPointHurt"DamageType"sDamageType);
            
            if(!
StrEqual(sWeapon""))
                
DispatchKeyValue(EntityPointHurt"classname"sWeapon);
                
            
DispatchSpawn(EntityPointHurt);
            
AcceptEntityInput(EntityPointHurt"Hurt", (nClientAttacker != 0) ? nClientAttacker : -1);
            
DispatchKeyValue(EntityPointHurt"classname""point_hurt");
            
DispatchKeyValue(nClientVictim"targetname""donthurtme");
            
RemoveEdict(EntityPointHurt);
        }
    }
}

public 
Event_WeaponFire(Handle:event, const String:name[], bool:dontBroadcast)
{
    new 
Shooter GetClientOfUserId(GetEventInt(event"userid"));
    
    for(
int i 0;i<MAX_SHIELDS_ALLOWED;i++)
    {
        if(
Shields[i] != -&& GetShieldHealth(Shields[i]) > ShieldsDamageOld[i])
        {
            new 
Float:diff FloatAbs(GetShieldHealth(Shields[i])) - FloatAbs(ShieldsDamageOld[i]);
            
ShieldsDamageOld[i] = GetShieldHealth(Shields[i]);
            
            if(
GetClientTeam(Shooter) == GetClientTeam(GetShieldOwner(Shields[i])))
            {
                
PrintToChat(Shooter"You can't damage your teammates shield.");
                if(
PunishTeammatesAttackingShield)
                    
DealDamage(Shooter10Shooter0"weapon_shield");
                    
                continue;
            }
            else
            {
                
ShieldsDamage[i] += FloatAbs(diff);
            }
            
            if(
ShieldsDamage[i] >= GetShieldMaxAllowedHealth())
            {
                
BreakShield(Shields[i]);
                
FindAndRemoveFromShieldSlot(Shields[i]);
            }
        }
    }
}

int GetShieldMaxAllowedHealth()
{
    return 
FindConVar("sv_shield_hitpoints").IntValue;
}

float GetShieldMaxAllowedHealthf()
{
    return 
float(FindConVar("sv_shield_hitpoints").IntValue);
}

float GetShieldHealth(ent)
{
    return 
GetEntDataFloat(ent2832);
}

int GetShieldOwner(ent)
{
    return 
GetEntPropEnt(entProp_Data"m_hOwner");
}

void MakeShieldUnBreakable(ent)
{
    
SetEntDataFloat(ent2832ShieldsGodModeHealthtrue);
}

void BreakShield(ent)
{
    
SetEntDataFloat(ent2832GetShieldMaxAllowedHealthf(), true);
}

void GivePlayersNewShields()
{
    for(
int i 0;i<MAX_SHIELDS_ALLOWED;i++)
    {
        if(
Shields[i] != -1)
        {
            new 
client GetShieldOwner(Shields[i]);
            if(
client == -1)
                continue;
            
            if(!
IsValidEntity(Shields[i]))
                continue;
            
            
RemovePlayerItem(clientShields[i]);
            
RemoveEdict(Shields[i]);
            
            new 
Shield GivePlayerItem(client"weapon_shield");
            
Shields[i] = Shield;
        }
    }
}

void ResetAllShieldsHealth()
{
    for(
int i 0;i<MAX_SHIELDS_ALLOWED;i++)
    {
        if(
Shields[i] != -1)
        {
            
ShieldsDamage[i] = 0.0;
            
ShieldsDamageOld[i] = ShieldsGodModeHealth;
        }
    }
}

void ClearAllShieldSlotsWithNoOwner()
{
    for(
int i 0;i<MAX_SHIELDS_ALLOWED;i++)
    {
        if(
Shields[i] != -1)
        {
            if(
GetShieldOwner(Shields[i]) != -1)
                continue;
                
            
Shields[i] = -1;
            
ShieldsDamage[i] = 0.0;
            
ShieldsDamageOld[i] = ShieldsGodModeHealth;
        }
    }
}

void ClearAllShieldSlots()
{
    for(
int i 0;i<MAX_SHIELDS_ALLOWED;i++)
    {
        
Shields[i] = -1;
        
ShieldsDamage[i] = 0.0;
        
ShieldsDamageOld[i] = ShieldsGodModeHealth;
    }
}

void FindAndRemoveFromShieldSlot(entity)
{
    for(
int i 0;i<MAX_SHIELDS_ALLOWED;i++)
    {
        if(
Shields[i] == entity)
        {
            
Shields[i] = -1;
            
ShieldsDamage[i] = 0.0;
            
ShieldsDamageOld[i] = ShieldsGodModeHealth;
            return;
        }
    }
}

void FindAndInsertIntoShieldSlot(entity)
{
    for(
int i 0;i<MAX_SHIELDS_ALLOWED;i++)
    {
        if(
Shields[i] == -1)
        {
            
Shields[i] = entity;
            
ShieldsDamage[i] = 0.0;
            
ShieldsDamageOld[i] = ShieldsGodModeHealth;
            return;
        }
    }
}

public 
Action BuyShieldCMD(int clientint args
{
    if(
RequireBuyZone)
    {
        new 
bool:InBuyZone view_as<bool>(GetEntProp(clientProp_Send"m_bInBuyZone"));
        if(!
InBuyZone)
        {
            
PrintToChat(client"Sorry You're Not In a Buy Zone.");
            return 
Plugin_Handled;
        }
        if (
BuyStartRoundTimer == null)
        {
            
PrintToChat(client"The Buy Time Has Expired For This Round.")
            return 
Plugin_Handled;
        }
    }
    
    new 
account GetEntProp(clientProp_Send"m_iAccount");
    if(
account ShieldCost)
    {
        
PrintToChat(client"Sorry you don't have $%i to buy the shield."ShieldCost);
        return 
Plugin_Handled;
    }
    
    new 
weaponIdx GetPlayerWeaponSlot(client11);
    if(
weaponIdx != -1)
    {
        if(
IsValidEdict(weaponIdx) && IsValidEntity(weaponIdx))
        {
            
decl String:className[128];
            
GetEntityClassname(weaponIdxclassNamesizeof(className));
            
            if(
StrEqual("weapon_shield"className))
            {
                
PrintToChat(client"You are already carrying a shield.");
                return 
Plugin_Handled;
            }
        }
    }
    
    
SetEntProp(clientProp_Send"m_iAccount"account ShieldCost);
    new 
Shield GivePlayerItem(client"weapon_shield");
    
PrintToChat(client"You've bought a shield.");
    
    
FindAndInsertIntoShieldSlot(Shield);
    
MakeShieldUnBreakable(Shield);
    
    new 
Address:ShieldAddress GetEntityAddress(Shield);
    
PrintToChat(client"Address = 0x%X offset = 0x%X"ShieldAddressShieldAddress Address:0xB10);
    
//SDKHook(Shield, SDKHook_OnTakeDamage, OnTakeDamage); 
    //SDKHook(Shield, SDKHook_TraceAttackPost, Event_TrackAttack); 
    
    
return Plugin_Handled;
}

public 
Action:Event_TrackAttack(victim, &attacker, &inflictor, &Float:damage, &damagetype, &ammotypehitboxhitgroup
{
    
PrintToChatAll("%i %i TraceAttack"attackerinflictor); 
}

public 
Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype

    
PrintToChat(attacker"leave this alone");
    
damage 0.0
    return 
Plugin_Changed
}  

public 
Event_RoundPreStart(Handle:event, const String:name[], bool:dontBroadcast)
{
    new 
Float:BuyTime 45.0;
    
ConVar cvarBuyTime FindConVar("mp_buytime");
    
    if(
cvarBuyTime != null)
        
BuyTime float(cvarBuyTime.IntValue);
        
    if (
BuyStartRoundTimer != null)
    {
        
KillTimer(BuyStartRoundTimer);
        
BuyStartRoundTimer null;
    }
    
    
BuyStartRoundTimer CreateTimer(BuyTimeStopBuying);
    
    
ClearAllShieldSlotsWithNoOwner();
    if(
ResetShieldHealthPerRound)
        
ResetAllShieldsHealth();
        
    if(
RegiveNewShieldsOnSpawnToPreventEquipBug)
        
GivePlayersNewShields();
}

public 
Action StopBuying(Handle timerany client)
{
    
BuyStartRoundTimer null;
    
    return 
Plugin_Stop;


(The above code isn't working 100% correctly and has debug messages present)

The concept is to track all shield entitys that are created. Everytime a player shoots (you would hook pre and post) and check if any of the shield entitys have taken more damage. You make the shield have a really high "damage to break" value by setting it to start with -999999. Then if the last person to shoot was a teammate with the owner of the shield it wouldn't count. You manually add up non teammate's causing damage this way until sv_shield_hitpoints is reached. Then you force the damage to the value of sv_shield_hitpoints to break the shield like normal. This method should work pretty well as i couldn't get any of the entity hooks on damage to work. The Event_WeaponFire I use in this example is 1 bullet too late.

kratoss1812 07-07-2019 07:08

Re: [CS:GO] Damage being done to weapon_shield
 
PHP Code:

#include <sourcemod>
#include <sdkhooks>


public void OnClientPutInServer(int Client)
{
    
SDKHookEx(ClientSDKHook_OnTakeDamageOnTakeDamage);
}

public 
Action OnTakeDamage(int victimint &attackerint &inflictorfloat &damageint &damagetype)
{
    
/*
    *
    * Check if the victim has shield equiped
    *
    */
    
    
int weapon GetEntPropEnt(victimProp_Data"m_hActiveWeapon");
    
char classname[64];
    
GetEdictClassname(weaponclassnamesizeof(classname));
    
    if (
strcmp(classname"weapon_shield") == 0)
    {
        
PrintToChatAll("Damage with shield: %f"damage);
    }

    return 
Plugin_Continue;


Not the best option but you can test with it.

Ilusion9 07-07-2019 09:01

Re: [CS:GO] Damage being done to weapon_shield
 
Quote:

Originally Posted by kratoss1812 (Post 2658075)
[PHP]
Not the best option but you can test with it.

the client doesnt take damage when the shield takes, so this function will not be called.

iGANGNAM 07-07-2019 09:31

Re: [CS:GO] Damage being done to weapon_shield
 
how about using kratoss1812 method, just hooking the shield as entity? :)

Ilusion9 07-07-2019 11:01

Re: [CS:GO] Damage being done to weapon_shield
 
Quote:

Originally Posted by iGANGNAM (Post 2658093)
how about using kratoss1812 method, just hooking the shield as entity? :)

thats my method and I don't know if its working, maybe ontakedamage is based on outputs.
i checked for events and no one is triggered on shield hurt.

valve always lazy to make things right.

eyal282 07-09-2019 01:32

Re: [CS:GO] Damage being done to weapon_shield
 
SDKHook_TraceAttack on the shield entity?

Note that I think TraceAttack's damage ignores anything that modifies damage ( armour that the shield doesn't have and distance )

Check my UsefulCommands plugin to figure out how to find a weapon's rangemodifier.

ImACow 12-12-2019 12:43

Re: [CS:GO] Damage being done to weapon_shield
 
I'm trying to raytrace towards a shield, but its not hitting as an entity?

Any weapon on the back of a player is not getting traced, what am I missing here?

PHP Code:

HookEvent("weapon_fire"OnWeaponFire);

public 
Action OnWeaponFire(Event event, const char[] namebool dontBroadcast)
{
    
int client GetClientOfUserId(event.GetInt("userid"));
    
float vecAngles[3];
    
float vecOrigin[3];
    
GetClientEyePosition(clientvecOrigin);
    
GetClientEyeAngles(clientvecAngles);
    
TR_EnumerateEntities(vecOriginvecAnglesfalseRayType_InfiniteTraceEntityEnumerator_ShieldGetClientSerial(client));
}

public 
bool TraceEntityEnumerator_Shield(int entityany data)
{
    
int client GetClientFromSerial(view_as<int>(data));
    if(!
IsValidClient(client))
        return 
true;
    if(
client == entity)
        return 
true;
    
char cTemp[64];
    if(!
GetEntityClassname(entitycTempsizeof(cTemp)))
        return 
true;
    
PrintToConsole(client"TraceEntityFilter_Shield ------------> %s was hit by %N"cTempclient);
    return 
true;


How can you trace items on the back of a player? is this even possible?

foxhound27 12-16-2019 21:08

Re: [CS:GO] Damage being done to weapon_shield
 
1 Attachment(s)
test


All times are GMT -4. The time now is 16:33.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.