local tweenservice = game:GetService("TweenService") local plr = game.Players.LocalPlayer local currentCamera = workspace.CurrentCamera local folder = workspace:WaitForChild("Cutscene") local db = true local function cueCutsceneCam(speed) local tweeninfo = TweenInfo.new(speed, Enum.EasingStyle.Linear, Enum.EasingDirection.Out) currentCamera.CameraType = Enum.CameraType.Scriptable currentCamera.CFrame = folder[1].CFrame for i = 2, #folder:GetChildren() do if folder:FindFirstChild(i.."S") then currentCamera.CFrame = folder[i.."S"].CFrame else tweenservice:Create(currentCamera, tweeninfo, {CFrame = folder[i].CFrame}):Play() wait(tweeninfo.Time) end end currentCamera.CameraType = Enum.CameraType.Custom end workspace:WaitForChild("Trigger").Touched:Connect(function(touched) if touched.Parent == plr.Character and db == true then db = false cueCutsceneCam(3) wait(5) db = true end end)
idk why but the comment says "local folder = workspace:WaitForChild("Cutscene")" however the video says "local folder = workspace.Cutscene" the one in the comment didnt work for me however typing the thing in your video directly did
Thats odd, thanks for letting us know! Our guess is that it may have been an issue with the syntax from copying text in youtube. Although, were glad it worked out in the end for you!
i made the trigger part in the folder and i made the folders name "Objective8" i made it when i touch the trigger part the cam will go to the 1, from 1 to 2 with 10 seconds. and i made when i touch trigger so a text get in the screen. so i made some sort of cutscene with texts.
maybe if u can make it so the parts act as a path for the camera to take? and the time it takes to go between them is constant. because sometimes it can be 1 second but depending on the length there is between the parts it will go faster or slower
We will use 'repeat wait(1) until game:IsLoaded().' This will wait 1 second repeatedly until the game loads for the player. Then the loop will stop and continue to the next line, which is 'cueCutsceneCam.' This replaces the trigger function. Replace your code inside your local script with this: local tweenservice = game:GetService("TweenService") local plr = game.Players.LocalPlayer local currentCamera = workspace.CurrentCamera local folder = workspace:WaitForChild("Cutscene") local db = true local function cueCutsceneCam(speed) local tweeninfo = TweenInfo.new(speed, Enum.EasingStyle.Linear, Enum.EasingDirection.Out) currentCamera.CameraType = Enum.CameraType.Scriptable currentCamera.CFrame = folder[1].CFrame for i = 2, #folder:GetChildren() do if folder:FindFirstChild(i.."S") then currentCamera.CFrame = folder[i.."S"].CFrame else tweenservice:Create(currentCamera, tweeninfo, {CFrame = folder[i].CFrame}):Play() wait(tweeninfo.Time) end end currentCamera.CameraType = Enum.CameraType.Custom end repeat wait(1) until game:IsLoaded() cueCutsceneCam(3)
@@kevlarstudiorblx it dosent end, it just stays on the last camera and is it possible you can tell me to make the cutscene end with a gui button eg. play button EDIT: i fixed the camera being stuck on the last one, now all im after is a button that pops up once the last camera is displayed, 5th for me and once the button is clicked the cutscene ends
Doesn't work. Placing the code, triple checking it is the same following every step to the letter - it doe snot trigger at all. Deleted everything and moving on to another "tutorial" that will hopefully work.
how can i like change the speeds of different transitions?? like for example: i want the camera to go from 1 to 2 in 3 seconds and then i want to the camera to go from 3 to 4 in 6 seconds
place the trigger block where the player spawns, so that when they player loads in, they automatically land on the trigger block witch will then make it play the cutscene.
i've did every step of the video but,the outpot constantly say then trigger is not a valid member of the workspace,if someone can halp me w this thing,ill appreciate it ;)
Hi, this was my mistake. It should be workspace:WaitForChild("Trigger"). Your output happens because the script looks for the trigger part before the part is even loaded. :WaitForChild() should fix the problem by letting the script wait for the part until it's loaded. I updated the code in the description and comments. If the issue persists... try checking if it is spelled right and if the trigger part is under workspace! Hope this helps! 🙂 Try this code instead: local tweenservice = game:GetService("TweenService") local plr = game.Players.LocalPlayer local currentCamera = workspace.CurrentCamera local folder = workspace:WaitForChild("Cutscene") local db = true local function cueCutsceneCam(speed) local tweeninfo = TweenInfo.new(speed, Enum.EasingStyle.Linear, Enum.EasingDirection.Out) currentCamera.CameraType = Enum.CameraType.Scriptable currentCamera.CFrame = folder[1].CFrame for i = 2, #folder:GetChildren() do if folder:FindFirstChild(i.."S") then currentCamera.CFrame = folder[i.."S"].CFrame else tweenservice:Create(currentCamera, tweeninfo, {CFrame = folder[i].CFrame}):Play() wait(tweeninfo.Time) end end currentCamera.CameraType = Enum.CameraType.Custom end workspace:WaitForChild("Trigger").Touched:Connect(function(touched) if touched.Parent == plr.Character and db == true then db = false cueCutsceneCam(3) wait(5) db = true end end)
Did you make sure the part is named correctly? (It should just be named 1) And is the part in the Cutscene folder? Also make sure the part is anchored. (It could get destroyed when it falls into the void) If the problem persists, please join our Discord so we can assist you further 🙂
To achieve that, we'll need a completely new script. We are planning to create a more advanced and modular tutorial for you and others! 😊 This tutorial was meant to be as simple as possible.
@@kevlarstudiorblx btw ill credit this channel if i ever get to use some tutorials of it, im kinda overworking myself on some experiences and this would save my life hehe.
Did you make sure that everything is named properly? (Capitalization, spacing, and spelling matters!) Is everything in the right place? (Like the cutscene folder should be under workspace) Finally, whats your output? (Go to View from the top of your screen then>Output to open it) Let me know if you see any errors.
Update, I've managed to make the server-sided version work with the use of serverscriptservice scripts and remote events as well. Thank you so much for this tutorial! Without you, my story game won't be finished. If anyone wants it, lmk!
local tweenservice = game:GetService("TweenService")
local plr = game.Players.LocalPlayer
local currentCamera = workspace.CurrentCamera
local folder = workspace:WaitForChild("Cutscene")
local db = true
local function cueCutsceneCam(speed)
local tweeninfo = TweenInfo.new(speed, Enum.EasingStyle.Linear, Enum.EasingDirection.Out)
currentCamera.CameraType = Enum.CameraType.Scriptable
currentCamera.CFrame = folder[1].CFrame
for i = 2, #folder:GetChildren() do
if folder:FindFirstChild(i.."S") then
currentCamera.CFrame = folder[i.."S"].CFrame
else
tweenservice:Create(currentCamera, tweeninfo, {CFrame = folder[i].CFrame}):Play()
wait(tweeninfo.Time)
end
end
currentCamera.CameraType = Enum.CameraType.Custom
end
workspace:WaitForChild("Trigger").Touched:Connect(function(touched)
if touched.Parent == plr.Character and db == true then db = false
cueCutsceneCam(3)
wait(5)
db = true
end
end)
thanx
idk why but the comment says "local folder = workspace:WaitForChild("Cutscene")" however the video says "local folder = workspace.Cutscene" the one in the comment didnt work for me however typing the thing in your video directly did
Thats odd, thanks for letting us know! Our guess is that it may have been an issue with the syntax from copying text in youtube.
Although, were glad it worked out in the end for you!
on the tutorial as you showed to put 35 it does not skip and it remains blocked on the first cam
@@whitetalewolf_V1it’s 3S
this guy explain more details than the other tutorial, hope you make a tutorial video about scripting
Tysm for this video!
hi ralsei
Yo this is a w how to video!! Keep up the good work! 😄👍
criminally underrated
Thx
fire video 👍
tysm
I LOVE SO SO MUCH 😭😭😭😭
Great tutorial! 🎉 But last question, how can I add and let the textbox out during camera moving, like those obby game🤔
Tanks bro!!!
how to add music
i made the trigger part in the folder and i made the folders name "Objective8" i made it when i touch the trigger part the cam will go to the 1, from 1 to 2 with 10 seconds. and i made when i touch trigger so a text get in the screen. so i made some sort of cutscene with texts.
Yo, how do u make a cutscemee play along with a roblox animation editor animation playing at the same time?
TYSMMM
maybe if u can make it so the parts act as a path for the camera to take? and the time it takes to go between them is constant. because sometimes it can be 1 second but depending on the length there is between the parts it will go faster or slower
do u know how to make them loop??
is there a way to make the animation looped and make it start even if the player doesn't touch it?
better way is to use animation editor. Make it a model and rename a part HumanoidRootPart. then dd a script to have the camera set to it.
what if we want to make another trigger and make it another cutscene?
i copied and pasted the code but it didn't work
This is so good man no bullshit
How to give it a cooldown so the same player cant trigger it again within a time limit.
Can you do a video explaining the script??? Its interesting. Btw, tysm!!
can u show how to make the cutscene appear when u join the game?
We will use 'repeat wait(1) until game:IsLoaded().' This will wait 1 second repeatedly until the game loads for the player. Then the loop will stop and continue to the next line, which is 'cueCutsceneCam.' This replaces the trigger function.
Replace your code inside your local script with this:
local tweenservice = game:GetService("TweenService")
local plr = game.Players.LocalPlayer
local currentCamera = workspace.CurrentCamera
local folder = workspace:WaitForChild("Cutscene")
local db = true
local function cueCutsceneCam(speed)
local tweeninfo = TweenInfo.new(speed, Enum.EasingStyle.Linear, Enum.EasingDirection.Out)
currentCamera.CameraType = Enum.CameraType.Scriptable
currentCamera.CFrame = folder[1].CFrame
for i = 2, #folder:GetChildren() do
if folder:FindFirstChild(i.."S") then
currentCamera.CFrame = folder[i.."S"].CFrame
else
tweenservice:Create(currentCamera, tweeninfo, {CFrame = folder[i].CFrame}):Play()
wait(tweeninfo.Time)
end
end
currentCamera.CameraType = Enum.CameraType.Custom
end
repeat wait(1) until game:IsLoaded()
cueCutsceneCam(3)
@@kevlarstudiorblx it dosent end, it just stays on the last camera
and is it possible you can tell me to make the cutscene end with a gui button eg. play button
EDIT: i fixed the camera being stuck on the last one, now all im after is a button that pops up once the last camera is displayed, 5th for me and once the button is clicked the cutscene ends
Is it possible to have this as a opening cutscene because if I place it right below me at spawn then my camera will only get stuck
Can you do a viewpoint frames video?
Sure! We will have that planned
can u do that when the player joins the game it makes you see as 1 and stay in 1? (i dont need the animation)
You need 1000 follows !
Ctrl v dose not work and what is command v thats not on my keybored
how to add music on playing cutscene
Doesn't work. Placing the code, triple checking it is the same following every step to the letter - it doe snot trigger at all. Deleted everything and moving on to another "tutorial" that will hopefully work.
How I can do more cutscenes in the same localscript? (1 cutscene, and have 2 cutscene in the same local script but total different)
if I touched it is it only for me or other players too?
Just for the player who touched the part
hey is there a way to make it so it stays on one of the nodes for a cirtain amount of time without moving or going to another node?
how can i like change the speeds of different transitions?? like for example: i want the camera to go from 1 to 2 in 3 seconds and then i want to the camera to go from 3 to 4 in 6 seconds
how add animation on cutsenes?
why no working? D:
Can you make a system where it starts the S3-4 only after clicking the screen
How do i make it so that when the player loads in the game the cutscene automatically starts? Love ur work
place the trigger block where the player spawns, so that when they player loads in, they automatically land on the trigger block witch will then make it play the cutscene.
@@Trapzx_Brodie Smart tyyy x
it dont works when ı touch the part-
Make sure you named everything right because that is the most important step
Thank you for the cutscene tutorial but my camera is going undersground the map??? please help me quickly btw W tutorial my guy!
Did you make sure all of the parts are anchored?
@@kevlarstudiorblx Oh I forgot about that XD Thank you a lot for your help 😄 I'll make my first animation 😊 I really appreciate it
Of course! Good luck on your animation!🙂
i've did every step of the video but,the outpot constantly say then trigger is not a valid member of the workspace,if someone can halp me w this thing,ill appreciate it ;)
Hi, this was my mistake. It should be workspace:WaitForChild("Trigger"). Your output happens because the script looks for the trigger part before the part is even loaded.
:WaitForChild() should fix the problem by letting the script wait for the part until it's loaded.
I updated the code in the description and comments.
If the issue persists... try checking if it is spelled right and if the trigger part is under workspace!
Hope this helps! 🙂
Try this code instead:
local tweenservice = game:GetService("TweenService")
local plr = game.Players.LocalPlayer
local currentCamera = workspace.CurrentCamera
local folder = workspace:WaitForChild("Cutscene")
local db = true
local function cueCutsceneCam(speed)
local tweeninfo = TweenInfo.new(speed, Enum.EasingStyle.Linear, Enum.EasingDirection.Out)
currentCamera.CameraType = Enum.CameraType.Scriptable
currentCamera.CFrame = folder[1].CFrame
for i = 2, #folder:GetChildren() do
if folder:FindFirstChild(i.."S") then
currentCamera.CFrame = folder[i.."S"].CFrame
else
tweenservice:Create(currentCamera, tweeninfo, {CFrame = folder[i].CFrame}):Play()
wait(tweeninfo.Time)
end
end
currentCamera.CameraType = Enum.CameraType.Custom
end
workspace:WaitForChild("Trigger").Touched:Connect(function(touched)
if touched.Parent == plr.Character and db == true then db = false
cueCutsceneCam(3)
wait(5)
db = true
end
end)
@@kevlarstudiorblx ty bro
it doesnt work..
Hi, how to do that whenever a player joins, a cutscene will play for him? Thanks!
add a trigger into the spawn
04:10:24.039 1 is not a valid member of Folder "Workspace.Cutscene" - Client - LocalScript:14 keeps popping up everytime i try to run it
Did you make sure the part is named correctly? (It should just be named 1)
And is the part in the Cutscene folder?
Also make sure the part is anchored. (It could get destroyed when it falls into the void)
If the problem persists, please join our Discord so we can assist you further 🙂
Heyy... How could i make the same, but maybe changing the fov on some parts of the cutscene??
To achieve that, we'll need a completely new script. We are planning to create a more advanced and modular tutorial for you and others! 😊
This tutorial was meant to be as simple as possible.
@@kevlarstudiorblx thanks!!
@@kevlarstudiorblx btw ill credit this channel if i ever get to use some tutorials of it, im kinda overworking myself on some experiences and this would save my life hehe.
Cutscene
why can‘t it run? It’s exactly the same as in the video 😢
Did you make sure that everything is named properly? (Capitalization, spacing, and spelling matters!) Is everything in the right place? (Like the cutscene folder should be under workspace)
Finally, whats your output? (Go to View from the top of your screen then>Output to open it) Let me know if you see any errors.
Hi, I just updated the code which may fix your issue.
Try the updated code from the comments or the description 🙂
@@kevlarstudiorblx i made it according to your updated code,and I succeeded. It runs very well, thanks you for your help
@@kevlarstudiorblx the normal code worked but the new one didnt
it didn't work because it 2 year ago
to much words what this is going to take days but ok
it dont work :(
What does your output look like? To view the output go to view>output
Trigger
Is this server sided?
This is client sided, aka local sided. To make this server sided we would need to use remote events.
@@kevlarstudiorblx alright thank you! I'll try to revise this to become server-sided for my story game :)
Update, I've managed to make the server-sided version work with the use of serverscriptservice scripts and remote events as well. Thank you so much for this tutorial! Without you, my story game won't be finished. If anyone wants it, lmk!
Im glad you were able to get it to work! We wish you the best in your story game 🙂
@@er_aviation please provide
ขอบคุณครับอาจารตอนนี้ผมทำกล้องเป็นแล้ว
555th to put like
not working