Advertisement
Guest User

Circles

a guest
Aug 26th, 2016
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.23 KB | None | 0 0
  1. local CSBOI = {}
  2. CSBOI.CircleStrafeVal = 0
  3. CSBOI._G = table.Copy(_G)
  4. CSBOI.localply = CSBOI._G.LocalPlayer()
  5. CSBOI.cl_forwardspeed_cvar = CSBOI._G.GetConVar("cl_forwardspeed")
  6. CSBOI.cl_forwardspeed_value = 10000
  7. if (CSBOI.cl_forwardspeed_cvar) then
  8. CSBOI.cl_forwardspeed_value = CSBOI.cl_forwardspeed_cvar:GetFloat()
  9. end
  10. CSBOI.cl_sidespeed_cvar = CSBOI._G.GetConVar("cl_sidespeed")
  11. CSBOI.cl_sidespeed_value = 10000
  12. if (CSBOI.cl_sidespeed_cvar) then
  13. CSBOI.cl_sidespeed_value = CSBOI.cl_sidespeed_cvar:GetFloat()
  14. end
  15.  
  16. function CSBOI.ClampMove(cmd)
  17. if (cmd:GetForwardMove() > CSBOI.cl_forwardspeed_value) then
  18. cmd:SetForwardMove(CSBOI.cl_forwardspeed_value)
  19. end
  20. if (cmd:GetSideMove() > CSBOI.cl_sidespeed_value) then
  21. cmd:SetSideMove(CSBOI.cl_sidespeed_value)
  22. end
  23. end
  24.  
  25. function CSBOI.FixMove(cmd, rotation)
  26. local rot_cos = CSBOI._G.math.cos(rotation)
  27. local rot_sin = CSBOI._G.math.sin(rotation)
  28. local cur_forwardmove = cmd:GetForwardMove()
  29. local cur_sidemove = cmd:GetSideMove()
  30. cmd:SetForwardMove(((rot_cos * cur_forwardmove) - (rot_sin * cur_sidemove)))
  31. cmd:SetSideMove(((rot_sin * cur_forwardmove) + (rot_cos * cur_sidemove)))
  32. end
  33.  
  34. CSBOI.CircleStrafeSpeed = 3
  35. function CSBOI.CircleStrafe(cmd)
  36. if (CSBOI._G.input.IsKeyDown(KEY_W)) then
  37. CSBOI.CircleStrafeVal = CSBOI.CircleStrafeVal + CSBOI.CircleStrafeSpeed
  38. if ((CSBOI.CircleStrafeVal > 0) and ((CSBOI.CircleStrafeVal / CSBOI.CircleStrafeSpeed) > 361)) then
  39. CSBOI.CircleStrafeVal = 0
  40. end
  41. CSBOI.FixMove(cmd, CSBOI._G.math.rad((CSBOI.CircleStrafeVal - CSBOI._G.engine.TickInterval())))
  42. return false
  43. else
  44. CSBOI.CircleStrafeVal = 0
  45. end
  46. return true
  47. end
  48.  
  49. function CSBOI.RunIt(cmd)
  50. if (CSBOI.localply) then
  51. if (cmd:KeyDown(IN_JUMP)) then
  52. local local_velocity = CSBOI.localply:GetVelocity()
  53. if (local_velocity:Length2D() < 50) then
  54. cmd:SetForwardMove(CSBOI.cl_forwardspeed_value)
  55. end
  56. local shouldautostrafe = CSBOI.CircleStrafe(cmd)
  57. if (!CSBOI.localply:OnGround()) then
  58. if (shouldautostrafe) then
  59. // Do your AutoStrafe Here
  60. end
  61. cmd:SetButtons(cmd:GetButtons() - IN_JUMP)
  62. end
  63. else
  64. CSBOI.CircleStrafeVal = 0
  65. end
  66. end
  67. CSBOI.ClampMove(cmd)
  68. end
  69. CSBOI._G.hook.Add("CreateMove", "CSBOI", CSBOI.RunIt)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement