Raised This Month: $51 Target: $400
 12% 

[CS:GO] Damage being done to weapon_shield


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
ImACow
AlliedModders Donor
Join Date: Feb 2015
Old 07-05-2019 , 04:57   [CS:GO] Damage being done to weapon_shield
Reply With Quote #1

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!
__________________
ImACow is offline
Ilusion9
Veteran Member
Join Date: Jun 2018
Location: Romania
Old 07-06-2019 , 08:58   Re: [CS:GO] Damage being done to weapon_shield
Reply With Quote #2

try

PHP Code:

SDKHook_OnTakeDamage
(entity, function);

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


__________________
Ilusion9 is offline
backwards
AlliedModders Donor
Join Date: Feb 2014
Location: USA
Old 07-06-2019 , 09:15   Re: [CS:GO] Damage being done to weapon_shield
Reply With Quote #3

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.
__________________
I highly recommend joining the SourceMod Discord Server for real time support.
backwards is offline
kratoss1812
Senior Member
Join Date: May 2018
Location: România
Old 07-07-2019 , 07:08   Re: [CS:GO] Damage being done to weapon_shield
Reply With Quote #4

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.
__________________
kratoss1812 is offline
Ilusion9
Veteran Member
Join Date: Jun 2018
Location: Romania
Old 07-07-2019 , 09:01   Re: [CS:GO] Damage being done to weapon_shield
Reply With Quote #5

Quote:
Originally Posted by kratoss1812 View Post
[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.
__________________
Ilusion9 is offline
iGANGNAM
AlliedModders Donor
Join Date: Sep 2012
Location: Lithuania
Old 07-07-2019 , 09:31   Re: [CS:GO] Damage being done to weapon_shield
Reply With Quote #6

how about using kratoss1812 method, just hooking the shield as entity?
__________________
iGANGNAM is offline
Ilusion9
Veteran Member
Join Date: Jun 2018
Location: Romania
Old 07-07-2019 , 11:01   Re: [CS:GO] Damage being done to weapon_shield
Reply With Quote #7

Quote:
Originally Posted by iGANGNAM View Post
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.
__________________
Ilusion9 is offline
eyal282
Veteran Member
Join Date: Aug 2011
Old 07-09-2019 , 01:32   Re: [CS:GO] Damage being done to weapon_shield
Reply With Quote #8

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.
__________________
I am available to make plugins for pay.

Discord: Eyal282#1334

Last edited by eyal282; 07-09-2019 at 01:34.
eyal282 is offline
ImACow
AlliedModders Donor
Join Date: Feb 2015
Old 12-12-2019 , 12:43   Re: [CS:GO] Damage being done to weapon_shield
Reply With Quote #9

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?
__________________
ImACow is offline
foxhound27
AlliedModders Donor
Join Date: Sep 2019
Location: Argentina
Old 12-16-2019 , 21:08   Re: [CS:GO] Damage being done to weapon_shield
Reply With Quote #10

test
Attached Files
File Type: sp Get Plugin or Get Source (shielddamage.sp - 216 views - 1.2 KB)
foxhound27 is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 07:53.


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