I just tested this online, I hope it works for you so that you can debunk it.
local Camera = workspace.CurrentCamera
local Player = game.Players.LocalPlayer
local Character = Player.Character or Player.CharacterAdded:wait()
local Humanoid = Character:WaitForChild("Humanoid")
local Shaking = false
local Increment = 10
local Delta = 0.1
Humanoid.Running:connect(function(Speed)
if Shaking and Speed > 0 then
return
end
if Speed > 0 then
Shaking = true
local v = 0
game:GetService("RunService"):BindToRenderStep("ShakeCamera", 1, function()
v = v + Increment
Camera.CoordinateFrame = Camera.CoordinateFrame * CFrame.fromAxisAngle(
Vector3.new(1, 0, 0),
math.rad(Delta * math.sin(Increment * tick()))
)
end)
else
Shaking = false
game:GetService("RunService"):UnbindFromRenderStep("ShakeCamera")
end
end)
|