local C=game:GetService("\082\117\110\083\101\114\118\105\099\101")local s=script.Parent local p=s:WaitForChild("\072\117\109\097\110\111\105\100")function updateBobbleEffect()local C=tick()if p.MoveDirection.Magnitude>0 then local s=math.cos(C*10)*.25 local A=math.abs(math.sin(C*10))*.25 local E=Vector3.new(s,A,0)p.CameraOffset=p.CameraOffset:lerp(E,.25)else p.CameraOffset=p.CameraOffset*.75 end end C.RenderStepped:Connect(updateBobbleEffect)
--Camera bobbing
-- Shakes the camera when the player is walking

local runService = game:GetService("RunService")

local character = script.Parent
local humanoid = character:WaitForChild("Humanoid")

function updateBobbleEffect()
	local currentTime = tick()
	if humanoid.MoveDirection.Magnitude > 0 then
		local bobbleX = math.cos(currentTime * 10) * 0.25
		local bobbleY = math.abs(math.sin(currentTime * 10)) * 0.25

		local bobble = Vector3.new(bobbleX, bobbleY, 0)

		humanoid.CameraOffset = humanoid.CameraOffset:lerp(bobble, 0.25)
	else
		humanoid.CameraOffset = humanoid.CameraOffset * 0.75
	end
end

runService.RenderStepped:Connect(updateBobbleEffect)
