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 Private Server Hacks › TeknoMW3 Nospread hack

PostTeknoMW3 Nospread hack

Posts 1–4 of 4 · Page 1 of 1
>:
>:v
TeknoMW3 Nospread hack
I was using the nospread hack of NrBot 2.8 (ik C&P), but it doesn't work when you aim with snipers.
Can someone share a teknomw3 nospread source or (if you feel generous) the dll, thanks in advice.
#1 · 8y ago
niko1921
niko1921
read the quake source on ****** and learn how it works the cmd angles so you can learn from the algorithm of every call of duty game, once let the magic go in your brain so will see that it's too easy make a perfect no spread without copy&paste... and you will can able make a no spread for every call of duty game...

simple example:



so we just need get the spread view, it which every call of duty game has the fuction for that, anyway you can find the subroutine for mw3 searching on google because it's public... cheers.
#2 · 8y ago
>:
>:v
Quote Originally Posted by niko1921 View Post
read the quake source on ****** and learn how it works the cmd angles so you can learn from the algorithm of every call of duty game, once let the magic go in your brain so will see that it's too easy make a perfect no spread without copy&paste... and you will can able make a no spread for every call of duty game...

simple example:

l33texplanation.jpg

so we just need get the spread view, it which every call of duty game has the fuction for that, anyway you can find the subroutine for mw3 searching on google because it's public... cheers.

Got this, now what should i do?
Just put it into a .dll?

Teach me senpai.

Code:
 
typedef struct
{
    int servertime; //0x0000 
    int buttons; //0x0004 
    int viewangles[3]; //0x0008 // below here is some usefull stuffs
   char lol[0x18];.
}usercmd_t;//Size=0x002C
 
typedef struct
{
    usercmd_t usercmds[128];
    int currentCmdNum; // 0x16E8
 
    usercmd_t *GetUserCmd(int cmdNum)
    {
        int id = cmdNum & 0x7F;
        return &usercmds[id];
    }
}input_t;
 
void ( __cdecl* R_WeaponSpread )( cg_t* cg, int weapon, float*BaseSpread, float*MaxSpread ) = ( void( __cdecl* )( cg_t*, int, float*, float* ) )0x4D3820;
int  ( __cdecl* R_GetCurrentWeapon )( cg_t* cg ) = ( int( __cdecl* )( cg_t* ) )0x4ABCF0;
 
void GetRandomSpread(int iSeed, float* flSpreadRight,float* flSpreadUp ) 
{ 
    DWORD dwCall = 0x5AAB80;
    int iSpreadSeed = 214013 * (214013 * (214013 * (214013 * iSeed + 2531011) + 2531011) + 2531011) + 2531011;
    __asm 
    { 
        lea eax, dword ptr ds: [ flSpreadUp ]; 
        push [ eax ];
        lea ecx, dword ptr ds: [ flSpreadRight ]; 
        push [ ecx ];
        lea esi, dword ptr ds: [ iSpreadSeed ]; 
        call dword ptr ds:[ dwCall ]; 
        add esp, 0x8 
    } 
} 
void GetWeaponSpread( float*Spread ) 
{ 
    float SpreadMultiplier = *(float*)0xA03D48 / 255.0f;
 
    float MaxSpread = 0.0f; 
    float BaseSpread = 0.0f; 
 
    int iLocalWeapon = R_GetCurrentWeapon( cg );
 
    R_WeaponSpread( cg, iLocalWeapon, &BaseSpread, &MaxSpread ); 
    
    *Spread = BaseSpread + ( ( MaxSpread - BaseSpread ) * SpreadMultiplier ); 
}
double Radians(float Degrees)
{
    return  0.01745329238474369 * Degrees;
}
VOID ApplyNoSpread( )
{
    input_t * input = ( input_t* )0x1063CA4;
    usercmd_t * pAntiAimCmd = input->GetUserCmd( input->currentCmdNum );
    antiAim( pAntiAimCmd );
    int iSeed = *( int* )0x96A60C;
 
    float flSpread, flSpreadX, flSpreadY;
 
    float flDistance = 8192.f;
 
    Vector3 ForwardVec, RightVec, UpVec, CalculatedSpreadView, SpreadView, DestinationVec, BulletAnglesVec, FinalVecAngles; 
 
    //BulletAnglesVec[ 0 ] = *( float* )0x976560;  these are working ones too
    //BulletAnglesVec[ 1 ] = *( float* )0x976564;
    //BulletAnglesVec[ 2 ] = *( float* )0x976568;
 
    BulletAnglesVec[ 0 ] = refAngles[ 0 ];
    BulletAnglesVec[ 1 ] = refAngles[ 1 ];
    BulletAnglesVec[ 2 ] = refAngles[ 2 ];
 
    gMath.AngleVectors( BulletAnglesVec, ForwardVec, RightVec, UpVec ); 
 
    GetWeaponSpread( &flSpread ); 
 
    flSpread = tan( Radians( flSpread ) ) * flDistance; 
 
    GetRandomSpread(iSeed, &flSpreadX, &flSpreadY ); 
 
    flSpreadX *= flSpread; 
    flSpreadY *= flSpread; 
 
    SpreadView[ 0 ] = refDef->vOrigin[ 0 ] + ForwardVec[ 0 ] * flDistance + RightVec[ 0 ] * flSpreadX + UpVec[ 0 ] * flSpreadY; 
    SpreadView[ 1 ] = refDef->vOrigin[ 1 ] + ForwardVec[ 1 ] * flDistance + RightVec[ 1 ] * flSpreadX + UpVec[ 1 ] * flSpreadY; 
    SpreadView[ 2 ] = refDef->vOrigin[ 2 ] + ForwardVec[ 2 ] * flDistance + RightVec[ 2 ] * flSpreadX + UpVec[ 2 ] * flSpreadY; 
 
    VectorSubtract( SpreadView, refDef->vOrigin, CalculatedSpreadView ); 
 
    gMath.VectorAngles( CalculatedSpreadView , DestinationVec ); 
    
    FinalVecAngles[ 0 ] = BulletAnglesVec[ 0 ] - DestinationVec[ 0 ]; 
    FinalVecAngles[ 1 ] = BulletAnglesVec[ 1 ] - DestinationVec[ 1 ]; 
    FinalVecAngles[ 2 ] = BulletAnglesVec[ 2 ] - DestinationVec[ 2 ];
 
    float* ViewAngleY = (float*)0x1063C98;
    Vector3 CalculatedFinalVecAngles = { ViewAngleY[ 0 ], ViewAngleY[ 1 ], 0 };
    
    CalculatedFinalVecAngles[ 0 ] += FinalVecAngles[ 0 ];
    CalculatedFinalVecAngles[ 1 ] += FinalVecAngles[ 1 ];
    CalculatedFinalVecAngles[ 2 ] = 0;
 
    if( gCvar.bSilentAim && isTargeting )
    {
        if( !clientinfo[cg->clientNum].isZoomed )
        {
            CalculatedFinalVecAngles[ 0 ] += SilentAngles[ 0 ];
            CalculatedFinalVecAngles[ 1 ] += SilentAngles[ 1 ];
            CalculatedFinalVecAngles[ 2 ] += SilentAngles[ 2 ];
        }
        else
        {
            pAntiAimCmd->viewangles[ 0 ] += ANGLE2SHORT( SilentAngles[ 0 ] );
            pAntiAimCmd->viewangles[ 1 ] += ANGLE2SHORT( SilentAngles[ 1 ] );
            pAntiAimCmd->viewangles[ 2 ] = 0;
        }
    }
 
    if( !clientinfo[cg->clientNum].isZoomed )
    {
        pAntiAimCmd->viewangles[ 0 ] = ANGLE2SHORT( CalculatedFinalVecAngles[ 0 ] );
        pAntiAimCmd->viewangles[ 1 ] = ANGLE2SHORT( CalculatedFinalVecAngles[ 1 ] );
        pAntiAimCmd->viewangles[ 2 ] = 0;
    }
}
#3 · 8y ago
niko1921
niko1921
Quote Originally Posted by >:v View Post
Got this, now what should i do?
Just put it into a .dll?

Teach me senpai.

Code:
 
typedef struct
{
    int servertime; //0x0000 
    int buttons; //0x0004 
    int viewangles[3]; //0x0008 // below here is some usefull stuffs
   char lol[0x18];.
}usercmd_t;//Size=0x002C
 
typedef struct
{
    usercmd_t usercmds[128];
    int currentCmdNum; // 0x16E8
 
    usercmd_t *GetUserCmd(int cmdNum)
    {
        int id = cmdNum & 0x7F;
        return &usercmds[id];
    }
}input_t;
 
void ( __cdecl* R_WeaponSpread )( cg_t* cg, int weapon, float*BaseSpread, float*MaxSpread ) = ( void( __cdecl* )( cg_t*, int, float*, float* ) )0x4D3820;
int  ( __cdecl* R_GetCurrentWeapon )( cg_t* cg ) = ( int( __cdecl* )( cg_t* ) )0x4ABCF0;
 
void GetRandomSpread(int iSeed, float* flSpreadRight,float* flSpreadUp ) 
{ 
    DWORD dwCall = 0x5AAB80;
    int iSpreadSeed = 214013 * (214013 * (214013 * (214013 * iSeed + 2531011) + 2531011) + 2531011) + 2531011;
    __asm 
    { 
        lea eax, dword ptr ds: [ flSpreadUp ]; 
        push [ eax ];
        lea ecx, dword ptr ds: [ flSpreadRight ]; 
        push [ ecx ];
        lea esi, dword ptr ds: [ iSpreadSeed ]; 
        call dword ptr ds:[ dwCall ]; 
        add esp, 0x8 
    } 
} 
void GetWeaponSpread( float*Spread ) 
{ 
    float SpreadMultiplier = *(float*)0xA03D48 / 255.0f;
 
    float MaxSpread = 0.0f; 
    float BaseSpread = 0.0f; 
 
    int iLocalWeapon = R_GetCurrentWeapon( cg );
 
    R_WeaponSpread( cg, iLocalWeapon, &BaseSpread, &MaxSpread ); 
    
    *Spread = BaseSpread + ( ( MaxSpread - BaseSpread ) * SpreadMultiplier ); 
}
double Radians(float Degrees)
{
    return  0.01745329238474369 * Degrees;
}
VOID ApplyNoSpread( )
{
    input_t * input = ( input_t* )0x1063CA4;
    usercmd_t * pAntiAimCmd = input->GetUserCmd( input->currentCmdNum );
    antiAim( pAntiAimCmd );
    int iSeed = *( int* )0x96A60C;
 
    float flSpread, flSpreadX, flSpreadY;
 
    float flDistance = 8192.f;
 
    Vector3 ForwardVec, RightVec, UpVec, CalculatedSpreadView, SpreadView, DestinationVec, BulletAnglesVec, FinalVecAngles; 
 
    //BulletAnglesVec[ 0 ] = *( float* )0x976560;  these are working ones too
    //BulletAnglesVec[ 1 ] = *( float* )0x976564;
    //BulletAnglesVec[ 2 ] = *( float* )0x976568;
 
    BulletAnglesVec[ 0 ] = refAngles[ 0 ];
    BulletAnglesVec[ 1 ] = refAngles[ 1 ];
    BulletAnglesVec[ 2 ] = refAngles[ 2 ];
 
    gMath.AngleVectors( BulletAnglesVec, ForwardVec, RightVec, UpVec ); 
 
    GetWeaponSpread( &flSpread ); 
 
    flSpread = tan( Radians( flSpread ) ) * flDistance; 
 
    GetRandomSpread(iSeed, &flSpreadX, &flSpreadY ); 
 
    flSpreadX *= flSpread; 
    flSpreadY *= flSpread; 
 
    SpreadView[ 0 ] = refDef->vOrigin[ 0 ] + ForwardVec[ 0 ] * flDistance + RightVec[ 0 ] * flSpreadX + UpVec[ 0 ] * flSpreadY; 
    SpreadView[ 1 ] = refDef->vOrigin[ 1 ] + ForwardVec[ 1 ] * flDistance + RightVec[ 1 ] * flSpreadX + UpVec[ 1 ] * flSpreadY; 
    SpreadView[ 2 ] = refDef->vOrigin[ 2 ] + ForwardVec[ 2 ] * flDistance + RightVec[ 2 ] * flSpreadX + UpVec[ 2 ] * flSpreadY; 
 
    VectorSubtract( SpreadView, refDef->vOrigin, CalculatedSpreadView ); 
 
    gMath.VectorAngles( CalculatedSpreadView , DestinationVec ); 
    
    FinalVecAngles[ 0 ] = BulletAnglesVec[ 0 ] - DestinationVec[ 0 ]; 
    FinalVecAngles[ 1 ] = BulletAnglesVec[ 1 ] - DestinationVec[ 1 ]; 
    FinalVecAngles[ 2 ] = BulletAnglesVec[ 2 ] - DestinationVec[ 2 ];
 
    float* ViewAngleY = (float*)0x1063C98;
    Vector3 CalculatedFinalVecAngles = { ViewAngleY[ 0 ], ViewAngleY[ 1 ], 0 };
    
    CalculatedFinalVecAngles[ 0 ] += FinalVecAngles[ 0 ];
    CalculatedFinalVecAngles[ 1 ] += FinalVecAngles[ 1 ];
    CalculatedFinalVecAngles[ 2 ] = 0;
 
    if( gCvar.bSilentAim && isTargeting )
    {
        if( !clientinfo[cg->clientNum].isZoomed )
        {
            CalculatedFinalVecAngles[ 0 ] += SilentAngles[ 0 ];
            CalculatedFinalVecAngles[ 1 ] += SilentAngles[ 1 ];
            CalculatedFinalVecAngles[ 2 ] += SilentAngles[ 2 ];
        }
        else
        {
            pAntiAimCmd->viewangles[ 0 ] += ANGLE2SHORT( SilentAngles[ 0 ] );
            pAntiAimCmd->viewangles[ 1 ] += ANGLE2SHORT( SilentAngles[ 1 ] );
            pAntiAimCmd->viewangles[ 2 ] = 0;
        }
    }
 
    if( !clientinfo[cg->clientNum].isZoomed )
    {
        pAntiAimCmd->viewangles[ 0 ] = ANGLE2SHORT( CalculatedFinalVecAngles[ 0 ] );
        pAntiAimCmd->viewangles[ 1 ] = ANGLE2SHORT( CalculatedFinalVecAngles[ 1 ] );
        pAntiAimCmd->viewangles[ 2 ] = 0;
    }
}
Learn to code atleast...
#4 · 8y ago
Posts 1–4 of 4 · Page 1 of 1

Post a Reply

Similar Threads

  • Teamspeak NoSpread hack after the patch??By ChairmanMao in Combat Arms Europe Hacks
    17Last post 17y ago
  • TeknoMW3 SinglePlayer HackBy Kenshin13 in Call of Duty Modern Warfare 3 Private Server Hacks
    6Last post 13y ago
  • looking for a nospread hackBy obeseninja in CounterStrike (CS) 1.6 Hacks / Counter Strike: Source (CSS) Hacks
    5Last post 13y ago
  • We only need NoSpread hack!!!By ddd555 in Combat Arms Europe Hacks
    73Last post 17y ago
  • Setting up my nospread hackBy cnttuchme in C++/C Programming
    20Last post 16y ago

Tags for this Thread

None