
Key RequiredUniversal

-- // 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)



W
Very gooood
а куда надо это ввести