Advertisement
Guest User

Untitled

a guest
Jan 25th, 2020
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.96 KB | None | 0 0
  1. void ApplySilentAngles(float* angles, usercmd_s* cmd)
  2. {
  3. cl_entity_s* pLocal;
  4. Vector viewforward, viewright, viewup, aimforward, aimright, aimup, vTemp;
  5. float newforward, newright, newup;
  6. float forward = cmd->forwardmove;
  7. float right = cmd->sidemove;
  8. float up = cmd->upmove;
  9.  
  10. pLocal = GetLocalPlayer();
  11. if (!pLocal) return;
  12.  
  13. if (pLocal->curstate.movetype == MOVETYPE_WALK) { g_Engine.pfnAngleVectors(Vector(0.0f, cmd->viewangles.y, 0.0f), viewforward, viewright, viewup); }
  14. else { g_Engine.pfnAngleVectors(cmd->viewangles, viewforward, viewright, viewup); }
  15.  
  16. if (pLocal->curstate.movetype == MOVETYPE_WALK && !(g_Local.movetype == 5)) {
  17. cmd->viewangles.x = angles[0];
  18. cmd->viewangles.y = angles[1];
  19. }
  20.  
  21. if (pLocal->curstate.movetype == MOVETYPE_WALK) { g_Engine.pfnAngleVectors(Vector(0.0f, cmd->viewangles.y, 0.0f), aimforward, aimright, aimup); }
  22. else { g_Engine.pfnAngleVectors(cmd->viewangles, aimforward, aimright, aimup); }
  23.  
  24. newforward = DotProduct(forward * viewforward.Normalize(), aimforward) + DotProduct(right * viewright.Normalize(), aimforward) + DotProduct(up * viewup.Normalize(), aimforward);
  25. newright = DotProduct(forward * viewforward.Normalize(), aimright) + DotProduct(right * viewright.Normalize(), aimright) + DotProduct(up * viewup.Normalize(), aimright);
  26. newup = DotProduct(forward * viewforward.Normalize(), aimup) + DotProduct(right * viewright.Normalize(), aimup) + DotProduct(up * viewup.Normalize(), aimup);
  27.  
  28. if (angles[0] > 81) { cmd->forwardmove = -newforward; }
  29. else { cmd->forwardmove = newforward; }
  30.  
  31. cmd->sidemove = newright;
  32. cmd->upmove = newup;
  33. }
  34.  
  35. //===================================================================================
  36. void PreV_CalcRefdef (struct ref_params_s *pparams)
  37. {
  38. VectorCopy(pparams->punchangle,me.punchangle);
  39. if (cvar.recoil) for (int i=0; i<3; i++) pparams->punchangle[i] = 0;
  40. if( pparams->nextView == 0 )
  41. {
  42. if (cvar.spec_fix)
  43. {
  44. gAimbot.FindTarget();
  45. } else {
  46. gAimbot.target = -1;
  47. }
  48.  
  49. if( gAimbot.target != -1 && cvar.autoburst)
  50. {
  51. // == update burst settings
  52. int dist = vPlayers[gAimbot.target].distance/22;
  53. BurstInfo::RangeInfo* range = burstInfo.get(currentWeaponID,dist );
  54.  
  55. // update burst variables
  56. cvar.ftime = range->ftime;
  57. cvar.dtime = range->dtime;
  58. cvar.sdelay = range->sdelay;
  59. cvar.burstflags = range->flags;
  60. }
  61.  
  62. if ( !me.alive) { cvar.speed = 0.0; }
  63. if ( cvar.aim )
  64. if ( (me.iClip && me.pmMoveType!=5) || !me.alive )
  65. if ( gAimbot.target!=-1 )
  66. if ( pparams->nextView == 0 )
  67. {
  68. Aimbot_active = true;
  69. gAimbot.CalcViewAngles();
  70. if (!cvar.silent)
  71. {
  72. VectorCopy(gAimbot.aim_viewangles, pparams->viewangles);
  73. VectorCopy(gAimbot.aim_viewangles, pparams->cl_viewangles);
  74. }
  75. else
  76. {
  77. ApplySilentAngles(gAimbot.aim_viewangles, pparams->cmd);
  78. }
  79. }
  80. for (int ax=0;ax<vPlayers.size();ax++)
  81. {
  82. vPlayers[ax].decrPVS();
  83. vPlayers[ax].numTargetSpots = 0;
  84. }
  85. }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement