Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void __fastcall cAntiAim::FakeAngle3( CUserCmd* c )
- {
- if( c->buttons & IN_ATTACK) //disable by attacking
- return;
- CBaseEntity* me = HalFLife2.m_pMyPlayer->BaseEnt();
- if (HalFLife2.m_pGui->CVars[256] == 1)
- {
- C_BaseCombatWeapon* m_pWeapon = HalFLife2.m_pNeeded->GetBaseCombatActiveWeapon ( HalFLife2.m_pMyPlayer->BaseEnt() );
- if ( !m_pWeapon )
- return ;
- const char *myWeap = HalFLife2.m_pModelinfo->GetModelName ( m_pWeapon->GetModel());
- if( strstr( myWeap, "_knife_t.mdl" ) //disable on special weapons
- || strstr( myWeap, "_knife_ct.mdl" )
- || strstr( myWeap, "_eq_flashbang.mdl" )
- || strstr( myWeap, "_eq_fraggrenade.mdl" )
- || strstr( myWeap, "_eq_smokegrenade.mdl" )
- || strstr( myWeap, "_c4.mdl" )
- || (c->buttons & IN_USE))
- return;
- //save angles for walking normaly
- Vector vForward,vRight,vUp,aForward,aRight,aUp,nForward,nRight,nUp;
- QAngle angles;
- float forward = c->forwardmove,right = c->sidemove,up = c->upmove,time = HalFLife2.m_pEngine->Time();
- angles.Init(0.0f,c->viewangles.y,0.0f);
- angles.Init(0.0f,c->viewangles.x,0.0f);
- AngleVectors(angles,&vForward,&vRight,&vUp);
- AngleVectors(c->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( c->viewangles.Length() > 0 )
- {
- c->viewangles = (c->viewangles / c->viewangles.Length()) * c->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(c->viewangles - my_fake_view),fake);
- }
- if( false )
- {
- VectorCopy(QAngle(c->viewangles + my_fake_view),fake);
- }
- if( c->viewangles.Length() > 0 )
- {
- c->viewangles = (c->viewangles / c->viewangles.Length()) * c->viewangles.Length();
- }
- AngleVectors(c->viewangles, &viewforward, &viewright, &viewup);
- //correction
- if(c->viewangles.x = fake.x);
- while(c->viewangles.x < -180)c->viewangles.x += 360;
- if(c->viewangles.x = fake.x);
- while(c->viewangles.x > 180)c->viewangles.x -= 360;
- if(c->viewangles.y = fake.y);
- while(c->viewangles.y < -180)c->viewangles.y += 360;
- if(c->viewangles.y = fake.y);
- while(c->viewangles.y > 180)c->viewangles.y -= 360;
- if(c->viewangles.z = fake.z);
- while(c->viewangles.z < -180)c->viewangles.z += 360;
- //restor old angles for walking normaly
- angles.Init(0.0f,c->viewangles.x,0.0f);
- angles.Init(0.0f,c->viewangles.y,0.0f);
- AngleVectors(angles,&aForward,&aRight,&aUp);
- AngleVectors(c->viewangles,&aForward,&aRight,&aUp);
- Normalize(vForward,nForward);
- Normalize(vRight,nRight);
- Normalize(vUp,nUp);
- c->forwardmove = DotProduct(forward * nForward,aForward) + DotProduct(right * nRight,aForward) + DotProduct(up * nUp,aForward);
- c->sidemove = DotProduct(forward * nForward,aRight) + DotProduct(right * nRight,aRight) + DotProduct(up * nUp,aRight);
- c->upmove = DotProduct(forward * nForward,aUp) + DotProduct(right * nRight,aUp) + DotProduct(up * nUp,aUp);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement