I'm very new to Roblox studio and scripting and I'm still learning, so please bare with me, I've only made one game and I'm working on my second. In this new game I have made a custom "Play" button and a title screen with a fixed camera. When the player clicks "Play" the camera changes to the player amd the play button is hidden.
However, every time the player dies, the camera goes back to the title screen and the play button and after clicking "play", the camera returns to the place of death with the camera stuck, instead of following the player.
I realize I need to change the play button/title screen so it only shows to the player when entering the game and not when respawning, do you think that would also fix the problem with the camera being fixed and not following the player after respawn? Any suggestions? (I'm only 13 and English is not my first language so sorry if I'm not making sense)
Below is the "Play" button script:
local Camera = game.Workspace.CurrentCamera local Sound = script.Parent.Parent.ButtonSound local Sound2 = script.Parent.Parent.ButtonComfirm -- Main -- script.Parent.MouseButton1Click:Connect(function() Camera.CameraType = "Custom" script.Parent.Visible = false end) script.Parent.MouseEnter:Connect(function() Sound:Play() end) script.Parent.MouseLeave:Connect(function() Sound.Playing = false end) script.Parent.MouseButton1Click:Connect(function() Sound2:Play() end) script.Parent.MouseEnter:Connect(function() script.Parent.TextButton_Roundify_12px.BackgroundTransparency = 0 end) script.Parent.MouseLeave:Connect(function() script.Parent.TextButton_Roundify_12px.BackgroundTransparency = 1 end)
Below here is the main script:
-- Locals -- local Camera = game.Workspace.CurrentCamera local Player = game.Players.LocalPlayer -- Camera -- repeat wait() until Player.Character Camera.CameraType = "Scriptable" Camera.CFrame = game.Workspace.CameraPart.CFrame
Right, the problem is with your Gui and not your script. On the ScreenGui properties, remove the check on ResetOnSpawn (or set it to false). Another thing is that you don't need to do the repeat until
loop. It just wastes time and resources. You can use the CharacterAdded
event.
local player = game.Players.LocalPlayer local char = player.Character or player.CharacterAdded:Wait()