*----------------------------------------------[下载区]----------------------------------------------*
1 local UX = {} 2 UX.Enabled = false 3 UX.ViewOrigin = Vector( 0, 0, 0 ) 4 UX.ViewAngle = Angle( 0, 0, 0 ) 5 UX.Velocity = Vector( 0, 0, 0 ) 6 function UX.CalcView( ply, origin, angles, fov ) 7 if ( !UX.Enabled ) then return end 8 if ( UX.SetView ) then 9 UX.ViewOrigin = origin 10 UX.ViewAngle = angles 11 UX.fov = 90 12 UX.SetView = false 13 end 14 return { origin = UX.ViewOrigin, angles = UX.ViewAngle, fov = UX.fov } 15 end 16 hook.Add( "CalcView", "uxcalc", UX.CalcView ) 17 function UX.CreateMove( cmd, ply, origin, angles, fov ) 18 if ( !UX.Enabled ) then return end 19 local time = FrameTime() 20 UX.ViewOrigin = UX.ViewOrigin + ( UX.Velocity * time) 21 UX.Velocity = UX.Velocity * 0.95 22 local sensitivity = 0.022 23 UX.ViewAngle.p = math.Clamp( UX.ViewAngle.p + ( cmd:GetMouseY() * sensitivity ), -89, 89 ) 24 UX.ViewAngle.y = UX.ViewAngle.y + ( cmd:GetMouseX() * -1 * sensitivity ) 25 local nig = Vector( 0, 0, 0 ) 26 local add = Vector( 0, 0, 0 ) 27 local ang = UX.ViewAngle 28 if ( cmd:KeyDown( IN_FORWARD ) ) then add = add + ang:Forward() end 29 if ( cmd:KeyDown( IN_BACK ) ) then add = add - ang:Forward() end 30 if ( cmd:KeyDown( IN_MOVERIGHT ) ) then add = add + ang:Right() end 31 if ( cmd:KeyDown( IN_MOVELEFT ) ) then add = add - ang:Right() end 32 if ( cmd:KeyDown( IN_JUMP ) ) then add = add + ang:Up() end 33 if ( cmd:KeyDown( IN_DUCK ) ) then add = add - ang:Up() end 34 add = add:GetNormal() * 80 35 if ( cmd:KeyDown( IN_SPEED ) ) then add = add * 4 end 36 UX.Velocity = UX.Velocity + add 37 if ( UX.LockView == true ) then 38 UX.LockView = cmd:GetViewAngles() 39 end 40 if ( UX.LockView ) then 41 cmd:SetViewAngles( UX.LockView ) 42 end 43 cmd:SetForwardMove( 0 ) 44 cmd:SetSideMove( 0 ) 45 cmd:SetUpMove( 0 ) 46 end 47 hook.Add( "CreateMove", "uxwalk", UX.CreateMove ) 48 function UX.Toggle() 49 UX.Enabled = !UX.Enabled 50 UX.LockView = UX.Enabled 51 UX.SetView = true 52 end 53 concommand.Add( "uxcam", UX.Toggle ) 54 concommand.Add( "uxpos", function() print( UX.ViewOrigin ) end )
*----------------------------------------------[下载区]----------------------------------------------*
*----------------------------------------------[介绍区]----------------------------------------------*
本脚本可以让使用者的镜头在地图内随意移动 无视任何障碍物
控制台输入“uxcam”可进入自由镜头模式,纵览地图
控制台输入“uxpos”可获取自由镜头坐标,方便记录
*----------------------------------------------[介绍区]----------------------------------------------*
游戏截图: