CabConModding
Facebook
Twitter
youtube
Discord
Contact us
RSS
Menu
CabConModding
Home
New
Top
Premium
Rules
FAQ - Frequently Asked Questions
Games
Fornite
Call of Duty: Black Ops 3
Clash of Clans
Grand Theft Auto 5
Apex Legends
Assassin’s Creed Origins
Forums
Premium
Latest posts
What's new
Latest posts
New profile posts
Latest activity
Members
Current visitors
New profile posts
Log in
Register
What's new
Premium
Latest posts
Menu
Log in
Register
Navigation
Install the app
Install
More options
Dark Theme
Contact us
Close Menu
Forums
Gaming
Call of Duty Classics
Call of Duty: Modern Warfare 2
Call of Duty: Modern Warfare 2 Mods and Scripts
Call of Duty: Modern Warfare 2 Scripts
(C++) How To Add in MW2/MW3 Structs
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="Venox" data-source="post: 186" data-attributes="member: 15"><p>[Code] </p><p>//Some structs for mw3 but you can use this mw2(Update the Offsets )</p><p></p><p></p><p>struct Vector3;</p><p>struct gentity_s;</p><p>struct playerState_s;</p><p>struct Vector3</p><p>{</p><p> float v[3];</p><p> Vector3(float v1, float v2, float v3)</p><p> {</p><p> v[0] = v1; v[1] = v2; v[2] = v3;</p><p> }</p><p> VOID Print(PCHAR Text)</p><p> {</p><p> DbgPrint("%s addr: %X v1: %f v2: %f v3: %f\n", Text, v, v[0], v[1], v[2]);</p><p> }</p><p>};</p><p>struct gentity_s</p><p>{</p><p> INT EntityNumber;</p><p> BYTE _0x4[0x14];</p><p> Vector3 Origin;</p><p> BYTE _0x1B[0x18];</p><p> Vector3 Angles;</p><p> BYTE _0x36[0x110];</p><p> playerState_s* playerState;</p><p> BYTE _0x15C[0xC];</p><p> UINT16 ModelIndex;</p><p> BYTE _0x16A[0x32];</p><p> INT Health;</p><p> BYTE _0x1A0[0xE0];</p><p>};</p><p>struct playerState_s</p><p>{</p><p> BYTE _0x0[0x1C];</p><p> Vector3 Origin;</p><p> Vector3 Velocity;</p><p> BYTE _0x22[0x32E4];</p><p> INT Score;</p><p> BYTE _0x331C[0x70];</p><p> CHAR PlayerName[32];</p><p> INT MaxHealth;</p><p> BYTE _0x33B0[0x24];</p><p> INT Team;</p><p> BYTE _0x33D8[0x78];</p><p> CHAR ClanTag[4];</p><p> BYTE _0x3454[0x1A8];</p><p> INT MovementFlags;</p><p> BYTE _0x3600[0x380];</p><p></p><p> VOID SetOrigin(Vector3 NewOrigin)</p><p> {</p><p> memcpy((PVOID)Origin.v, (PVOID)NewOrigin.v, sizeof(float) * 3);</p><p> }</p><p> VOID SetVelocity(Vector3 NewVelocity)</p><p> {</p><p> memcpy((PVOID)Velocity.v, (PVOID)NewVelocity.v, sizeof(float) * 3);</p><p> }</p><p>};</p><p>gentity_s *gentity(INT Index)</p><p>{</p><p> return (gentity_s*)(0x82DCCC80 + (Index * 0x280));</p><p>}</p><p>DWORD gclient(INT Client)</p><p>{</p><p> return *(DWORD*)(0x834C0480 + 0x205E90) + (Client * 0x68B80);</p><p>}</p><p></p><p></p><p></p><p>//Some functions</p><p></p><p></p><p>VOID (__cdecl *ClientCommand)(INT ClientNumber) = (VOID (__cdecl *)(INT))0x82239C80;</p><p>BOOL (__cdecl *Dvar_GetBool)(PCHAR Dvar) = (BOOL (__cdecl *)(PCHAR))0x8232E200;</p><p>PCHAR (__cdecl *Dvar_GetString)(PCHAR Dvar) = (PCHAR (__cdecl *)(PCHAR))0x8232E3C0;</p><p>VOID (__cdecl *SV_Cmd_EndTokenizedString)() = (VOID (__cdecl *)())0x82288988;</p><p>VOID (__cdecl *SV_Cmd_TokenizeString)(PCHAR TextIn) = (VOID (__cdecl *)(PCHAR))0x82288968;</p><p>UINT16 (__cdecl *Scr_ExecEntThreadNum)(INT EntityNumber, UINT32 ClassNumber, INT Handle, UINT32 ParameterCount) = (UINT16 (__cdecl *)(INT, UINT32, INT, UINT32))0x822C40C0;</p><p>VOID (__cdecl *CBuf_AddText)(INT LocalClientNumber, PCHAR Text) = (VOID (__cdecl *)(INT, PCHAR))0x82287EE0;</p><p>PCHAR (__cdecl *va)(PCHAR Format, ...) = va = (PCHAR (__cdecl *)(PCHAR, ...))0x82336528;</p><p> </p><p></p><p></p><p>//Monitor connection/disconnection damage and death + more</p><p>//Code (Text):</p><p>UINT16 Scr_ExecEntThread(gentity_s *gentity, INT Handle, UINT32 ParameterCount)</p><p>{</p><p> //DbgPrint("Scr_ExecEntThread - gentity[%X] Handle[%X] ParameterCount[%X]\n", gentity, Handle, ParameterCount);</p><p></p><p> switch(Handle)</p><p> {</p><p> case 0x1037F4:</p><p> DbgPrint("Player %i Connected!\n", gentity->EntityNumber);</p><p> break;</p><p> case 0x103814:</p><p> DbgPrint("Player %i Disconnected!\n", gentity->EntityNumber);</p><p> break;</p><p> case 0x103822:</p><p> //DbgPrint("Player %i Damaged!\n", gentity->EntityNumber);</p><p> break;</p><p> case 0x103851:</p><p> //DbgPrint("Player %i Killed!\n", gentity->EntityNumber);</p><p> break;</p><p> }</p><p></p><p> return Scr_ExecEntThreadNum(gentity->EntityNumber, NULL, Handle, ParameterCount);</p><p>}</p><p></p><p></p><p></p><p></p><p>//Then add this</p><p>//Code (Text):</p><p>DetourFunction((PDWORD)0x8226AEE8, (DWORD)Scr_ExecEntThread);</p><p></p><p>For a modded lobby</p><p>Code (Text):</p><p> *(UINT16*)(0x8222E59C + 0x02) = 450; // G_Speed</p><p> *(FLOAT*)0x82001D68 = 999; // Super Jump</p><p> *(FLOAT*)0x82000C04 = 9999; // No Fall</p><p> *(INT*)0x820F63E4 = 0x7D495378; // Unlimited Ammo - mr r9, r10</p><p> *(INT*)0x820F46DC = 0x39600000; // Full Auto Guns - li r11, 0</p><p> *(INT*)0x82233A7C = 0x60000000; // Disable PlayerCmd_FreezeControls</p><p></p><p>Real Godmode (no blood)</p><p>Code (Text):</p><p>gentity(Client)->playerState->MaxHealth = 9999;</p><p>gentity(Client)->Health = 9999;</p><p></p><p></p><p></p><p>//----------------------------------------------------------------------</p><p></p><p>*(int*)(getEntity(clientIndex) + 0x184) = 1; -> god mode On</p><p>*(int*)(getEntity(clientIndex) + 0x184) = 0; -> god mode Off</p><p>*(int*)(getEntity(clientIndex) + 0x184) = 3; -> no Knockback but no godMode</p><p>*(int*)(getEntity(clientIndex) + 0x184) = 2; -> demigod (i think)</p><p></p><p></p><p></p><p>[/Code]</p></blockquote><p></p>
[QUOTE="Venox, post: 186, member: 15"] [Code] //Some structs for mw3 but you can use this mw2(Update the Offsets ) struct Vector3; struct gentity_s; struct playerState_s; struct Vector3 { float v[3]; Vector3(float v1, float v2, float v3) { v[0] = v1; v[1] = v2; v[2] = v3; } VOID Print(PCHAR Text) { DbgPrint("%s addr: %X v1: %f v2: %f v3: %f\n", Text, v, v[0], v[1], v[2]); } }; struct gentity_s { INT EntityNumber; BYTE _0x4[0x14]; Vector3 Origin; BYTE _0x1B[0x18]; Vector3 Angles; BYTE _0x36[0x110]; playerState_s* playerState; BYTE _0x15C[0xC]; UINT16 ModelIndex; BYTE _0x16A[0x32]; INT Health; BYTE _0x1A0[0xE0]; }; struct playerState_s { BYTE _0x0[0x1C]; Vector3 Origin; Vector3 Velocity; BYTE _0x22[0x32E4]; INT Score; BYTE _0x331C[0x70]; CHAR PlayerName[32]; INT MaxHealth; BYTE _0x33B0[0x24]; INT Team; BYTE _0x33D8[0x78]; CHAR ClanTag[4]; BYTE _0x3454[0x1A8]; INT MovementFlags; BYTE _0x3600[0x380]; VOID SetOrigin(Vector3 NewOrigin) { memcpy((PVOID)Origin.v, (PVOID)NewOrigin.v, sizeof(float) * 3); } VOID SetVelocity(Vector3 NewVelocity) { memcpy((PVOID)Velocity.v, (PVOID)NewVelocity.v, sizeof(float) * 3); } }; gentity_s *gentity(INT Index) { return (gentity_s*)(0x82DCCC80 + (Index * 0x280)); } DWORD gclient(INT Client) { return *(DWORD*)(0x834C0480 + 0x205E90) + (Client * 0x68B80); } //Some functions VOID (__cdecl *ClientCommand)(INT ClientNumber) = (VOID (__cdecl *)(INT))0x82239C80; BOOL (__cdecl *Dvar_GetBool)(PCHAR Dvar) = (BOOL (__cdecl *)(PCHAR))0x8232E200; PCHAR (__cdecl *Dvar_GetString)(PCHAR Dvar) = (PCHAR (__cdecl *)(PCHAR))0x8232E3C0; VOID (__cdecl *SV_Cmd_EndTokenizedString)() = (VOID (__cdecl *)())0x82288988; VOID (__cdecl *SV_Cmd_TokenizeString)(PCHAR TextIn) = (VOID (__cdecl *)(PCHAR))0x82288968; UINT16 (__cdecl *Scr_ExecEntThreadNum)(INT EntityNumber, UINT32 ClassNumber, INT Handle, UINT32 ParameterCount) = (UINT16 (__cdecl *)(INT, UINT32, INT, UINT32))0x822C40C0; VOID (__cdecl *CBuf_AddText)(INT LocalClientNumber, PCHAR Text) = (VOID (__cdecl *)(INT, PCHAR))0x82287EE0; PCHAR (__cdecl *va)(PCHAR Format, ...) = va = (PCHAR (__cdecl *)(PCHAR, ...))0x82336528; //Monitor connection/disconnection damage and death + more //Code (Text): UINT16 Scr_ExecEntThread(gentity_s *gentity, INT Handle, UINT32 ParameterCount) { //DbgPrint("Scr_ExecEntThread - gentity[%X] Handle[%X] ParameterCount[%X]\n", gentity, Handle, ParameterCount); switch(Handle) { case 0x1037F4: DbgPrint("Player %i Connected!\n", gentity->EntityNumber); break; case 0x103814: DbgPrint("Player %i Disconnected!\n", gentity->EntityNumber); break; case 0x103822: //DbgPrint("Player %i Damaged!\n", gentity->EntityNumber); break; case 0x103851: //DbgPrint("Player %i Killed!\n", gentity->EntityNumber); break; } return Scr_ExecEntThreadNum(gentity->EntityNumber, NULL, Handle, ParameterCount); } //Then add this //Code (Text): DetourFunction((PDWORD)0x8226AEE8, (DWORD)Scr_ExecEntThread); For a modded lobby Code (Text): *(UINT16*)(0x8222E59C + 0x02) = 450; // G_Speed *(FLOAT*)0x82001D68 = 999; // Super Jump *(FLOAT*)0x82000C04 = 9999; // No Fall *(INT*)0x820F63E4 = 0x7D495378; // Unlimited Ammo - mr r9, r10 *(INT*)0x820F46DC = 0x39600000; // Full Auto Guns - li r11, 0 *(INT*)0x82233A7C = 0x60000000; // Disable PlayerCmd_FreezeControls Real Godmode (no blood) Code (Text): gentity(Client)->playerState->MaxHealth = 9999; gentity(Client)->Health = 9999; //---------------------------------------------------------------------- *(int*)(getEntity(clientIndex) + 0x184) = 1; -> god mode On *(int*)(getEntity(clientIndex) + 0x184) = 0; -> god mode Off *(int*)(getEntity(clientIndex) + 0x184) = 3; -> no Knockback but no godMode *(int*)(getEntity(clientIndex) + 0x184) = 2; -> demigod (i think) [/Code] [/QUOTE]
Verification
Post reply
Forums
Gaming
Call of Duty Classics
Call of Duty: Modern Warfare 2
Call of Duty: Modern Warfare 2 Mods and Scripts
Call of Duty: Modern Warfare 2 Scripts
(C++) How To Add in MW2/MW3 Structs
CabConModding is now on facebook! Check the latest Updates, the Site Status and much more now!
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.
Accept
Learn more…
Top