Home
This is the home page of the ZCutscene documentation. This plugin will help you create amazing scenes and customize them as much as possible. On this page you can find information on:
- ZCutscene plugin features
- How to use plugin
- Little introduction to ZCutscene script
- And many more!
To navigate faster, use side menu.
Before you start
Before you start, check if you are ready to create cutscenes:
- Check if enabled
Output. If not, at the top of Roblox Studio findViewtab, there find and enableOutput - Check if enabled
Command Bar. If not, at the top of Roblox Studio findViewtab, there find and enableCommand Bar
In Output, you can see a message about successful / unsuccessful action of plugin, and brief instructions for some functions.
In Command Bar, you can quickly execute scripts like in In addition category.
(1) Insert objects
That button inserts 2 objects into workspace:
CutscenefolderCutsceneScript
Click on it and put inserted objects in:
- You can keep
Cutscenefolder in workspace. - If you want, you can move
CutsceneScriptin any of these places:ReplicatedFirstStarterGuiStarterPackStarterCharacterScriptsStarterPlayerScripts
Preparation completed!
(2) Set folder
Sets current selection as path to cutscene folder. This is necessary for the (3) Create new and (7) Hide/Show buttons to work.
To set folder, select the folder in Explorer and click on this button.
Why does this button exist?
The fact is that this plugin differs from other similar ones in that it can be used to create an unlimited number of cutscenes, so plugin has the ability to set main folder for them.
(3) Create new
Creates new camera position, using previous as template. This is the main function, which has several uses.
The first is without selection. It won't work without (2) Set folder. When clicked, it clones most recent object in the folder and gives it a name based on how many childrens there are in folder.
The second is using selection. It will work without (2) Set folder. To do this, you need to select camera position and click on the button. It clones the selected object and gives it a name that is 1 more than the name of the selected object.
First method requires "purity" in the folder, that is, there should not be any other objects in the folder, except for camera positions.
Both methods teleport just created camera position to your camera and align its position and orientation to the grid, to change this see (6) Change grid size.
(4) Rename +1
Adds "1" to selected object names. Select camera positions and click this button. Anything you selected will increase by 1 in name.
(5) Rename -1
Subtracts "1" from selected object names. Select camera positions and click this button. Anything you selected will decrease by 1 in name.
(6) Change grid size
Grid affects on position and orientation of camera positions. You can change it to:
10.50.10
If 0, then grid is disabled.
(7) Hide/Show
Hides/shows all camera positions in the cutscene folder.
Create/edit camera positions
As mentioned earlier, to create a camera position, you need to click on the (3) Create new button. Then what about editing duration, animation, FOV...?
Everything is very simple - attributes! If you have created enough camera positions and want to edit them, then:
- Select camera position
- Look in
Propertiesand scroll to the bottom - Change variable values!
You can change variable values to whatever you want. Just remember a few things:
- If field for number, write number there
- If field requires animation name, write name without
Enum.Xx.there. Example:Enum.EasingStyle.Quad→QuadEnum.EasingDirection.Out→Out
Also, if you don't want to change any variable values, for example FOV, just click on gear next to variable → Delete. If variable is optional, script will skip it.
ZCutscene script
CutsceneScript is the script required for cutscene to work. CutsceneScript can be obtained using (1) Insert objects button.
Initially, the script is only executed when it is initialized, but you can change this.
Below are some examples of good usage.
1. Start cutscene for all players on server in one time
First create a RemoteEvent and put it in ReplicatedStorage. Name it StartCutscene.
Next, open CutsceneScript, scroll to the bottom and replace these lines:
wait()
StartCutscene(workspace.Cutscene)
With this one:
game.ReplicatedStorage.StartCutscene.OnClientEvent:Connect(function()
StartCutscene(workspace.Cutscene)
end)
Next, you need to create a Script and put it wherever you like. I recommend putting it in ServerScriptService. Open script you just created and paste a couple of lines into it:
wait(30)
game.ReplicatedStorage.StartCutscene:FireAllClients(workspace.Cutscene)
That's it! Now, after 30 seconds, for every player on the server will start a cutscene.
2. Start cutscene for player who touched part
First create a RemoteEvent and put it in ReplicatedStorage. Name it StartCutscene.
Next, open CutsceneScript, scroll to the bottom and replace these lines:
wait()
StartCutscene(workspace.Cutscene)
With this one:
game.ReplicatedStorage.StartCutscene.OnClientEvent:Connect(function()
StartCutscene(workspace.Cutscene)
end)
Next, you need to create a Script and put it in the part. Open script you just created and paste this code into it:
local Part = script.Parent
local Debounce = false
Part.Touched:Connect(function(Hit)
if Hit.Parent:FindFirstChild("Humanoid") and not Debounce then
Debounce = true
local Player = game.Players:GetPlayerFromCharacter(Hit.Parent)
game.ReplicatedStorage.StartCutscene:FireClient(Player, workspace.Cutscene)
wait(30)
Debounce = false
end
end)
That's it! Now, after player touches the part, a cutscene will start for him, and for 30 seconds it will not be possible to start cutscene again.
In addition
Convert values to Attributes:
local CHS = game:GetService("ChangeHistoryService")
CHS:SetWaypoint("Convert Before")
local Sel = game:GetService("Selection"):Get()
for i, p in pairs(Sel[1]:GetChildren()) do
for _, v in pairs(p:GetChildren()) do
p:SetAttribute(v.Name, v.Value)
v:Destroy()
end
end
CHS:SetWaypoint("Convert After")
Information
Thanks for reading. If plugin and documentation was useful to you, please rate it!
About
AutoHotKey, Gdip - screenshots
Ezgif - creating gifs from screenshots
Visual Studio Code, Roblox Studio - coding
Material Icons - plugin icons
Github Pages - website hosting