No spread+recoil

Posts 1–15 of 24 · Page 1 of 2
No spread+recoil
I was told that for whatever reason you guys haven't figured out no spread, so I might as well share.

Code:
#define NoRecoil 0x004FC600
#define NoSpread 0x004F5A70

void ToggleRecoilSpread(BOOL t)
{
	BYTE patch[] = {0xC3,0x90,0x90};
	BYTE orig[] = {0x83,0xEC,0x00};

	if (t)
	{
		WriteProcessMemory(proc,(void*)NoRecoil,&patch,3,NULL);
		WriteProcessMemory(proc,(void*)NoSpread,&patch,3,NULL);
	}
	else
	{
		orig[2] = 0x18;
		WriteProcessMemory(proc,(void*)NoRecoil,&orig,3,NULL);
		orig[2] = 0x44;
		WriteProcessMemory(proc,(void*)NoSpread,&orig,3,NULL);
	}
}
Thank you god? xD
That's not a "real" No-Spread, even if the addresses are correct, it'll still require host... you can only do a No-Spread without requiring host, hooking CL_WritePacket Otherwise, the effect will be only visual...

/Changed Thread tag to [Source Code]
Indeed, your xhairs will close up, and your bullets will appear to go straight, but in fact they aren't. So there's really no reason to be patronizing since you don't have it either.
I saw a No-Spread once, it required host ... Bullets went straight ... Put ur X-hair on a person crossmap, all bullets will hit ...
Quote Originally Posted by Horror View Post
I saw a No-Spread once, it required host ... Bullets went straight ... Put ur X-hair on a person crossmap, all bullets will hit ...
I can think of a method that might work without needing host or hooking CL_WritePacket. I'm not sure it'd work and I don't want to test it to risk getting banned. Free weekend is over now.
If you are host:

Code:
 class CWeapon
{
public:
    char szName[16];
    char unknown2[1040];
    float Spread0; //0420
    float Spread1; //0424
    float Spread2; //0428
    float Spread3; //042C
    float Spread4; //0430
    float Spread5; //0434
    float Spread6; //0438
    float Spread7; //043C
    float Spread8; //0440
    float Spread9; //0444
    char unknown3[356];
    float Recoil1; //05AC
    float Recoil2; //05B0
    float Recoil3; //05B4
    float Recoil4; //05B8
    char unknown4[52];
    float Recoil5; //05F0
    float Recoil6; //05F4
    float Recoil7; //05F8
    float Recoil8; //05FC
};
Code:
CWeapon *GetPlayerWeapon( int iWeaponID )
{
    DWORD dwRet;
    __asm
    {
        MOV EAX,iWeaponID;
        AND EAX,0xFF;
        MOV EAX,[ 0x8DDB50 + EAX* 0x4 ];
        MOV dwRet,EAX;
    }
    return ( CWeapon* )( *( DWORD* ) dwRet );
}
Then..
Code:
CWeapon* pWeapon = GetPlayerWeapon( pLocalEnt->weaponID );
pWeapon->Spread0=0;
pWeapon->Spread1=0;
pWeapon->Spread2=0;
pWeapon->Spread3=0;
pWeapon->Spread4=0;
pWeapon->Spread5=0;
pWeapon->Spread6=0;
pWeapon->Spread7=0;
pWeapon->Spread8=0;
pWeapon->Spread9=0;
Credits to Sfab1
Quote Originally Posted by master131 View Post


I can think of a method that might work without needing host or hooking CL_WritePacket. I'm not sure it'd work and I don't want to test it to risk getting banned. Free weekend is over now.
Ok I dont know anything bout hooking, didnt know anything was detected at all ()
I've been hoking/detouring a lot of functions like WritePacket, CG_Draw2D, UI.ShowList and so on.. I don't really think that the ban risk of this would be that high... otherwise I'd be banned already..
Quote Originally Posted by MarkHC View Post
I've been hoking/detouring a lot of functions like WritePacket, CG_Draw2D, UI.ShowList and so on.. I don't really think that the ban risk of this would be that high... otherwise I'd be banned already..
Yes but I want to make it easy to implement instead of having to code an injectable DLL. Anyway, I just had a think over it, it'd only be visual.

Quote Originally Posted by MarkHC View Post
If you are host:

Code:
 class CWeapon
{
public:
    char szName[16];
    char unknown2[1040];
    float Spread0; //0420
    float Spread1; //0424
    float Spread2; //0428
    float Spread3; //042C
    float Spread4; //0430
    float Spread5; //0434
    float Spread6; //0438
    float Spread7; //043C
    float Spread8; //0440
    float Spread9; //0444
    char unknown3[356];
    float Recoil1; //05AC
    float Recoil2; //05B0
    float Recoil3; //05B4
    float Recoil4; //05B8
    char unknown4[52];
    float Recoil5; //05F0
    float Recoil6; //05F4
    float Recoil7; //05F8
    float Recoil8; //05FC
};
Code:
CWeapon *GetPlayerWeapon( int iWeaponID )
{
    DWORD dwRet;
    __asm
    {
        MOV EAX,iWeaponID;
        AND EAX,0xFF;
        MOV EAX,[ 0x8DDB50 + EAX* 0x4 ];
        MOV dwRet,EAX;
    }
    return ( CWeapon* )( *( DWORD* ) dwRet );
}
Then..
Code:
CWeapon* pWeapon = GetPlayerWeapon( pLocalEnt->weaponID );
pWeapon->Spread0=0;
pWeapon->Spread1=0;
pWeapon->Spread2=0;
pWeapon->Spread3=0;
pWeapon->Spread4=0;
pWeapon->Spread5=0;
pWeapon->Spread6=0;
pWeapon->Spread7=0;
pWeapon->Spread8=0;
pWeapon->Spread9=0;
Credits to Sfab1
If that doesn't reset per frame (which I'm hoping it doesn't), it'd be quite easy to implement externally (well for me at least).
Quote Originally Posted by master131 View Post
Yes but I want to make it easy to implement instead of having to code an injectable DLL. Anyway, I just had a think over it, it'd only be visual.



If that doesn't reset per frame (which I'm hoping it doesn't), it'd be quite easy to implement externally (well for me at least).
Well test it out I'm pretty sure people would love it
Quote Originally Posted by CyanideC00kies View Post
I was told that for whatever reason you guys haven't figured out no spread, so I might as well share.

Code:
#define NoRecoil 0x004FC600
#define NoSpread 0x004F5A70

void ToggleRecoilSpread(BOOL t)
{
	BYTE patch[] = {0xC3,0x90,0x90};
	BYTE orig[] = {0x83,0xEC,0x00};

	if (t)
	{
		WriteProcessMemory(proc,(void*)NoRecoil,&patch,3,NULL);
		WriteProcessMemory(proc,(void*)NoSpread,&patch,3,NULL);
	}
	else
	{
		orig[2] = 0x18;
		WriteProcessMemory(proc,(void*)NoRecoil,&orig,3,NULL);
		orig[2] = 0x44;
		WriteProcessMemory(proc,(void*)NoSpread,&orig,3,NULL);
	}
}
Spread works, but not recoil
Quote Originally Posted by NitroSmily View Post
Spread works, but not recoil
Did you actually read the posts above where we say that the No-Spread effect IS ONLY VISUAL! The crosshair will get smaller.. the shots will seems to go all on the same spot.. but the packets that you send to the server are still with regular spread... try to kill someone with a no-scope from a long distance... I bet $20 you'll fail every single time.
Quote Originally Posted by MarkHC View Post
Did you actually read the posts above where we say that the No-Spread effect IS ONLY VISUAL! The crosshair will get smaller.. the shots will seems to go all on the same spot.. but the packets that you send to the server are still with regular spread... try to kill someone with a no-scope from a long distance... I bet $20 you'll fail every single time.
I read the post and I'm still saying that the spread works, because it changes something atleast. The no recoil just crashes the game -.-
Quote Originally Posted by NitroSmily View Post
I read the post and I'm still saying that the spread works, because it changes something atleast. The no recoil just crashes the game -.-
The NoSpread has a massive placebo effect, mostly just because there's a nice crosshair, and you tend to be more accurate with hipfire. Try playing with an external crosshair and you'll get the same outcome.
Posts 1–15 of 24 · Page 1 of 2

Post a Reply

Similar Threads

Tags for this Thread

None

Talk with us