-- // Services local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") -- // Variables local player = Players.LocalPlayer local camera = workspace.CurrentCamera local defaultFOV = camera.FieldOfView local customFOV = defaultFOV local isFOVEnabled = false -- // GUI Creation local ScreenGui = Instance.new("ScreenGui", game.CoreGui) ScreenGui.Name = "FOVChangerGUI" local MainFrame = Instance.new("Frame", ScreenGui) MainFrame.Size = UDim2.new(0, 280, 0, 150) MainFrame.Position = UDim2.new(0.5, -140, 0.5, -75) MainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) MainFrame.BorderSizePixel = 0 MainFrame.Active = true MainFrame.Draggable = true local Title = Instance.new("TextLabel", MainFrame) Title.Size = UDim2.new(1, 0, 0, 30) Title.BackgroundColor3 = Color3.fromRGB(20, 20, 20) Title.Text = "FOV Changer" Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.Font = Enum.Font.SourceSansBold Title.TextSize = 18 local ToggleButton = Instance.new("TextButton", MainFrame) ToggleButton.Size = UDim2.new(0, 120, 0, 30) ToggleButton.Position = UDim2.new(0, 10, 0, 45) ToggleButton.Text = "FOV: OFF" ToggleButton.BackgroundColor3 = Color3.fromRGB(50, 50, 50) ToggleButton.TextColor3 = Color3.fromRGB(255, 255, 255) ToggleButton.Font = Enum.Font.SourceSans ToggleButton.TextSize = 16 local SliderLabel = Instance.new("TextLabel", MainFrame) SliderLabel.Size = UDim2.new(0, 140, 0, 20) SliderLabel.Position = UDim2.new(0, 10, 0, 85) SliderLabel.Text = "FOV: " .. defaultFOV SliderLabel.TextColor3 = Color3.fromRGB(255, 255, 255) SliderLabel.Font = Enum.Font.SourceSans SliderLabel.TextSize = 14 SliderLabel.BackgroundTransparency = 1 local FOVSlider = Instance.new("TextBox", MainFrame) FOVSlider.Size = UDim2.new(0, 60, 0, 25) FOVSlider.Position = UDim2.new(0, 160, 0, 80) FOVSlider.PlaceholderText = tostring(defaultFOV) FOVSlider.Text = "" FOVSlider.BackgroundColor3 = Color3.fromRGB(40, 40, 40) FOVSlider.TextColor3 = Color3.fromRGB(255, 255, 255) FOVSlider.Font = Enum.Font.SourceSans FOVSlider.TextSize = 14 FOVSlider.ClearTextOnFocus = false -- // Functions local function setFOV(value) if isFOVEnabled then camera.FieldOfView = value end end ToggleButton.MouseButton1Click:Connect(function() isFOVEnabled = not isFOVEnabled ToggleButton.Text = "FOV: " .. (isFOVEnabled and "ON" or "OFF") if isFOVEnabled then setFOV(customFOV) else camera.FieldOfView = defaultFOV end end) FOVSlider.FocusLost:Connect(function() local num = tonumber(FOVSlider.Text) if num and num >= 1 and num <= 200 then customFOV = num SliderLabel.Text = "FOV: " .. tostring(customFOV) setFOV(customFOV) else FOVSlider.Text = tostring(customFOV) end end) -- // Death/Respawn Detection player.CharacterAdded:Connect(function(char) char:WaitForChild("Humanoid") wait(1) if isFOVEnabled then camera.FieldOfView = customFOV end end) -- // Optional: Force FOV on loop (in case weapons or scripts overwrite it) RunService.RenderStepped:Connect(function() if isFOVEnabled and camera.FieldOfView ~= customFOV then camera.FieldOfView = customFOV end end)