Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as C++ by Ballin ( 17 years ago )
void antiaim::Fakeangles(CUserCmd* cmd)
{
if(gWeapon.IsAttacking(cmd))
return;
if(gWeapon.IsCurWepGrenade())
return;
if(gWeapon.IsJumping(cmd))
return;
if(gWeapon.IsCurWepKnife())
return;
if(gWeapon.IsDefusing(cmd))
return;
if(cmd->buttons & IN_ATTACK || gNospread.noAim)
return;
Vector vForward,vRight,vUp,aForward,aRight,aUp,nForward,nRight,nUp;
QAngle angles;
float forward = cmd->forwardmove,right = cmd->sidemove,up = cmd->upmove,time = m_pEngine->Time();
angles.Init(0.0f,cmd->viewangles.y,0.0f);
angles.Init(0.0f,cmd->viewangles.x,0.0f);
AngleVectors(angles,&vForward,&vRight,&vUp);
AngleVectors(cmd->viewangles,&vForward,&vRight,&vUp);
CBaseEntity* me = gPlayer.baseEnt();
if (Cvars.fake_angles ==1)
{
//save angles for walking normaly
Vector vForward,vRight,vUp,aForward,aRight,aUp,nForward,nRight,nUp;
QAngle angles;
float forward = cmd->forwardmove,right = cmd->sidemove,up = cmd->upmove,time = m_pEngine->Time();
angles.Init(0.0f,cmd->viewangles.y,0.0f);
angles.Init(0.0f,cmd->viewangles.x,0.0f);
AngleVectors(angles,&vForward,&vRight,&vUp);
AngleVectors(cmd->viewangles,&vForward,&vRight,&vUp);
//FakeAngles
QAngle my_fake_view = QAngle(904.0f + float(rand() % 16),180.0f + float(rand() % 15),360.0f + float(rand() % 15));
if( cmd->viewangles.Length() > 0 )
{
cmd->viewangles = (cmd->viewangles / cmd->viewangles.Length()) * cmd->viewangles.Length();
}
if( my_fake_view.Length() > 1 )
{
my_fake_view = (my_fake_view / my_fake_view.Length()) * my_fake_view.Length();
}
Vector viewforward,viewright,viewup;
Vector aimforward,aimright,aimup;
//apply fake angles
QAngle fake = QAngle(0,0,0);
if( true )
{
VectorCopy(QAngle(cmd->viewangles - my_fake_view),fake);
}
if( false )
{
VectorCopy(QAngle(cmd->viewangles + my_fake_view),fake);
}
if( cmd->viewangles.Length() > 0 )
{
cmd->viewangles = (cmd->viewangles / cmd->viewangles.Length()) * cmd->viewangles.Length();
}
AngleVectors(cmd->viewangles, &viewforward, &viewright, &viewup);
//correction
if(cmd->viewangles.x = fake.x);
while(cmd->viewangles.x < -180)cmd->viewangles.x += 360;
if(cmd->viewangles.x = fake.x);
while(cmd->viewangles.x > 180)cmd->viewangles.x -= 360;
if(cmd->viewangles.y = fake.y);
while(cmd->viewangles.y < -180)cmd->viewangles.y += 360;
if(cmd->viewangles.y = fake.y);
while(cmd->viewangles.y > 180)cmd->viewangles.y -= 360;
if(cmd->viewangles.z = fake.z);
while(cmd->viewangles.z < -180)cmd->viewangles.z += 360;
}
AngleVectors(angles,&aForward,&aRight,&aUp);
AngleVectors(cmd->viewangles,&aForward,&aRight,&aUp);
gExtra.Normalize(vForward,nForward);
gExtra.Normalize(vRight,nRight);
gExtra.Normalize(vUp,nUp);
cmd->forwardmove = DotProduct(forward * nForward,aForward) + DotProduct(right * nRight,aForward) + DotProduct(up * nUp,aForward);
cmd->sidemove = DotProduct(forward * nForward,aRight) + DotProduct(right * nRight,aRight) + DotProduct(up * nUp,aRight);
cmd->upmove = DotProduct(forward * nForward,aUp) + DotProduct(right * nRight,aUp) + DotProduct(up * nUp,aUp);
}
Revise this Paste