self = script.Parent
c = workspace.CurrentCamera
rs = game:GetService("RunService")
player = game.Players.LocalPlayer
char = player.Character or player.CharacterAdded:wait()
humanoid = char:WaitForChild("Humanoid")
player.CameraMaxZoomDistance = 0.5
humanoid.CameraOffset = Vector3.new(0,0,-0.5)
function updateCam()
if humanoid then
local y = c.CoordinateFrame.lookVector.Y
humanoid.CameraOffset = Vector3.new(math.max(3,1.5-y),math.abs(y/2)-y*3.8642337322235,7-math.abs(y))
end
end
function lock(part)
if part and part:IsA("Hat") and part:WaitForChild("Handle") then
part = part.Handle
end
if part and part:IsA("BasePart") then
part.LocalTransparencyModifier = 0
part.Changed:connect(function ()
part.LocalTransparencyModifier = 0
end)
end
end
for _,v in pairs(char:GetChildren()) do
lock(v)
end
char.ChildAdded:connect(lock)
rs.RenderStepped:connect(updateCam)
i've been struggling with this for a while. :(

1 comment
What exactly are you asking?