Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.65 KB | None | 0 0
  1. void __fastcall cAntiAim::FakeAngle3( CUserCmd* c )
  2. {
  3. if( c->buttons & IN_ATTACK) //disable by attacking
  4. return;
  5.  
  6. CBaseEntity* me = HalFLife2.m_pMyPlayer->BaseEnt();
  7.  
  8. if (HalFLife2.m_pGui->CVars[256] == 1)
  9. {
  10.  
  11. C_BaseCombatWeapon* m_pWeapon = HalFLife2.m_pNeeded->GetBaseCombatActiveWeapon ( HalFLife2.m_pMyPlayer->BaseEnt() );
  12. if ( !m_pWeapon )
  13. return ;
  14.  
  15. const char *myWeap = HalFLife2.m_pModelinfo->GetModelName ( m_pWeapon->GetModel());
  16. if( strstr( myWeap, "_knife_t.mdl" ) //disable on special weapons
  17. || strstr( myWeap, "_knife_ct.mdl" )
  18. || strstr( myWeap, "_eq_flashbang.mdl" )
  19. || strstr( myWeap, "_eq_fraggrenade.mdl" )
  20. || strstr( myWeap, "_eq_smokegrenade.mdl" )
  21. || strstr( myWeap, "_c4.mdl" )
  22. || (c->buttons & IN_USE))
  23. return;
  24.  
  25. //save angles for walking normaly
  26. Vector vForward,vRight,vUp,aForward,aRight,aUp,nForward,nRight,nUp;
  27. QAngle angles;
  28. float forward = c->forwardmove,right = c->sidemove,up = c->upmove,time = HalFLife2.m_pEngine->Time();
  29. angles.Init(0.0f,c->viewangles.y,0.0f);
  30. angles.Init(0.0f,c->viewangles.x,0.0f);
  31. AngleVectors(angles,&vForward,&vRight,&vUp);
  32. AngleVectors(c->viewangles,&vForward,&vRight,&vUp);
  33.  
  34. //FakeAngles
  35.  
  36. //QAngle my_fake_view = QAngle(904.0f + float(rand() % 16),180.0f + float(rand() % 15),360.0f + float(rand() % 15));
  37.  
  38. if( c->viewangles.Length() > 0 )
  39. {
  40. c->viewangles = (c->viewangles / c->viewangles.Length()) * c->viewangles.Length();
  41. }
  42. if( my_fake_view.Length() > 1 )
  43. {
  44. my_fake_view = (my_fake_view / my_fake_view.Length()) * my_fake_view.Length();
  45. }
  46.  
  47.  
  48. Vector viewforward,viewright,viewup;
  49. Vector aimforward,aimright,aimup;
  50. //apply fake angles
  51. QAngle fake = QAngle(0,0,0);
  52. if( true )
  53. {
  54. VectorCopy(QAngle(c->viewangles - my_fake_view),fake);
  55. }
  56. if( false )
  57. {
  58. VectorCopy(QAngle(c->viewangles + my_fake_view),fake);
  59. }
  60. if( c->viewangles.Length() > 0 )
  61. {
  62. c->viewangles = (c->viewangles / c->viewangles.Length()) * c->viewangles.Length();
  63. }
  64.  
  65. AngleVectors(c->viewangles, &viewforward, &viewright, &viewup);
  66. //correction
  67. if(c->viewangles.x = fake.x);
  68. while(c->viewangles.x < -180)c->viewangles.x += 360;
  69.  
  70. if(c->viewangles.x = fake.x);
  71. while(c->viewangles.x > 180)c->viewangles.x -= 360;
  72.  
  73. if(c->viewangles.y = fake.y);
  74. while(c->viewangles.y < -180)c->viewangles.y += 360;
  75.  
  76. if(c->viewangles.y = fake.y);
  77. while(c->viewangles.y > 180)c->viewangles.y -= 360;
  78.  
  79. if(c->viewangles.z = fake.z);
  80. while(c->viewangles.z < -180)c->viewangles.z += 360;
  81. //restor old angles for walking normaly
  82. angles.Init(0.0f,c->viewangles.x,0.0f);
  83. angles.Init(0.0f,c->viewangles.y,0.0f);
  84. AngleVectors(angles,&aForward,&aRight,&aUp);
  85. AngleVectors(c->viewangles,&aForward,&aRight,&aUp);
  86. Normalize(vForward,nForward);
  87. Normalize(vRight,nRight);
  88. Normalize(vUp,nUp);
  89. c->forwardmove = DotProduct(forward * nForward,aForward) + DotProduct(right * nRight,aForward) + DotProduct(up * nUp,aForward);
  90. c->sidemove = DotProduct(forward * nForward,aRight) + DotProduct(right * nRight,aRight) + DotProduct(up * nUp,aRight);
  91. c->upmove = DotProduct(forward * nForward,aUp) + DotProduct(right * nRight,aUp) + DotProduct(up * nUp,aUp);
  92. }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement