Guest User

Untitled

a guest
Oct 29th, 2017
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 25.42 KB | None | 0 0
  1. #pragma once
  2.  
  3. #include "MiscDefinitions.h"
  4. #include "ClientRecvProps.h"
  5. #include "offsets.h"
  6. #include "Vector.h"
  7.  
  8. #define TEAM_CS_T 2
  9. #define TEAM_CS_CT 3
  10.  
  11. #define BONE_USED_BY_HITBOX 0x00000100
  12.  
  13. #define ptr( x, x1, x2 ) *(x*)( (DWORD)x1 + (DWORD)x2 )
  14.  
  15. class IClientRenderable;
  16. class IClientNetworkable;
  17. class IClientUnknown;
  18. class IClientThinkable;
  19. class IClientEntity;
  20. class CSWeaponInfo;
  21.  
  22. class CSWeaponInfo
  23. {
  24. public:
  25. void* pVTable;
  26. char* pWeaponnamefordropinconsolepName; //0x0008
  27. __int32 _pad0[3];
  28. __int32 iMaxClip1; //0x0014
  29. __int32 iMaxClip2; //0x0018
  30. __int32 iDefaultClip1; //0x001C
  31. __int32 iDefaultClip2; //0x0020
  32. char _0x0024[8];
  33. char* pWorldModel; //0x002C
  34. char* pViewModel; //0x0030
  35. char* pDroppedWorldModel; //0x0034
  36. char _0x0038[80];
  37. char* pAnimationPrefix; //0x0088
  38. char* pPrintName2; //0x008C
  39. char _0x0090[56];
  40. __int32 iWeaponType; //0x00C8
  41. __int32 iWeaponPrice; //0x00CC
  42. __int32 iKillAward; //0x00D0
  43. char* pPrintname; //0x00D4
  44. char _0x00D8[16];
  45. BYTE bFullAuto; //0x00E8
  46. char _0x00E9[3];
  47. __int32 m_iDamage; //0x00EC
  48. float m_flArmorRatio; //0x00F0
  49. char _0x00F4[4];
  50. float m_flPenetration; //0x00F8
  51. char _0x00FC[8];
  52. float m_flRange; //0x0104
  53. float m_flRangeModifier; //0x0108
  54. char _0x010C[28];
  55. __int32 iTeamNum; //0x0128
  56. float flMaxSpeed; //0x012C
  57. float flMaxSpeed2; //0x0130
  58. char _0x0134[136];
  59. __int32 iZoomLevels; //0x01BC
  60. __int32 iZoomFOV[2]; //0x01C0
  61. float flZoomTime[3]; //0x01C8
  62. char _0x01D4[52];
  63. char* pZoomInSound; //0x0208
  64. char* pZoomOutSound; //0x020C
  65. char _0x0210[24];
  66. BYTE bHasBurstmode; //0x0228
  67. BYTE bIsRevolver; //0x0229
  68. char _0x022A[22];
  69. };//Size=0x240
  70.  
  71. enum class CSGOClassID
  72. {
  73. CAK47 = 1,
  74. CBaseAnimating = 2,
  75. CBaseAnimatingOverlay = 3,
  76. CBaseAttributableItem = 4,
  77. CBaseButton = 5,
  78. CBaseCombatCharacter = 6,
  79. CBaseCombatWeapon = 7,
  80. CBaseCSGrenade = 8,
  81. CBaseCSGrenadeProjectile = 9,
  82. CBaseDoor = 10,
  83. CBaseEntity = 11,
  84. CBaseFlex = 12,
  85. CBaseGrenade = 13,
  86. CBaseParticleEntity = 14,
  87. CBasePlayer = 15,
  88. CBasePropDoor = 16,
  89. CBaseTeamObjectiveResource = 17,
  90. CBaseTempEntity = 18,
  91. CBaseToggle = 19,
  92. CBaseTrigger = 20,
  93. CBaseViewModel = 21,
  94. CBaseVPhysicsTrigger = 22,
  95. CBaseWeaponWorldModel = 23,
  96. CBeam = 24,
  97. CBeamSpotlight = 25,
  98. CBoneFollower = 26,
  99. CBreakableProp = 27,
  100. CBreakableSurface = 28,
  101. CC4 = 29,
  102. CCascadeLight = 30,
  103. CChicken = 31,
  104. CColorCorrection = 32,
  105. CColorCorrectionVolume = 33,
  106. CCSGameRulesProxy = 34,
  107. CCSPlayer = 35,
  108. CCSPlayerResource = 36,
  109. CCSRagdoll = 37,
  110. CCSTeam = 38,
  111. CDEagle = 39,
  112. CDecoyGrenade = 40,
  113. CDecoyProjectile = 41,
  114. CDynamicLight = 42,
  115. CDynamicProp = 43,
  116. CEconEntity = 44,
  117. CEconWearable = 45,
  118. CEmbers = 46,
  119. CEntityDissolve = 47,
  120. CEntityFlame = 48,
  121. CEntityFreezing = 49,
  122. CEntityParticleTrail = 50,
  123. CEnvAmbientLight = 51,
  124. CEnvDetailController = 52,
  125. CEnvDOFController = 53,
  126. CEnvParticleScript = 54,
  127. CEnvProjectedTexture = 55,
  128. CEnvQuadraticBeam = 56,
  129. CEnvScreenEffect = 57,
  130. CEnvScreenOverlay = 58,
  131. CEnvTonemapController = 59,
  132. CEnvWind = 60,
  133. CFEPlayerDecal = 61,
  134. CFireCrackerBlast = 62,
  135. CFireSmoke = 63,
  136. CFireTrail = 64,
  137. CFish = 65,
  138. CFlashbang = 66,
  139. CFogController = 67,
  140. CFootstepControl = 68,
  141. CFunc_Dust = 69,
  142. CFunc_LOD = 70,
  143. CFuncAreaPortalWindow = 71,
  144. CFuncBrush = 72,
  145. CFuncConveyor = 73,
  146. CFuncLadder = 74,
  147. CFuncMonitor = 75,
  148. CFuncMoveLinear = 76,
  149. CFuncOccluder = 77,
  150. CFuncReflectiveGlass = 78,
  151. CFuncRotating = 79,
  152. CFuncSmokeVolume = 80,
  153. CFuncTrackTrain = 81,
  154. CGameRulesProxy = 82,
  155. CHandleTest = 83,
  156. CHEGrenade = 84,
  157. CHostage = 85,
  158. CHostageCarriableProp = 86,
  159. CIncendiaryGrenade = 87,
  160. CInferno = 88,
  161. CInfoLadderDismount = 89,
  162. CInfoOverlayAccessor = 90,
  163. CItem_Healthshot = 91,
  164. CItemDogtags = 92,
  165. CKnife = 93,
  166. CKnifeGG = 94,
  167. CLightGlow = 95,
  168. CMaterialModifyControl = 96,
  169. CMolotovGrenade = 97,
  170. CMolotovProjectile = 98,
  171. CMovieDisplay = 99,
  172. CParticleFire = 100,
  173. CParticlePerformanceMonitor = 101,
  174. CParticleSystem = 102,
  175. CPhysBox = 103,
  176. CPhysBoxMultiplayer = 104,
  177. CPhysicsProp = 105,
  178. CPhysicsPropMultiplayer = 106,
  179. CPhysMagnet = 107,
  180. CPlantedC4 = 108,
  181. CPlasma = 109,
  182. CPlayerResource = 110,
  183. CPointCamera = 111,
  184. CPointCommentaryNode = 112,
  185. CPointWorldText = 113,
  186. CPoseController = 114,
  187. CPostProcessController = 115,
  188. CPrecipitation = 116,
  189. CPrecipitationBlocker = 117,
  190. CPredictedViewModel = 118,
  191. CProp_Hallucination = 119,
  192. CPropDoorRotating = 120,
  193. CPropJeep = 121,
  194. CPropVehicleDriveable = 122,
  195. CRagdollManager = 123,
  196. CRagdollProp = 124,
  197. CRagdollPropAttached = 125,
  198. CRopeKeyframe = 126,
  199. CSCAR17 = 127,
  200. CSceneEntity = 128,
  201. CSensorGrenade = 129,
  202. CSensorGrenadeProjectile = 130,
  203. CShadowControl = 131,
  204. CSlideshowDisplay = 132,
  205. CSmokeGrenade = 133,
  206. CSmokeGrenadeProjectile = 134,
  207. CSmokeStack = 135,
  208. CSpatialEntity = 136,
  209. CSpotlightEnd = 137,
  210. CSprite = 138,
  211. CSpriteOriented = 139,
  212. CSpriteTrail = 140,
  213. CStatueProp = 141,
  214. CSteamJet = 142,
  215. CSun = 143,
  216. CSunlightShadowControl = 144,
  217. CTeam = 145,
  218. CTeamplayRoundBasedRulesProxy = 146,
  219. CTEArmorRicochet = 147,
  220. CTEBaseBeam = 148,
  221. CTEBeamEntPoint = 149,
  222. CTEBeamEnts = 150,
  223. CTEBeamFollow = 151,
  224. CTEBeamLaser = 152,
  225. CTEBeamPoints = 153,
  226. CTEBeamRing = 154,
  227. CTEBeamRingPoint = 155,
  228. CTEBeamSpline = 156,
  229. CTEBloodSprite = 157,
  230. CTEBloodStream = 158,
  231. CTEBreakModel = 159,
  232. CTEBSPDecal = 160,
  233. CTEBubbles = 161,
  234. CTEBubbleTrail = 162,
  235. CTEClientProjectile = 163,
  236. CTEDecal = 164,
  237. CTEDust = 165,
  238. CTEDynamicLight = 166,
  239. CTEEffectDispatch = 167,
  240. CTEEnergySplash = 168,
  241. CTEExplosion = 169,
  242. CTEFireBullets = 170,
  243. CTEFizz = 171,
  244. CTEFootprintDecal = 172,
  245. CTEFoundryHelpers = 173,
  246. CTEGaussExplosion = 174,
  247. CTEGlowSprite = 175,
  248. CTEImpact = 176,
  249. CTEKillPlayerAttachments = 177,
  250. CTELargeFunnel = 178,
  251. CTEMetalSparks = 179,
  252. CTEMuzzleFlash = 180,
  253. CTEParticleSystem = 181,
  254. CTEPhysicsProp = 182,
  255. CTEPlantBomb = 183,
  256. CTEPlayerAnimEvent = 184,
  257. CTEPlayerDecal = 185,
  258. CTEProjectedDecal = 186,
  259. CTERadioIcon = 187,
  260. CTEShatterSurface = 188,
  261. CTEShowLine = 189,
  262. CTesla = 190,
  263. CTESmoke = 191,
  264. CTESparks = 192,
  265. CTESprite = 193,
  266. CTESpriteSpray = 194,
  267. CTest_ProxyToggle_Networkable = 194,
  268. CTestTraceline = 196,
  269. CTEWorldDecal = 197,
  270. CTriggerPlayerMovement = 198,
  271. CTriggerSoundOperator = 199,
  272. CVGuiScreen = 200,
  273. CVoteController = 201,
  274. CWaterBullet = 202,
  275. CWaterLODControl = 203,
  276. CWeaponAug = 204,
  277. CWeaponAWP = 205,
  278. CWeaponBaseItem = 206,
  279. CWeaponBizon = 207,
  280. CWeaponCSBase = 208,
  281. CWeaponCSBaseGun = 209,
  282. CWeaponCycler = 210,
  283. CWeaponElite = 211,
  284. CWeaponFamas = 212,
  285. CWeaponFiveSeven = 213,
  286. CWeaponG3SG1 = 214,
  287. CWeaponGalil = 215,
  288. CWeaponGalilAR = 216,
  289. CWeaponGlock = 217,
  290. CWeaponHKP2000 = 218,
  291. CWeaponM249 = 219,
  292. CWeaponM3 = 220,
  293. CWeaponM4A1 = 221,
  294. CWeaponMAC10 = 222,
  295. CWeaponMag7 = 223,
  296. CWeaponMP5Navy = 224,
  297. CWeaponMP7 = 225,
  298. CWeaponMP9 = 226,
  299. CWeaponNegev = 227,
  300. CWeaponNOVA = 228,
  301. CWeaponP228 = 229,
  302. CWeaponP250 = 230,
  303. CWeaponP90 = 231,
  304. CWeaponSawedoff = 232,
  305. CWeaponSCAR20 = 233,
  306. CWeaponScout = 234,
  307. CWeaponSG550 = 235,
  308. CWeaponSG552 = 236,
  309. CWeaponSG556 = 237,
  310. CWeaponSSG08 = 238,
  311. CWeaponTaser = 239,
  312. CWeaponTec9 = 240,
  313. CWeaponTMP = 241,
  314. CWeaponUMP45 = 242,
  315. CWeaponUSP = 243,
  316. CWeaponXM1014 = 244,
  317. CWorld = 245,
  318. DustTrail = 246,
  319. MovieExplosion = 247,
  320. ParticleSmokeGrenade = 248,
  321. RocketTrail = 249,
  322. SmokeTrail = 250,
  323. SporeExplosion = 251,
  324. SporeTrail = 252
  325. };
  326.  
  327. enum CSWeaponType
  328. {
  329. WEAPONTYPE_KNIFE = 0,
  330. WEAPONTYPE_PISTOL,
  331. WEAPONTYPE_SUBMACHINEGUN,
  332. WEAPONTYPE_RIFLE,
  333. WEAPONTYPE_SHOTGUN,
  334. WEAPONTYPE_SNIPER_RIFLE,
  335. WEAPONTYPE_MACHINEGUN,
  336. WEAPONTYPE_C4,
  337. WEAPONTYPE_GRENADE,
  338. WEAPONTYPE_UNKNOWN
  339. };
  340.  
  341. enum moveTypes
  342. {
  343. MOVETYPE_NONE = 0, // never moves
  344. MOVETYPE_ISOMETRIC, // For players -- in TF2 commander view, etc.
  345. MOVETYPE_WALK, // Player only - moving on the ground
  346. MOVETYPE_STEP, // gravity, special edge handling -- monsters use this
  347. MOVETYPE_FLY, // No gravity, but still collides with stuff
  348. MOVETYPE_FLYGRAVITY, // flies through the air + is affected by gravity
  349. MOVETYPE_VPHYSICS, // uses VPHYSICS for simulation
  350. MOVETYPE_PUSH, // no clip to world, push and crush
  351. MOVETYPE_NOCLIP, // No gravity, no collisions, still do velocity/avelocity
  352. MOVETYPE_LADDER, // Used by players only when going onto a ladder
  353. MOVETYPE_OBSERVER, // Observer movement, depends on player's observer mode
  354. MOVETYPE_CUSTOM, // Allows the entity to describe its own physics
  355. MOVETYPE_LAST = MOVETYPE_CUSTOM, // should always be defined as the last item in the list
  356. MOVETYPE_MAX_BITS = 4
  357. };
  358.  
  359. enum class CSGOHitboxID
  360. {
  361. Head = 0,
  362. Neck,
  363. NeckLower,
  364. Pelvis,
  365. Stomach,
  366. LowerChest,
  367. Chest,
  368. UpperChest,
  369. RightThigh,
  370. LeftThigh,
  371. RightShin,
  372. LeftShin,
  373. RightFoot,
  374. LeftFoot,
  375. RightHand,
  376. LeftHand,
  377. RightUpperArm,
  378. RightLowerArm,
  379. LeftUpperArm,
  380. LeftLowerArm,
  381. Max,
  382. };
  383.  
  384. enum ItemDefinitionIndex : int
  385. {
  386. WEAPON_DEAGLE = 1,
  387. WEAPON_ELITE = 2,
  388. WEAPON_FIVESEVEN = 3,
  389. WEAPON_GLOCK = 4,
  390. WEAPON_AK47 = 7,
  391. WEAPON_AUG = 8,
  392. WEAPON_AWP = 9,
  393. WEAPON_FAMAS = 10,
  394. WEAPON_G3SG1 = 11,
  395. WEAPON_GALILAR = 13,
  396. WEAPON_M249 = 14,
  397. WEAPON_M4A1 = 16,
  398. WEAPON_MAC10 = 17,
  399. WEAPON_P90 = 19,
  400. WEAPON_UMP45 = 24,
  401. WEAPON_XM1014 = 25,
  402. WEAPON_BIZON = 26,
  403. WEAPON_MAG7 = 27,
  404. WEAPON_NEGEV = 28,
  405. WEAPON_SAWEDOFF = 29,
  406. WEAPON_TEC9 = 30,
  407. WEAPON_TASER = 31,
  408. WEAPON_HKP2000 = 32,
  409. WEAPON_MP7 = 33,
  410. WEAPON_MP9 = 34,
  411. WEAPON_NOVA = 35,
  412. WEAPON_P250 = 36,
  413. WEAPON_SCAR20 = 38,
  414. WEAPON_SG556 = 39,
  415. WEAPON_SSG08 = 40,
  416. WEAPON_KNIFE_CT = 42,
  417. WEAPON_FLASHBANG = 43,
  418. WEAPON_HEGRENADE = 44,
  419. WEAPON_SMOKEGRENADE = 45,
  420. WEAPON_MOLOTOV = 46,
  421. WEAPON_DECOY = 47,
  422. WEAPON_INCGRENADE = 48,
  423. WEAPON_C4 = 49,
  424. WEAPON_KNIFE_T = 59,
  425. WEAPON_M4A1_SILENCER = 60,
  426. WEAPON_USP_SILENCER = 61,
  427. WEAPON_CZ75A = 63,
  428. WEAPON_REVOLVER = 64,
  429. WEAPON_KNIFE_BAYONET = 500,
  430. WEAPON_KNIFE_FLIP = 505,
  431. WEAPON_KNIFE_GUT = 506,
  432. WEAPON_KNIFE_KARAMBIT = 507,
  433. WEAPON_KNIFE_M9_BAYONET = 508,
  434. WEAPON_KNIFE_TACTICAL = 509,
  435. WEAPON_KNIFE_FALCHION = 512,
  436. WEAPON_KNIFE_BOWIE = 514,
  437. WEAPON_KNIFE_BUTTERFLY = 515,
  438. WEAPON_KNIFE_PUSH = 516
  439. };
  440.  
  441. class ScriptCreatedItem
  442. {
  443. public:
  444. CPNETVAR_FUNC(int*, ItemDefinitionIndex, 0xE67AB3B8); //m_iItemDefinitionIndex
  445. CPNETVAR_FUNC(int*, ItemIDHigh, 0x714778A); //m_iItemIDHigh
  446. CPNETVAR_FUNC(int*, ItemIDLow, 0x3A3DFC74); //m_iItemIDLow
  447. CPNETVAR_FUNC(int*, AccountID, 0x24abbea8); //m_iAccountID
  448. };
  449.  
  450. class AttributeContainer
  451. {
  452. public:
  453. CPNETVAR_FUNC(ScriptCreatedItem*, m_Item, 0x7E029CE5);
  454. };
  455.  
  456.  
  457. class CBaseCombatWeapon
  458. {
  459. public:
  460. CNETVAR_FUNC(float, GetNextPrimaryAttack, 0xDB7B106E); //m_flNextPrimaryAttack
  461. CNETVAR_FUNC(int, GetAmmoInClip, 0x97B6F70C); //m_iClip1
  462. CNETVAR_FUNC(HANDLE, GetOwnerHandle, 0xC32DF98D); //m_hOwner
  463. CNETVAR_FUNC(float, GetAccuracyPenalty, 0xE2958A63); //m_fAccuracyPenalty
  464. CNETVAR_FUNC(Vector, GetOrigin, 0x1231CE10); //m_vecOrigin
  465. CPNETVAR_FUNC(int*, FallbackPaintKit, 0xADE4C870); // m_nFallbackPaintKit
  466. CPNETVAR_FUNC(int*, FallbackSeed, 0xC2D0683D); // m_nFallbackSeed
  467. CPNETVAR_FUNC(float*, FallbackWear, 0xA263576C); //m_flFallbackWear
  468. CPNETVAR_FUNC(int*, FallbackStatTrak, 0x1ED78768); //m_nFallbackStatTrak
  469. CPNETVAR_FUNC(int*, OwnerXuidLow, 0xAD8D897F);
  470. CPNETVAR_FUNC(int*, OwnerXuidHigh, 0x90511E77);
  471. CPNETVAR_FUNC(int*, ViewModelIndex, 0x7F7C89C1);
  472. CPNETVAR_FUNC(int*, ModelIndex, 0x27016F83);
  473. CPNETVAR_FUNC(int*, WorldModelIndex, 0x4D8AD9F3);
  474. CPNETVAR_FUNC(char*, szCustomName, 0x0);
  475.  
  476. CPNETVAR_FUNC(AttributeContainer*, m_AttributeManager, 0xCFFCE089);
  477.  
  478. CNETVAR_FUNC(int, GetZoomLevel, 0x26553F1A);
  479.  
  480. float GetInaccuracy()
  481. {
  482. typedef float(__thiscall* oInaccuracy)(PVOID);
  483. return call_vfunc< oInaccuracy >(this, 469)(this);
  484. }
  485.  
  486. float GetSpread()
  487. { return call_vfunc<float(__thiscall*)(void*)>(this, 439)(this); }
  488.  
  489. int* GetEntityQuality()
  490. {
  491. return (int*)((DWORD)this + 0x2D70 + 0x40 + 0x1DC);
  492. }
  493.  
  494. int GetWeaponID2()
  495. {
  496. return *(int*)((DWORD)this + 0x00002F88);
  497. }
  498.  
  499. void PreDataUpdate(int updateType)
  500. {
  501. PVOID pNetworkable = (PVOID)((DWORD)(this) + 0x8);
  502. typedef void(__thiscall* OriginalFn)(PVOID, int);
  503. return call_vfunc<OriginalFn>(pNetworkable, 6)(pNetworkable, updateType);
  504. }
  505.  
  506. void SetModelIndex(int modelIndex) {
  507. typedef void(__thiscall* OriginalFn)(PVOID, int);
  508. return call_vfunc<OriginalFn>(this, 75)(this, modelIndex);
  509. }
  510.  
  511. void UpdateAccPenalty()
  512. {
  513. typedef void(__thiscall *OrigFn)(void *);
  514. return call_vfunc<OrigFn>(this, 470)(this);
  515. }
  516.  
  517. bool IsScoped(int x = 0)
  518. {
  519. return GetZoomLevel() > 0;
  520. }
  521.  
  522. CSWeaponInfo* GetCSWpnData()
  523. {
  524. if (!this)
  525. return nullptr;
  526. typedef CSWeaponInfo*(__thiscall* OriginalFn)(void*);
  527. return call_vfunc<OriginalFn >(this, 446)(this);
  528. }
  529. };
  530.  
  531. class CCSBomb
  532. {
  533. public:
  534. CNETVAR_FUNC(HANDLE, GetOwnerHandle, 0xC32DF98D); //m_hOwner 0x29BC
  535. CNETVAR_FUNC(float, GetC4BlowTime, 0xB5E0CA1C); //m_flC4Blow
  536. CNETVAR_FUNC(float, GetC4DefuseCountDown, 0x2994); //m_flDefuseCountDown 0x2994
  537. };
  538.  
  539. class CLocalPlayerExclusive
  540. {
  541. public:
  542. CNETVAR_FUNC(Vector, GetViewPunchAngle, 0x68F014C0);//m_viewPunchAngle
  543. CNETVAR_FUNC(Vector, GetAimPunchAngle, 0xBF25C290);//m_aimPunchAngle
  544. CNETVAR_FUNC(Vector, GetAimPunchAngleVel, 0x8425E045);//m_aimPunchAngleVel
  545. };
  546.  
  547. class CollisionProperty
  548. {
  549. public:
  550. CNETVAR_FUNC(Vector, GetMins, 0xF6F78BAB);//m_vecMins
  551. CNETVAR_FUNC(Vector, GetMaxs, 0xE47C6FC4);//m_vecMaxs
  552. CNETVAR_FUNC(unsigned char, GetSolidType, 0xB86722A1);//m_nSolidType
  553. CNETVAR_FUNC(unsigned short, GetSolidFlags, 0x63BB24C1);//m_usSolidFlags
  554. CNETVAR_FUNC(int, GetSurroundsType, 0xB677A0BB); //m_nSurroundType
  555.  
  556. bool IsSolid()
  557. {
  558. return (GetSolidType() != SOLID_NONE) && ((GetSolidFlags() & FSOLID_NOT_SOLID) == 0);
  559. }
  560. };
  561.  
  562. class IClientRenderable
  563. {
  564. public:
  565. //virtual void* GetIClientUnknown() = 0;
  566. virtual Vector const& GetRenderOrigin(void) = 0;
  567. virtual Vector const& GetRenderAngles(void) = 0;
  568. virtual bool ShouldDraw(void) = 0;
  569. virtual bool IsTransparent(void) = 0;
  570. virtual bool UsesPowerOfTwoFrameBufferTexture() = 0;
  571. virtual bool UsesFullFrameBufferTexture() = 0;
  572. virtual void GetShadowHandle() const = 0;
  573. virtual void* RenderHandle() = 0;
  574. virtual const model_t* GetModel() const = 0;
  575. virtual int DrawModel(int flags) = 0;
  576. virtual int GetBody() = 0;
  577. virtual void ComputeFxBlend() = 0;
  578.  
  579. bool SetupBones(matrix3x4 *pBoneToWorldOut, int nMaxBones, int boneMask, float currentTime)
  580. {
  581. typedef bool(__thiscall* oSetupBones)(PVOID, matrix3x4*, int, int, float);
  582. return call_vfunc< oSetupBones>(this, 13)(this, pBoneToWorldOut, nMaxBones, boneMask, currentTime);
  583. }
  584. };
  585.  
  586. class IClientNetworkable
  587. {
  588. public:
  589. virtual IClientUnknown* GetIClientUnknown() = 0;
  590. virtual void Release() = 0;
  591. virtual ClientClass* GetClientClass() = 0;// FOR NETVARS FIND YOURSELF ClientClass* stuffs
  592. virtual void NotifyShouldTransmit( /* ShouldTransmitState_t state*/) = 0;
  593. virtual void OnPreDataChanged( /*DataUpdateType_t updateType*/) = 0;
  594. virtual void OnDataChanged( /*DataUpdateType_t updateType*/) = 0;
  595. virtual void PreDataUpdate( /*DataUpdateType_t updateType*/) = 0;
  596. virtual void PostDataUpdate( /*DataUpdateType_t updateType*/) = 0;
  597. virtual void unknown();
  598. virtual bool IsDormant(void) = 0;
  599. virtual int GetIndex(void) const = 0;
  600. virtual void ReceiveMessage(int classID /*, bf_read &msg*/) = 0;
  601. virtual void* GetDataTableBasePtr() = 0;
  602. virtual void SetDestroyedOnRecreateEntities(void) = 0;
  603. };
  604.  
  605. class IClientUnknown
  606. {
  607. public:
  608. virtual void* GetCollideable() = 0;
  609. virtual IClientNetworkable* GetClientNetworkable() = 0;
  610. virtual IClientRenderable* GetClientRenderable() = 0;
  611. virtual IClientEntity* GetIClientEntity() = 0;
  612. virtual IClientEntity* GetBaseEntity() = 0;
  613. virtual IClientThinkable* GetClientThinkable() = 0;
  614. };
  615.  
  616. class IClientThinkable
  617. {
  618. public:
  619. virtual IClientUnknown* GetIClientUnknown() = 0;
  620. virtual void ClientThink() = 0;
  621. virtual void* GetThinkHandle() = 0;
  622. virtual void SetThinkHandle(void* hThink) = 0;
  623. virtual void Release() = 0;
  624. };
  625.  
  626. class __declspec (novtable)IClientEntity : public IClientUnknown, public IClientRenderable, public IClientNetworkable, public IClientThinkable
  627. {
  628. public:
  629. public:
  630. virtual void Release(void) = 0;
  631. virtual void blahblahpad(void) = 0;
  632. virtual Vector& GetAbsOrigin(void) const = 0;//in broken place use GetOrigin Below
  633. virtual const Vector& GetAbsAngles(void) const = 0;
  634.  
  635.  
  636. int GetGlowIndex()
  637. {
  638. return *(int*)(this + 0xA310);
  639. }
  640.  
  641. CPNETVAR_FUNC(CLocalPlayerExclusive*, localPlayerExclusive, 0x7177BC3E);// m_Local
  642. CPNETVAR_FUNC(CollisionProperty*, collisionProperty, 0xE477CBD0);//m_Collision
  643.  
  644. CNETVAR_FUNC(float, GetLowerBodyYaw, 0xE6996CCF); //m_flLowerBodyYawTarget
  645. CNETVAR_FUNC(int, GetFlags, 0xE456D580); //m_fFlags
  646. CNETVAR_FUNC(int, GetAmmoInClip, 0x97B6F70C); //m_iClip
  647. CNETVAR_FUNC(float, GetTargetYaw, 0xE6996CCF);
  648. CNETVAR_FUNC(Vector, GetOrigin, 0x1231CE10); //m_vecOrigin 0x0134
  649. CNETVAR_FUNC(Vector, GetRotation, 0x6BEA197A); //m_angRotation
  650. CNETVAR_FUNC(int, GetTeamNum, 0xC08B6C6E); //m_iTeamNum
  651. CNETVAR_FUNC(int*, GetPointerFlags, 0xE456D580); //m_fFlags
  652. CNETVAR_FUNC(HANDLE, GetOwnerHandle, 0xC32DF98D); //m_hOwner
  653. CNETVAR_FUNC(int, GetMaxHealth, 0xC52E1C28); //m_iMaxHealth
  654. CNETVAR_FUNC(int, GetHealth, 0xA93054E3); //m_iHealth
  655. CNETVAR_FUNC(bool, IsDefusing, 0xA2C14106); //m_bIsDefusing
  656. CNETVAR_FUNC(float, GetFlashDuration, 0x4B5938D5); //m_flFlashDuration
  657. CNETVAR_FUNC(float , GetFlashAlpha, 0xFE79FB98); //m_flFlashMaxAlpha
  658. CNETVAR_FUNC(unsigned char, GetLifeState, 0xD795CCFC); //m_lifeState
  659. CNETVAR_FUNC(HANDLE, GetActiveWeaponHandle, 0xB4FECDA3); //m_hActiveWeapon
  660. CNETVAR_FUNC(int, GetTickBase, 0xD472B079); //m_nTickBase
  661. CNETVAR_FUNC(Vector, GetViewOffset, 0xA9F74931); //m_vecViewOffset[0]
  662. CNETVAR_FUNC(Vector, GetViewPunch, 0x68F014C0);
  663. CNETVAR_FUNC(int, GetMoney, 0xF4B3E183); //m_iAccount
  664. CNETVAR_FUNC(Vector, GetPunch, 0xBF25C290);
  665. CNETVAR_FUNC(Vector, GetVelocity, 0x40C1CA24); //m_vecVelocity[0]
  666. CNETVAR_FUNC(bool, HasGunGameImmunity, 0x6AD6FA0D); //m_bGunGameImmunity
  667. CNETVAR_FUNC(int, ArmorValue, 0x3898634); //m_ArmorValue
  668. CNETVAR_FUNC(bool, HasHelmet, 0x7B97F18A); //m_bHasHelmet
  669. CNETVAR_FUNC(int, GetObserverMode, 0x2441D093); // m_iObserverMode
  670. CNETVAR_FUNC(HANDLE, GetObserverTargetHandle, 0x8660FD83); //m_hObserverTarget
  671. CNETVAR_FUNC(bool, HasDefuser, 0x32D0F325); //m_bHasDefuser
  672. CNETVAR_FUNC(int, GetShotsFired, 0x3F2F6C66); //m_nTickBase
  673. CNETVAR_FUNC(float, GetSimulationTime, 0xC4560E44); //m_flSimulationTime
  674. CNETVAR_FUNC(float, GetAnimTime, 0xD27E8416);
  675. CNETVAR_FUNC(bool, IsScoped, 0x61B9C22C); //m_bIsScoped
  676.  
  677. bool IsAlive()
  678. {
  679. return (GetLifeState() == LIFE_ALIVE && GetHealth() > 0);
  680. }
  681.  
  682. int GetMoveType()
  683. {
  684. if (!this)
  685. return 0;
  686.  
  687. return ptr(int, this, 0x258);
  688. }
  689.  
  690. QAngle* GetEyeAnglesPointer()
  691. {
  692. return reinterpret_cast<QAngle*>((DWORD)this + (DWORD)0x528C);
  693. }
  694.  
  695. QAngle GetEyeAngles()
  696. {
  697. return *reinterpret_cast<QAngle*>((DWORD)this + (DWORD)0x528C);
  698. }
  699.  
  700. QAngle* GetEyeAnglesXY()
  701. {
  702. return (QAngle*)((DWORD)this + GET_NETVAR("DT_CSPlayer", "m_angEyeAngles"));
  703. }
  704.  
  705. Vector GetBonePos(int i)
  706. {
  707. matrix3x4 boneMatrix[128];
  708. if (this->SetupBones(boneMatrix, 128, BONE_USED_BY_HITBOX, GetTickCount64()))
  709. {
  710. return Vector(boneMatrix[i][0][3], boneMatrix[i][1][3], boneMatrix[i][2][3]);
  711. }
  712. return Vector(0, 0, 0);
  713. }
  714.  
  715. Vector GetHeadPos()
  716. {
  717. return this->GetBonePos(8);
  718. }
  719.  
  720. Vector GetHeadAngle()
  721. {
  722. return GetAbsOrigin() + GetViewOffset();
  723. }
  724.  
  725. int GetId()
  726. {
  727. typedef int(__thiscall* tGetId)(void*);
  728. return call_vfunc<tGetId>(this, 458)(this);
  729. }
  730.  
  731. bool IsPlayer()
  732. {
  733. return GetClientClass()->m_ClassID == (int)CSGOClassID::CCSPlayer;
  734. }
  735.  
  736. Vector GetOrigin2() {
  737. return *(Vector*)((DWORD)this + 0x00000134);
  738. }
  739.  
  740. Vector GetViewAngles2() {
  741. return *(Vector*)((DWORD)this + 0x00000104);
  742. }
  743.  
  744. Vector GetAbsOrigin2() {
  745. __asm {
  746. MOV ECX, this
  747. MOV EAX, DWORD PTR DS : [ECX]
  748. CALL DWORD PTR DS : [EAX + 0x28]
  749. }
  750. }
  751. Vector GetAbsAngles2() {
  752. __asm {
  753. MOV ECX, this;
  754. MOV EAX, DWORD PTR DS : [ECX];
  755. CALL DWORD PTR DS : [EAX + 0x2C]
  756. }
  757. }
  758.  
  759. Vector GetEyePosition() {
  760. Vector Origin = *(Vector*)((DWORD)this + 0x00000134);
  761. Vector View = *(Vector*)((DWORD)this + 0x00000104);
  762. return(Origin + View);
  763. }
  764. Vector GetAimPunch() {
  765. return *(Vector*)((DWORD)this + 0x00003018);
  766. }
  767. bool IsImmune() {
  768. return *(bool*)((DWORD)this + 0x000038A0);
  769. }
  770. ClientClass *GetClientClass2() {
  771. PVOID Networkable = (PVOID)((DWORD)(this) + 0x8);
  772. using Original = ClientClass*(__thiscall*)(PVOID);
  773. return call_vfunc<Original>(Networkable, 2)(Networkable);
  774. }
  775. HANDLE GetWeaponHandle() {
  776. return *(HANDLE*)((DWORD)this + 0x00002EE8);
  777. }
  778.  
  779.  
  780. char* IClientEntity::GetpWeaponName()
  781. {
  782. if (!this)
  783. return "";
  784.  
  785. int id = ItemDefinitionIndex();
  786. switch (id) {
  787. case WEAPON_DEAGLE:
  788. return ("Deagle");
  789. case WEAPON_ELITE:
  790. return ("Dual Berettas");
  791. case WEAPON_FIVESEVEN:
  792. return ("Five-SeveN");
  793. case WEAPON_GLOCK:
  794. return ("Glock-18");
  795. case WEAPON_AK47:
  796. return ("AK-47");
  797. case WEAPON_AUG:
  798. return ("AUG");
  799. case WEAPON_REVOLVER:
  800. return ("Revolver");
  801. case WEAPON_AWP:
  802. return ("AWP");
  803. case WEAPON_FAMAS:
  804. return ("FAMAS");
  805. case WEAPON_G3SG1:
  806. return ("G3SG1");
  807. case WEAPON_GALILAR:
  808. return ("Galil");
  809. case WEAPON_M249:
  810. return ("M249");
  811. case WEAPON_M4A1:
  812. return ("M4A1");
  813. case WEAPON_MAC10:
  814. return ("MAC-10");
  815. case WEAPON_P90:
  816. return ("P90");
  817. case WEAPON_UMP45:
  818. return ("UMP-45");
  819. case WEAPON_XM1014:
  820. return ("XM1014");
  821. case WEAPON_BIZON:
  822. return ("PP-Bizon");
  823. case WEAPON_MAG7:
  824. return ("MAG-7");
  825. case WEAPON_NEGEV:
  826. return ("Negev");
  827. case WEAPON_SAWEDOFF:
  828. return ("Sawed-Off");
  829. case WEAPON_TEC9:
  830. return ("Tec-9");
  831. case WEAPON_TASER:
  832. return ("Taser");
  833. case WEAPON_HKP2000:
  834. return ("HKP2000");
  835. case WEAPON_MP7:
  836. return ("MP7");
  837. case WEAPON_MP9:
  838. return ("MP9");
  839. case WEAPON_NOVA:
  840. return ("Nova");
  841. case WEAPON_P250:
  842. return ("P250");
  843. case WEAPON_SCAR20:
  844. return ("SCAR-20");
  845. case WEAPON_SG556:
  846. return ("SG 553");
  847. case WEAPON_SSG08:
  848. return ("SSG 08");
  849. case WEAPONTYPE_KNIFE:
  850. return ("Knife");
  851. case WEAPON_FLASHBANG:
  852. return ("Flashbang");
  853. case WEAPON_HEGRENADE:
  854. return ("HE Grenade");
  855. case WEAPON_SMOKEGRENADE:
  856. return ("Smoke");
  857. case WEAPON_MOLOTOV:
  858. return ("Molotov");
  859. case WEAPON_DECOY:
  860. return ("Decoy");
  861. case WEAPON_INCGRENADE:
  862. return ("Incendiary");
  863. case WEAPON_C4:
  864. return ("C4");
  865. case WEAPON_M4A1_SILENCER:
  866. return ("M4A1-S");
  867. case WEAPON_USP_SILENCER:
  868. return ("HKP2000");
  869. case WEAPON_CZ75A:
  870. return ("CZ75-Auto");
  871. default:
  872. return ("Knife");
  873. }
  874. return "";
  875. }
  876.  
  877. char* IClientEntity::GetGunIcon()
  878. {
  879. int WeaponId = ItemDefinitionIndex();
  880. switch (WeaponId)
  881. {
  882. case WEAPONTYPE_KNIFE:
  883. case WEAPON_KNIFE_BAYONET:
  884. case WEAPON_KNIFE_BOWIE:
  885. case WEAPON_KNIFE_BUTTERFLY:
  886. case WEAPON_KNIFE_CT:
  887. case WEAPON_KNIFE_FALCHION:
  888. case WEAPON_KNIFE_FLIP:
  889. case WEAPON_KNIFE_GUT:
  890. case WEAPON_KNIFE_KARAMBIT:
  891. case WEAPON_KNIFE_M9_BAYONET:
  892. case WEAPON_KNIFE_T:
  893. case WEAPON_KNIFE_TACTICAL:
  894. case WEAPON_KNIFE_PUSH:
  895. return "]";
  896. case WEAPON_DEAGLE:
  897. return "A";
  898. case WEAPON_ELITE:
  899. return "B";
  900. case WEAPON_FIVESEVEN:
  901. return "C";
  902. case WEAPON_GLOCK:
  903. return "D";
  904. case WEAPON_HKP2000:
  905. return "E";
  906. case WEAPON_P250:
  907. return "F";
  908. case WEAPON_USP_SILENCER:
  909. return "G";
  910. case WEAPON_TEC9:
  911. return "H";
  912. case WEAPON_REVOLVER:
  913. return "J";
  914. case WEAPON_MAC10:
  915. return "K";
  916. case WEAPON_UMP45:
  917. return "L";
  918. case WEAPON_BIZON:
  919. return "M";
  920. case WEAPON_MP7:
  921. return "N";
  922. case WEAPON_MP9:
  923. return "O";
  924. case WEAPON_P90:
  925. return "P";
  926. case WEAPON_GALILAR:
  927. return "Q";
  928. case WEAPON_FAMAS:
  929. return "R";
  930. case WEAPON_M4A1_SILENCER:
  931. return "S";
  932. case WEAPON_M4A1:
  933. return "T";
  934. case WEAPON_AUG:
  935. return "U";
  936. case WEAPON_SG556:
  937. return "V";
  938. case WEAPON_AK47:
  939. return "W";
  940. case WEAPON_G3SG1:
  941. return "X";
  942. case WEAPON_SCAR20:
  943. return "Y";
  944. case WEAPON_AWP:
  945. return "Z";
  946. case WEAPON_SSG08:
  947. return "a";
  948. case WEAPON_XM1014:
  949. return "b";
  950. case WEAPON_SAWEDOFF:
  951. return "c";
  952. case WEAPON_MAG7:
  953. return "d";
  954. case WEAPON_NOVA:
  955. return "e";
  956. case WEAPON_NEGEV:
  957. return "f";
  958. case WEAPON_M249:
  959. return "g";
  960. case WEAPON_TASER:
  961. return "h";
  962. case WEAPON_FLASHBANG:
  963. return "i";
  964. case WEAPON_HEGRENADE:
  965. return "j";
  966. case WEAPON_SMOKEGRENADE:
  967. return "k";
  968. case WEAPON_MOLOTOV:
  969. return "l";
  970. case WEAPON_DECOY:
  971. return "m";
  972. case WEAPON_INCGRENADE:
  973. return "n";
  974. case WEAPON_C4:
  975. return "o";
  976. case WEAPON_CZ75A:
  977. return "I";
  978. default:
  979. return " ";
  980. }
  981. }
  982. };
  983.  
  984. class CBaseViewModel : public IClientUnknown, public IClientRenderable, public IClientNetworkable
  985. {
  986. public:
  987. inline int GetModelIndex() {
  988. // DT_BaseViewModel -> m_nModelIndex
  989. return *(int*)((DWORD)this + 0x254);
  990. }
  991. inline DWORD GetOwner() {
  992. // DT_BaseViewModel -> m_hOwner
  993. return *(PDWORD)((DWORD)this + 0x29BC);
  994. }
  995. inline DWORD GetWeapon() {
  996. // DT_BaseViewModel -> m_hWeapon
  997. return *(PDWORD)((DWORD)this + 0x29B8);
  998. }
  999. inline void SetWeaponModel(const char* Filename, IClientUnknown* Weapon) {
  1000. return call_vfunc<void(__thiscall*)(void*, const char*, IClientUnknown*)>(this, 242)(this, Filename, Weapon);
  1001. }
  1002. };
  1003.  
  1004. typedef unsigned short MaterialHandle_t;
Add Comment
Please, Sign In to add comment