Snorflake

spinbot

Mar 10th, 2015
528
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.29 KB | None | 0 0
  1.  
  2.     /*Stole this from Darkstorm*/
  3.     void Spinbot(CUserCmd* pCommand)
  4.     {
  5.         if (pCommand->buttons & 1 << 0)
  6.             return;
  7.  
  8.         Vector viewforward, viewright, viewup, aimforward, aimright, aimup;
  9.         QAngle qAimAngles;
  10.  
  11.         float forward = pCommand->forwardmove;
  12.         float right = pCommand->sidemove;
  13.         float up = pCommand->upmove;
  14.  
  15.         qAimAngles.Init(0.0f, pCommand->viewangles.y, 0.0f);
  16.         AngleVectors(qAimAngles, &viewforward, &viewright, &viewup);
  17.  
  18.         float fTime = interfaceManager.Engine->Time();
  19.         pCommand->viewangles.y = (vec_t)(fmod(fTime / 0.1f * 360.0f, 360.0f));
  20.         qAimAngles.Init(0.0f, pCommand->viewangles.y, 0.0f);
  21.  
  22.         AngleVectors(qAimAngles, &aimforward, &aimright, &aimup);
  23.  
  24.         Vector vForwardNorm;        Normalize(viewforward, vForwardNorm);
  25.         Vector vRightNorm;          Normalize(viewright, vRightNorm);
  26.         Vector vUpNorm;             Normalize(viewup, vUpNorm);
  27.  
  28.         pCommand->forwardmove = DotProduct(forward * vForwardNorm, aimforward) + DotProduct(right * vRightNorm, aimforward) + DotProduct(up * vUpNorm, aimforward);
  29.         pCommand->sidemove = DotProduct(forward * vForwardNorm, aimright) + DotProduct(right * vRightNorm, aimright) + DotProduct(up * vUpNorm, aimright);
  30.         pCommand->upmove = DotProduct(forward * vForwardNorm, aimup) + DotProduct(right * vRightNorm, aimup) + DotProduct(up * vUpNorm, aimup);
  31.     }
Advertisement
Add Comment
Please, Sign In to add comment