here's my code:
local UserInputService = game:GetService("UserInputService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local dialogueScreenGui = playerGui:WaitForChild("DialogueGUI")
local camera = workspace.CurrentCamera
UserInputService.MouseBehavior = Enum.MouseBehavior.LockCenter
UserInputService.MouseIconEnabled = false
dialogueScreenGui:GetPropertyChangedSignal("Enabled"):Connect(function()
if dialogueScreenGui.Enabled then
camera.CameraMode = Enum.CameraMode.Classic
UserInputService.MouseBehavior = Enum.MouseBehavior.Default
UserInputService.MouseIconEnabled = true
else
-- When dialogue closes
camera.CameraMode = Enum.CameraMode.LockFirstPerson
UserInputService.MouseBehavior = Enum.MouseBehavior.LockCenter
UserInputService.MouseIconEnabled = false
end
end)