So, I’m currently editing a “crucible” and I wanted to make it looks like the original. But, I want to make that: When someone equips the crucible, it triggers an event in all Players on the server and starts a cutscene of the player equipping the crucible… Like a boss cutscene, but I have no idea how I could make that happen.
Currently planning only to make the EQUIP animation from the video below.
Well, as for the player obtaining the sword, that animation can be played through their client, as any animations played from a client to their character replicate to the server.
Then, when the animation starts playing, fire an event to the server to make the other players have their camera move to the correct position, using CFrames.
You can animate camera movement by binding the cameras CFrame to a part, and either tweening the parts CFrame or animating the part with either the roblox animator or an external animator.
The camera movement should be managed per-client, and I would also fire a second event once the animation has finished playing, to not keep players cameras locked even though the cutscene has ended.
Well, the player has to be getting the sword from somewhere, right?
This means there is a point on the map that has the place you obtain the sword.
Create a part as said location, and bind the cameras CFrame to it for the duration of the cutscene.
If you want the camera to move like it does in DOOM, tween the cameras CFrame between multiple parts.
local TweenService = game:GetService("TweenService")
local Camera = workspace.CurrentCamera
Camera.CameraType = Enum.CameraType.Scriptable
Camera.CFrame = workspace.Map.CameraPosition1
TweenService:Create(Camera, TweenInfo.new(1), {["CFrame"] = workspace.Map.CameraPosition2.CFrame}):Play()