68 lines
1.5 KiB
Lua
68 lines
1.5 KiB
Lua
|
|
local wa, wb = 0, 0
|
|
|
|
hook.Add( "CreateMove", "CamFuck", function( cmd )
|
|
|
|
local x, y = cmd:GetForwardMove(), cmd:GetSideMove()
|
|
wa, wb = x, y
|
|
|
|
local ad = Vector( x, y, 0 )
|
|
|
|
local an = Angle()
|
|
an:Set( RenderAngles() )
|
|
an.p = 0
|
|
|
|
local am = Angle()
|
|
am:Set( cmd:GetViewAngles() )
|
|
am.p = 0
|
|
|
|
ad:Rotate( am )
|
|
ad:Rotate( -an )
|
|
|
|
ad:Normalize()
|
|
ad:Mul(320)
|
|
|
|
--print(ad.x, ad.y)
|
|
|
|
cmd:SetForwardMove( ad.x )
|
|
cmd:SetSideMove( ad.y )
|
|
end)
|
|
|
|
function GM:PlayerNoClip()
|
|
return true
|
|
end
|
|
|
|
if CLIENT then
|
|
local function ss( scale )
|
|
return scale * ( ScrH() / 480 )
|
|
end
|
|
|
|
local w25, w50, w75, w100 = Color( 255, 255, 255, 0.25*255 ), Color( 255, 255, 255, 0.50*255 ), Color( 255, 255, 255, 0.75*255 ), Color( 255, 255, 255, 1.00*255 )
|
|
local g25, g50, g75, g100 = Color( 0, 0, 0, 0.25*255 ), Color( 0, 0, 0, 0.50*255 ), Color( 0, 0, 0, 0.75*255 ), Color( 0, 0, 0, 1.00*255 )
|
|
|
|
hook.Add( "HUDPaint", "HUDFuck", function()
|
|
local bo = ss( 20 )
|
|
local cr, cd = ss( 50 ), ss( 100 )
|
|
|
|
surface.SetDrawColor( g100 )
|
|
surface.DrawRect( bo, ScrH() - bo + cr, cd, cd )
|
|
|
|
surface.SetDrawColor( w25 )
|
|
surface.DrawLine( bo + cr, ScrH() - bo - cd, bo + cr, ScrH() - bo )
|
|
surface.DrawLine( bo, ScrH() - bo - cr, bo + cd, ScrH() - bo - cr )
|
|
|
|
surface.SetDrawColor( w100 )
|
|
surface.DrawCircle( bo + cr, ScrH() - bo - cr, cr )
|
|
|
|
local ox, oy = 0, 0
|
|
local msp = 300
|
|
|
|
ox = wb/msp
|
|
oy = -wa/msp
|
|
|
|
ox = math.Clamp( ox, -1, 1 ) * cr
|
|
oy = math.Clamp( oy, -1, 1 ) * cr
|
|
|
|
surface.DrawCircle( bo + cr + ox, ScrH() - bo - cr + oy, ss( 2 ) )
|
|
end)
|
|
end |