local folder = game.Workspace:WaitForChild("Cutscene Example") -- Change for each cutscene
local player
local activated = false
local cameras = 0
local tweenSerivce = game:GetService("TweenService")
local fadeInfo = TweenInfo.new(0.25, Enum.EasingStyle.Exponential)
local function fadeBlack()
tweenSerivce:Create(player.PlayerGui.BlackScreen.Frame, fadeInfo, {BackgroundTransparency = 0}):Play()
end
local function unfadeBlack()
tweenSerivce:Create(player.PlayerGui.BlackScreen.Frame, fadeInfo, {BackgroundTransparency = 1}):Play()
end
local function finish()
unfadeBlack()
wait(0.25)
player.Character.Humanoid.WalkSpeed = 10
workspace.Camera.CameraType = Enum.CameraType.Custom
end
local function main()
local curCam = 0
repeat
cameras += -1
curCam += 1
local cam = folder.Points:FindFirstChild(tostring(curCam))
workspace.Camera.CFrame = cam.CFrame
unfadeBlack()
if cam:FindFirstChild("TweenToNext").Value == true then
local tweenInfo = TweenInfo.new(cam:FindFirstChild("Time").Value)
tweenSerivce:Create(workspace.Camera, tweenInfo, {CFrame = folder.Points:FindFirstChild(tostring(curCam + 1).CFrame)}):Play()
end
if cam:FindFirstChild("Fade").Value == true then
wait(cam:FindFirstChild("Time").Value - 0.25)
fadeBlack()
wait(0.25)
else
wait(cam:FindFirstChild("Time").Value)
end
until cameras <= 0
finish()
end
local function setUp()
player.Character.Humanoid.WalkSpeed = 0
workspace.Camera.CameraType = Enum.CameraType.Scriptable
fadeBlack()
for _,part in folder.Points:GetChildren() do
part.Transparency = 1
part.CanCollide = false
cameras += 1
end
wait(0.25)
main()
end
local trigger = folder:WaitForChild("Activate")
trigger.Touched:Connect(function(part) --Start condition
if not activated then
if part.Parent:FindFirstChild("Humanoid") then
player = game.Players:GetPlayerFromCharacter(part.Parent)
activated = true
setUp()
end
end
end)```
I think workspace.Camera doesn’t carry over ingame, I might be wrong since I don’t do alot of this stuff with camera. Is this a local script or server?
local folder = game.Workspace:WaitForChild("Cutscene Example") -- Change for each cutscene
local player
local activated = false
local cameras = 0
local tweenSerivce = game:GetService("TweenService")
local fadeInfo = TweenInfo.new(0.25, Enum.EasingStyle.Exponential)
local function fadeBlack()
tweenSerivce:Create(player.PlayerGui.BlackScreen.Frame, fadeInfo, {BackgroundTransparency = 0}):Play()
end
local function unfadeBlack()
tweenSerivce:Create(player.PlayerGui.BlackScreen.Frame, fadeInfo, {BackgroundTransparency = 1}):Play()
end
local function finish()
unfadeBlack()
wait(0.25)
player.Character.Humanoid.WalkSpeed = 10
workspace.Camera.CameraType = Enum.CameraType.Custom
end
local function main()
local curCam = 0
repeat
cameras += -1
curCam += 1
local cam = folder.Points:FindFirstChild(tostring(curCam))
workspace.Camera.CFrame = cam.CFrame
unfadeBlack()
if cam:FindFirstChild("TweenToNext").Value == true then
local tweenInfo = TweenInfo.new(cam:FindFirstChild("Time").Value)
tweenSerivce:Create(workspace.Camera, tweenInfo, {CFrame = folder.Points:FindFirstChild(tostring(curCam + 1).CFrame)}):Play()
end
if cam:FindFirstChild("Fade").Value == true then
wait(cam:FindFirstChild("Time").Value - 0.25)
fadeBlack()
wait(0.25)
else
wait(cam:FindFirstChild("Time").Value)
end
until cameras <= 0 or curCam >= 2
finish()
end
local function setUp()
player.Character.Humanoid.WalkSpeed = 0
workspace.Camera.CameraType = Enum.CameraType.Scriptable
fadeBlack()
for _,part in folder.Points:GetChildren() do
part.Transparency = 1
part.CanCollide = false
cameras += 1
end
wait(0.25)
main()
end
local trigger = folder:WaitForChild("Activate")
trigger.Touched:Connect(function(part) --Start condition
if not activated then
if part.Parent:FindFirstChild("Humanoid") then
player = game.Players:GetPlayerFromCharacter(part.Parent)
activated = true
setUp()
end
end
end)```