Skip to content
MPGHThe Dark Arts
/
RegisterLog in
Forum
Community
What's NewLatest posts across the boardTrendingHottest threads right nowSubscribedThreads you follow
Discussion
GeneralIntroductionsEntertainmentDebate FortFlaming & Rage
Board
News & AnnouncementsMPGH TimesSuggestions & HelpGiveaways
More Sections
Art & Graphic DesignProgrammingHackingCryptocurrency
Hacks & Cheats
Games
ValorantCS2 / CS:GOCall of Duty / WarzoneFortniteApex LegendsEscape From Tarkov
+14 moreLeague of LegendsGTA VMinecraftRustROTMGBattlefieldTroveBattleOnCombat ArmsCrossFireBlackshotRuneScapeDayZDead by Daylight
Resources
Game Hacking TutorialsReverse EngineeringGeneral Game HackingAnti-CheatConsole Game Hacking
Tools
Game Hacking ToolsTrainers & CheatsHack/Release NewsNew
Submit a release →Share your cheat, tool, or config with the community.
AINEW
AI Tools
General & DiscussionPrompt EngineeringLLM JailbreaksHotAI Agents & AutomationLocal / Open Models
AI × Gaming
AI Aimbots & VisionML Anti-CheatGame Bots & Automation
Create
AI Coding / Vibe CodingAI Art & MediaAI Voice & TTS
The AI frontier →Where game hacking meets modern machine learning. Jump in.
Marketplace
Buy & Sell
SellingBuyingTradingUser Services
Trust & Safety
Middleman LoungeMarketplace TalkVouch Copy Profiles
Money
Cryptocurrency TalkCurrency ExchangeWork & Job Offers
Start selling →List accounts, services, and goods. Use the middleman to trade safe.
MPGH The Dark Arts

A community for offensive security research, reverse engineering, and AI.

Community

ForumMarketplaceSearch

Account

RegisterLog in

Legal

Privacy PolicyForum RulesHelp & FAQ
© 2026 MPGH · All rights reserved.Built by the community, for the community. For educational purposes onlyContent is shared for security research and education — we don't condone illegal use. You're responsible for complying with applicable laws. Use at your own risk.
Home › Forum › MultiPlayer Game Hacks & Cheats › Call of Duty Hacks & Cheats › Call of Duty 8 - Modern Warfare 3 (MW3) Hacks & Cheats › Call of Duty Modern Warfare 3 Coding, Programming & Source Code › [Help] Player Weapon Addresses

Question[Help] Player Weapon Addresses

Posts 1–2 of 2 · Page 1 of 1
normiescum
normiescum
[Help] Player Weapon Addresses
I'm trying to make a server controller with the ability to force what types of classes players use. My knowledge is quite limited in any other area apart from memory editing since h2v days when I use to make things, I never really branched out further than that not to mention I'm a bit rusty anyway it's been about 7 years since I was in the scene. I'm currently attempting to get the address's for all clients primary weapons as per the weapon id and I seem to be succeeding. Whenever I change weapons or a client in my game does the address shows up with the correct id as per what weapon is currently in use. However when I try write to the address to force change it nothing happens it just forces back to whatever weapon they have selected it. There is probably an easier way to do this I'm just sitting in my comfort zone where I have a lot of experience. Does anyone know if this was patched? I've seen several tutorials regarding this on mpgh however they're a bit old.

References
[Tutorial] Change your weapon - AuT03x3C
Ultimate Server Control hack <3 | Weapon ID's - LOLxFUN


The only other idea I had was similar to Scoudem's mw2 lobby tools where you're able to open the game setup while host of a public match, this way you'd be able to set weapon restrictions etc as mw3 has a lot more setup options than mw2.
Something like this: (note this is old mw2 code)

void OpenGameSetupMenu()
{
((void (__cdecl*) (int, const char*))0x59DD70) (0, "popup_gamesetup");
}

Obviously I'd have to find the gamesetup popup offset or equivalent to mw3 if one even exists however this is a bit out of my skill set hell I might be completely wrong here. Any input is appreciated.
#1 · edited 9y ago · 9y ago
AR
aresdGHERhgerdherhrh
For c++

struct playerState_s
{
BYTE _0x0[0x1C]; //0x00 //0x01C29440
vec3_t Origin; //0x1C //0x01C2945C
vec3_t Velocity; //0x2E //0x01C29468
BYTE unk1[0x124]; //0x40
vec3_t ViewAngles; //0x164 //0x01C29598
BYTE _0x22[0x31C0]; //0x176
INT Score; //0x3336
BYTE _0x331C[0x5E]; //0x333A
CHAR PlayerNameStatic[0x10];//0x3398
INT MaxHealth; //0x33A8 //correct
BYTE _0x33B0[0x24]; //0x33AC
INT Team; //0x33D0
BYTE _0x33D8[0x3C]; //0x33D4
CHAR PlayerName[0xF]; //0x3410
BYTE _0x33D9[0x1BC]; //0x341F /maybe off b F and revert
INT ClippingFlags; //0x35CC //0x01C2CA0C
BYTE _spacer[0x2C];
INT MovementFlags;
BYTE _0x3600[0x380];
}; //Size 0x3980

typedef void(__cdecl* SendServerCommand_T)(int clientNum, int reliable, const char* command);
typedef int(__cdecl *G_GivePlayerWeapon_T)(playerState_s* ps, int iWeaponIndex, char altModelIndex);
typedef int(__cdecl *G_GetWeaponIndexForName_T)(const char* name);
typedef int(__cdecl *BG_TakePlayerWeapon_T)(playerState_s* ps, unsigned int iWeaponIndex, int takeAwayAmmo);
typedef int(__cdecl *BG_GetViewmodelWeaponIndex_T)(playerState_s* ps);
typedef int(__cdecl *Add_Ammo_T)(gentity_s* ent, unsigned int weaponIndex, char weaponModel, int count, int fillClip);

G_GivePlayerWeapon = (G_GivePlayerWeapon_T)0x00531750;
G_GetWeaponIndexForName = (G_GetWeaponIndexForName_T)0x00530F90;
BG_TakePlayerWeapon = (BG_TakePlayerWeapon_T)0x00430B30;
BG_GetViewmodelWeaponIndex = (BG_GetViewmodelWeaponIndex_T)0x0042FB50;
Add_Ammo = (Add_Ammo_T)0x00508200;
SV_GameSendServerCommand = (SendServerCommand_T)0x00573100;

#define SIZE_playerState 0x38EC
#define ADDRESS_playerState 0x01C29440

playerState_s* G_PlayerState(int clientIndex)
{
return (playerState_s*)(ADDRESS_playerState + (SIZE_playerState * clientIndex));
}

void GiveWeapon(const char* weaponName, int client)
{
BG_TakePlayerWeapon(G_PlayerState(client), BG_GetViewmodelWeaponIndex(G_PlayerState(client)), 1);
int index = G_GetWeaponIndexForName(weaponName);
G_GivePlayerWeapon(G_PlayerState(client), index, 0);
string cmd = "a " + to_string(index);
SV_GameSendServerCommand(client, 0, cmd.c_str());
Add_Ammo(G_Entity(client), index, 0, 9999, 1);
}

Credits to seb5594

For c# there are 3 weapon addresses for each playerState so just change all 3 and it should work.
#2 · 9y ago
Posts 1–2 of 2 · Page 1 of 1

Post a Reply

Similar Threads

  • Primary and Seconday Weapon addresses in MP?By SoM1 in Call of Duty Modern Warfare 3 Help
    3Last post 14y ago
  • Help player pointer (weaponReload)By Astr3Lune in Crossfire Coding Help & Discussion
    1Last post 13y ago
  • Someone help me with address and some questions.By coffeegirl in Dragon Nest Help
    1Last post 14y ago
  • in game weapons addressBy prox32 in WarRock - International Hacks
    9Last post 19y ago
  • [HELP] working weapon adressBy noobi4life in Visual Basic Programming
    7Last post 18y ago

Tags for this Thread

None