Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local CSBOI = {}
- CSBOI.CircleStrafeVal = 0
- CSBOI._G = table.Copy(_G)
- CSBOI.localply = CSBOI._G.LocalPlayer()
- CSBOI.cl_forwardspeed_cvar = CSBOI._G.GetConVar("cl_forwardspeed")
- CSBOI.cl_forwardspeed_value = 10000
- if (CSBOI.cl_forwardspeed_cvar) then
- CSBOI.cl_forwardspeed_value = CSBOI.cl_forwardspeed_cvar:GetFloat()
- end
- CSBOI.cl_sidespeed_cvar = CSBOI._G.GetConVar("cl_sidespeed")
- CSBOI.cl_sidespeed_value = 10000
- if (CSBOI.cl_sidespeed_cvar) then
- CSBOI.cl_sidespeed_value = CSBOI.cl_sidespeed_cvar:GetFloat()
- end
- function CSBOI.ClampMove(cmd)
- if (cmd:GetForwardMove() > CSBOI.cl_forwardspeed_value) then
- cmd:SetForwardMove(CSBOI.cl_forwardspeed_value)
- end
- if (cmd:GetSideMove() > CSBOI.cl_sidespeed_value) then
- cmd:SetSideMove(CSBOI.cl_sidespeed_value)
- end
- end
- function CSBOI.FixMove(cmd, rotation)
- local rot_cos = CSBOI._G.math.cos(rotation)
- local rot_sin = CSBOI._G.math.sin(rotation)
- local cur_forwardmove = cmd:GetForwardMove()
- local cur_sidemove = cmd:GetSideMove()
- cmd:SetForwardMove(((rot_cos * cur_forwardmove) - (rot_sin * cur_sidemove)))
- cmd:SetSideMove(((rot_sin * cur_forwardmove) + (rot_cos * cur_sidemove)))
- end
- CSBOI.CircleStrafeSpeed = 3
- function CSBOI.CircleStrafe(cmd)
- if (CSBOI._G.input.IsKeyDown(KEY_W)) then
- CSBOI.CircleStrafeVal = CSBOI.CircleStrafeVal + CSBOI.CircleStrafeSpeed
- if ((CSBOI.CircleStrafeVal > 0) and ((CSBOI.CircleStrafeVal / CSBOI.CircleStrafeSpeed) > 361)) then
- CSBOI.CircleStrafeVal = 0
- end
- CSBOI.FixMove(cmd, CSBOI._G.math.rad((CSBOI.CircleStrafeVal - CSBOI._G.engine.TickInterval())))
- return false
- else
- CSBOI.CircleStrafeVal = 0
- end
- return true
- end
- function CSBOI.RunIt(cmd)
- if (CSBOI.localply) then
- if (cmd:KeyDown(IN_JUMP)) then
- local local_velocity = CSBOI.localply:GetVelocity()
- if (local_velocity:Length2D() < 50) then
- cmd:SetForwardMove(CSBOI.cl_forwardspeed_value)
- end
- local shouldautostrafe = CSBOI.CircleStrafe(cmd)
- if (!CSBOI.localply:OnGround()) then
- if (shouldautostrafe) then
- // Do your AutoStrafe Here
- end
- cmd:SetButtons(cmd:GetButtons() - IN_JUMP)
- end
- else
- CSBOI.CircleStrafeVal = 0
- end
- end
- CSBOI.ClampMove(cmd)
- end
- CSBOI._G.hook.Add("CreateMove", "CSBOI", CSBOI.RunIt)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement