local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local StarterGui = game:GetService("StarterGui") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local camera = workspace.CurrentCamera local function disableEmotes() pcall(function() StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.EmotesMenu, false) end) task.spawn(function() local pgui = player:WaitForChild("PlayerGui") for _, gui in ipairs(pgui:GetDescendants()) do if gui:IsA("GuiObject") and (gui.Name:lower():find("emote") or gui.Name:lower():find("wheel")) then gui:Destroy() end end end) end local ROTATION_ANGLE = math.rad(45) local function rotateCamera(direction) if not camera then return end local root = player.Character and player.Character:FindFirstChild("HumanoidRootPart") if not root then return end local rotation = CFrame.Angles(0, direction * ROTATION_ANGLE, 0) local currentCFrame = camera.CFrame local targetCFrame = CFrame.new(currentCFrame.Position) * (currentCFrame.Rotation * rotation) camera.CFrame = targetCFrame end UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.Comma then rotateCamera(1) elseif input.KeyCode == Enum.KeyCode.Period then rotateCamera(-1) end end) disableEmotes() RunService.Heartbeat:Connect(function() pcall(function() if StarterGui:GetCoreGuiEnabled(Enum.CoreGuiType.EmotesMenu) then StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.EmotesMenu, false) end end) end) print("Emote Wheel removed + Camera snap loaded | , = left | . = right")