CCCPaste

Cutscene with Skip Cutscene (Break In Style)

local TweenService = game:GetService("TweenService")
local Camera = game.Workspace.CurrentCamera

local players = game.Players:GetPlayers()
local PlayersAmount = script.PlayersAmount

local function MoveCamera(StartPart, EndPart, Duration, EasingStyle, EasingDirection)
	Camera.CameraType = Enum.CameraType.Scriptable
	Camera.CFrame = StartPart.CFrame
	local Cutscene = TweenService:Create(Camera, TweenInfo.new(Duration, EasingStyle, EasingDirection), {CFrame = EndPart.CFrame})
	Cutscene:Play()
	wait(Duration)
end

local function EndCamera(StartPart, EndPart, Duration, EasingStyle, EasingDirection)
	Camera.CameraType = Enum.CameraType.Scriptable
	Camera.CFrame = StartPart.CFrame
	local Cutscene = TweenService:Create(Camera, TweenInfo.new(Duration, EasingStyle, EasingDirection), {CFrame = EndPart.CFrame})
	Cutscene:Play()
end

local function Cutscene()
	MoveCamera(workspace.Cutscenes.Camera3, workspace.Cutscenes.Camera4, 5 , Enum.EasingStyle.Linear, Enum.EasingDirection.Out)
	wait(.5)
	Camera.CameraType = Enum.CameraType.Custom
	Camera.CameraSubject = game.Players.LocalPlayer.Character:WaitForChild("Humanoid")
end

local function EndCutscene()
	EndCamera(workspace.Cutscenes.Camera3, workspace.Cutscenes.Camera4, 5 , Enum.EasingStyle.Linear, Enum.EasingDirection.Out)
end

game.ReplicatedStorage.Cutscenes.Cutscene2.OnClientEvent:Connect(function()
	script.Parent.CutsceneFrame.Visible = true
	Cutscene()
end)

script.Parent.CutsceneFrame.SkipButton.MouseButton1Click:Connect(function()
	PlayersAmount.Value += 1
end)

PlayersAmount:GetPropertyChangedSignal("Value"):Connect(function()
	script.Parent.CutsceneFrame.SkipButton.PlayesLeft.Text = PlayersAmount.Value.."/"..#players

	if PlayersAmount.Value >= #players then
		script.Parent.CutsceneFrame.Visible = false
		EndCutscene()
	end
end)

script.Parent.CutsceneFrame.SkipButton.PlayesLeft.Text = PlayersAmount.Value.."/"..#players