im trying to do dods nospread.. i have detoured FX_Firebullets and readin flSpread out of it.
Like this...
DWORD FireBullets_Address = m_pMemory.dwFindPattern(GetModuleHandle("client.dll"), (BYTE*)"x8BxDx00x00x00x00x81xECx00x00x00x00x55x8BxACx24x00x00x00x00x56x57x55xE8x00x00x00x00x8BxF0x85xF6x74x00x8Bx6x8Bx90x00x00x00x00x8BxCExFFxD2x84xC0x74x00x6Ax00x68x00x00x00x00x68x00x00x00x00x6Ax00x56xE8x00x00x00x00x83xC4x00x8BxF0xEBx00x33xF6x8BxBCx24x00x00x00x00x57xE8x00x00x00x0", "xx????xx????xxxx????xxxx????xxxxx?xxxx????xxxxxxx?x?x????x????x?xx????xx?xxx?xxxxx????xx???" ); FX_FireBullets = (FX_FireBullets_org)FbDetour.Initialize( (void*)FireBullets_Address, FX_FireBullets_new );
iSeed++; ... RandomSeed( iSeed ); // init random system with this seed // Get circular gaussian spread. float x, y; x = RandomFloat( -0.5, 0.5 ) + RandomFloat( -0.5, 0.5 ); y = RandomFloat( -0.5, 0.5 ) + RandomFloat( -0.5, 0.5 ); iSeed++; // use new seed for next bullet pPlayer->FireBullet( vOrigin, vAngles, flSpread, iDamage, iAmmoType, pPlayer, bDoEffects, x,y );
int iSeed = seed; iSeed++; RandomSeed(iSeed); vec[0] = RandomFloat(-0.5, 0.5) + RandomFloat(-0.5, 0.5); vec[1] = RandomFloat(-0.5, 0.5) + RandomFloat(-0.5, 0.5); float flSpread = 0.0f; flSpread = Spread;
Comment