Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if (CLIENT) then
- local view = {}
- local vec = Vector( 0, -32, 256 )
- local dist = 64
- local function CalcView( ply, origin, angles, fov )
- view.origin = ply:GetPos() + vec
- view.angles = (vec * -1):Angle()
- view.fov = fov
- return view
- end
- hook.Add( "CalcView", "AS_Cam", CalcView )
- local function ShouldDrawLocalPlayer()
- return true
- end
- hook.Add( "ShouldDrawLocalPlayer", "AS_DrawLocal", ShouldDrawLocalPlayer )
- local mX = ScrW() / 2
- local mY = ScrH() / 2
- local trace = {}
- local function InputMouseApply( cmd, x, y, angle )
- local w, h = ScrW(), ScrH()
- mX = mX + (x / 5)
- mY = mY + (y / 5)
- if (mX > w) then mX = w end
- if (mY > h) then mY = h end
- if (mX < 0) then mX = 0 end
- if (mY < 0) then mY = 0 end
- --print( x, y )
- trace.start = view.origin
- trace.endpos = trace.start + (gui.ScreenToVector( mX, mY ) * 1024)
- local tr = util.TraceLine( trace )
- local ang = (tr.HitPos - LocalPlayer():GetShootPos()):Angle()
- cmd:SetViewAngles( ang )
- --debugoverlay.Line(tr.StartPos, tr.HitPos, 10, Color(255, 0, 0))
- debugoverlay.Cross(tr.HitPos, 20, 10, Color(0, 0, 255))
- return true
- end
- hook.Add( "InputMouseApply", "AS_Mouse", InputMouseApply )
- end
- local unitForward = Vector( 0, 1, 0 )
- local unitRight = Vector( 1, 0, 0 )
- local speed = 270
- local acc = 2000
- local friction = 5
- local function SetupMove( ply, data )
- local t = CurTime()
- ply.lastFrame = ply.lastFrame or t
- ply.moveVel = ply.moveVel or Vector( 0, 0, 0 )
- local forward = 0
- local right = 0
- if (ply:KeyDown( IN_FORWARD )) then forward = 1 end
- if (ply:KeyDown( IN_BACK )) then forward = -1 end
- if (ply:KeyDown( IN_MOVERIGHT )) then right = 1 end
- if (ply:KeyDown( IN_MOVELEFT )) then right = -1 end
- local accel = ((unitForward * forward) + (unitRight * right)):Normalize() * acc
- local delta = t - ply.lastFrame
- ply.lastFrame = t
- ply.moveVel = (ply.moveVel + (accel * delta)) * math.Clamp( 1 - (friction * delta), 0, 1 )
- local len = ply.moveVel:Length()
- if (len > speed) then ply.moveVel = ply.moveVel:Normalize() * speed end
- local z = data:GetVelocity().z
- ply.moveVel.z = z
- data:SetVelocity( ply.moveVel )
- end
- hook.Add( "SetupMove", "AS_SetupMove", SetupMove )
Advertisement
Add Comment
Please, Sign In to add comment