Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Players = game:GetService("Players")
- local ReplicatedStorage = game:GetService("ReplicatedStorage")
- local TweenService = game:GetService("TweenService")
- local Workspace = game:GetService("Workspace")
- local Player = Players.LocalPlayer
- local Character = Player.Character or Player.CharacterAdded:Wait()
- local Camera = Workspace.CurrentCamera
- local Remotes = ReplicatedStorage.Remotes
- local EnableCutsceneEvent = Remotes.EnableCutsceneEvent
- local DisableCutsceneEvent = Remotes.DisableCutsceneEvent
- local OriginalDistance = nil
- EnableCutsceneEvent.OnClientEvent:Connect(function(Part: BasePart)
- if not Part then return end
- local Head = Character:FindFirstChild("Head")
- if not Head then return end
- OriginalDistance = (Camera.CFrame.Position - Head.Position).Magnitude
- Camera.CameraType = Enum.CameraType.Scriptable
- TweenService:Create(Camera, TweenInfo.new(1), {CFrame = Part.CFrame}):Play()
- end)
- DisableCutsceneEvent.OnClientEvent:Connect(function()
- local Head = Character:FindFirstChild("Head")
- if not Head then return end
- local Direction = (Camera.CFrame.Position - Head.Position).Unit
- local TargetPosition = Head.Position + Direction * OriginalDistance
- local TargetCFrame = CFrame.lookAt(TargetPosition, Head.Position)
- TweenService:Create(Camera, TweenInfo.new(1), {CFrame = TargetCFrame}):Play()
- task.wait(1)
- Camera.CameraType = Enum.CameraType.Custom
- end)
Add Comment
Please, Sign In to add comment