I need my camera to move up and down during the animation (trying to get a shake effect)? Warning long!
LocalScript:
--Starting Varibles
local player = game.Players.LocalPlayer
local mouse = player:GetMouse()
local camera = game.Workspace.CurrentCamera
--Keypressed
mouse.KeyDown:connect(function(key)
--Find keybind
local keybind = script.Parent.KeybindText.Text
--Check keybind
if key:lower() == keybind or key:upper() == keybind then
--Camera
script.Parent.Parent.Parent.OnOff.Visible = false
game.Workspace[player.Name].Humanoid.WalkSpeed = 0
local newCamera = Instance.new("Part", game.Workspace[player.Name].Head)
newCamera.Name = "localNewCamera"
newCamera.Anchored = true
newCamera.CanCollide = false
local oy = game.Workspace[player.Name].Head.Orientation.Y
local ox = game.Workspace[player.Name].Head.Orientation.Y
wait(0.01)
newCamera.Orientation = Vector3.new(0,oy -180,0)
newCamera.Transparency = 1
wait(0.01)
local x = game.Workspace[player.Name].Head.Position.X
local y = game.Workspace[player.Name].Head.Position.Y
local z = game.Workspace[player.Name].Head.Position.Z
wait(0.01)
newCamera.Position = Vector3.new(x,y -1,z - 5)
wait(0.01)
camera.CameraType = "Scriptable"
camera.CFrame = game.Workspace[player.Name].Head.localNewCamera.CFrame
--Animation
local animation = Instance.new("Animation")
animation.AnimationId = "rbxassetid://2544696183"
local humanoid = game.Workspace[player.Name]:WaitForChild("Humanoid")
wait(0.01)
local track = humanoid:LoadAnimation(animation)
wait(0.2)
track:Play()
for i = 1,20 do
wait(0.1)
local nx = newCamera.Position.X
local ny = newCamera.Position.Y
local nz = newCamera.Position.Z
wait(0.1)
newCamera.CFrame = CFrame.new(nx,ny +0.1,nz)
wait(0.1)
newCamera.CFrame = CFrame.new(nx,ny -0.1,nz)
end
end
end)

1 comment
Try and run a game and look at the output for the errors.