I want to make it so that when a player touches a block it teleports them to an area and changes to a camera that shows the area exactly the way I want. I got the teleporting part but how can I switch the camera to a camera object inside a brick?
✓ ANSWER ACCEPTED
Way to switch between cameras?
1 answer
✓ Accepted answer
To change a specific player's camera, you need to use a LocalScript, because you need to use CurrentCamera, which can only be accessed by a LocalScript.
In a LocalScript.
local Camera = Workspace.CurrentCamera -- To get the player's camera.
local CameraPart = -- The part you want to anchor the camera to
Camera.CameraType = Enum.CameraType.Scriptable
-- To prevent the player from influencing the camera.
Camera.CFrame = CameraPart.CFrame
To make the function activate when playing a piece, you can create a RemoteEvent inside the piece you want, create the base code for when the piece is played, and trigger the event for the specific customer.
local Part = script.Parent
local RemoteEvent = Part.RemoteEvent
Part.Touched:Connect(function(Hit)
local Player = game.Players:GetPlayerFromCharacter(Hit.Parent) -- To detect the player
if Player then
RemoteEvent:FireClient(Player)
end
end)
Now you need a Local Script inside this part that detects that RemoteEvent was triggered as a client, so put the first code inside the function.
local RemoteEvent = (Find the RemoteEvent)
RemoteEvent.OnClientEvent:Connect(function(Player)
-- When a RemoteEvent activates for a client, it automatically sends the player.
-- You must put the camera manipulation code here.
-- (The first code)
end)
I don't know if there is another way to do this, but that was the solution I found :)
Any questions, you can ask.
:)
This discussion is preserved as it was. New answers, comments, and votes are closed.

1 comment
Thanks!