Hello, I am working on a game, and during the break I want players to be third person for the feel of freedom and the ease of being able to use my gui. Currently, I tell the game to lock first person on the players when a match starts so that way there visibility is limited and more immersive. Since these conditions are set in my local script, I use this code:
game:GetService('Players').LocalPlayer.CameraMode = Enum.CameraMode.LockFirstPerson
This is what is called when the games status is in game.
game:GetService('Players').LocalPlayer.CameraMode = Enum.CameraMode.Classic
This is what is called when the game's status is in break.
However, for people already in first person it doesn't change back regardless of what I put.
How can I make it where if the player is in break room it resets their camera, I'd prefer not to destroy the camera since the break status gets updated and called multiple times.
Here is my status system.
function updatestatus()
if timertag.Value <0 then
statustitle.Text = ">[" .. statustag.Value .. "]<"
else
statustitle.Text = ">[" .. statustag.Value .. "-(" .. secondstominutes(timertag.Value) .. ")]<"
end
if statustag.Value == "Intermission" then
shop.Visible = true
game:GetService('Players').LocalPlayer.CameraMode = Enum.CameraMode.Classic
statustitle.TextColor3 = Color3.new(1,147/255,38/255)
elseif statustag.Value == "Loading Map..." or statustag.Value == "Waiting For More Players..." or statustag.Value == "Players Found, The match will start soon." or statustag.Value == "Waiting For Three More Players..." or statustag.Value == "Waiting For Two More Players..." or statustag.Value == "Waiting For One More Player..." then
statustitle.TextColor3 = Color3.new(57/255, 1, 47/255)
elseif statustag.Value == "Match" then
closewindows()
shop.Visible = false
statustitle.TextColor3 = Color3.new(251/255, 1, 0)
game:GetService('Players').LocalPlayer.CameraMode = Enum.CameraMode.LockFirstPerson
end
end
Any help would be appreciated, this seems simple but I'm not sure what I'm doing wrong.
