-- FOV Slider GUI for Roblox with Key System -- Key: fovisbetter local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local player = Players.LocalPlayer local Camera = workspace.CurrentCamera -- Create ScreenGui local screenGui = Instance.new("ScreenGui") screenGui.Name = "FOVSliderGui" screenGui.ResetOnSpawn = false screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling local success = pcall(function() screenGui.Parent = game:GetService("CoreGui") end) if not success then screenGui.Parent = player:WaitForChild("PlayerGui") end -- Key System local CORRECT_KEY = "fovisbetter" -- Create Key System Frame local function createKeySystem() local keyFrame = Instance.new("Frame") keyFrame.Name = "KeyFrame" keyFrame.Size = UDim2.new(0, 350, 0, 200) keyFrame.Position = UDim2.new(0.5, -175, 0.5, -100) keyFrame.BackgroundColor3 = Color3.fromRGB(18, 18, 22) keyFrame.BorderSizePixel = 0 keyFrame.ZIndex = 10 keyFrame.Parent = screenGui local keyFrameCorner = Instance.new("UICorner") keyFrameCorner.CornerRadius = UDim.new(0, 12) keyFrameCorner.Parent = keyFrame -- Key Header local keyHeader = Instance.new("Frame") keyHeader.Size = UDim2.new(1, 0, 0, 50) keyHeader.BackgroundColor3 = Color3.fromRGB(25, 25, 30) keyHeader.BorderSizePixel = 0 keyHeader.ZIndex = 11 keyHeader.Parent = keyFrame local keyHeaderCorner = Instance.new("UICorner") keyHeaderCorner.CornerRadius = UDim.new(0, 12) keyHeaderCorner.Parent = keyHeader local keyHeaderTitle = Instance.new("TextLabel") keyHeaderTitle.Size = UDim2.new(1, -30, 1, 0) keyHeaderTitle.Position = UDim2.new(0, 15, 0, 0) keyHeaderTitle.BackgroundTransparency = 1 keyHeaderTitle.Text = "🔐 Key System" keyHeaderTitle.Font = Enum.Font.GothamBold keyHeaderTitle.TextSize = 18 keyHeaderTitle.TextColor3 = Color3.fromRGB(255, 255, 255) keyHeaderTitle.TextXAlignment = Enum.TextXAlignment.Left keyHeaderTitle.ZIndex = 12 keyHeaderTitle.Parent = keyHeader -- Key Info Text local keyInfoText = Instance.new("TextLabel") keyInfoText.Size = UDim2.new(1, -30, 0, 40) keyInfoText.Position = UDim2.new(0, 15, 0, 60) keyInfoText.BackgroundTransparency = 1 keyInfoText.Text = "Enter the key to access FOV Changer" keyInfoText.Font = Enum.Font.Gotham keyInfoText.TextSize = 13 keyInfoText.TextColor3 = Color3.fromRGB(160, 160, 170) keyInfoText.TextXAlignment = Enum.TextXAlignment.Left keyInfoText.TextWrapped = true keyInfoText.ZIndex = 11 keyInfoText.Parent = keyFrame -- Key Input Box local keyInputBox = Instance.new("TextBox") keyInputBox.Size = UDim2.new(1, -30, 0, 40) keyInputBox.Position = UDim2.new(0, 15, 0, 105) keyInputBox.BackgroundColor3 = Color3.fromRGB(25, 25, 30) keyInputBox.BorderSizePixel = 0 keyInputBox.Text = "" keyInputBox.PlaceholderText = "Enter Key..." keyInputBox.Font = Enum.Font.Gotham keyInputBox.TextSize = 14 keyInputBox.TextColor3 = Color3.fromRGB(255, 255, 255) keyInputBox.PlaceholderColor3 = Color3.fromRGB(100, 100, 110) keyInputBox.ClearTextOnFocus = false keyInputBox.ZIndex = 11 keyInputBox.Parent = keyFrame local keyInputCorner = Instance.new("UICorner") keyInputCorner.CornerRadius = UDim.new(0, 8) keyInputCorner.Parent = keyInputBox -- Submit Button local submitBtn = Instance.new("TextButton") submitBtn.Size = UDim2.new(1, -30, 0, 40) submitBtn.Position = UDim2.new(0, 15, 0, 150) submitBtn.BackgroundColor3 = Color3.fromRGB(200, 180, 255) submitBtn.BorderSizePixel = 0 submitBtn.Text = "Submit Key" submitBtn.Font = Enum.Font.GothamBold submitBtn.TextSize = 14 submitBtn.TextColor3 = Color3.fromRGB(18, 18, 22) submitBtn.ZIndex = 11 submitBtn.Parent = keyFrame local submitBtnCorner = Instance.new("UICorner") submitBtnCorner.CornerRadius = UDim.new(0, 8) submitBtnCorner.Parent = submitBtn -- Error Message local errorMsg = Instance.new("TextLabel") errorMsg.Size = UDim2.new(1, -30, 0, 20) errorMsg.Position = UDim2.new(0, 15, 1, -25) errorMsg.BackgroundTransparency = 1 errorMsg.Text = "" errorMsg.Font = Enum.Font.GothamBold errorMsg.TextSize = 11 errorMsg.TextColor3 = Color3.fromRGB(255, 100, 100) errorMsg.TextXAlignment = Enum.TextXAlignment.Center errorMsg.Visible = false errorMsg.ZIndex = 11 errorMsg.Parent = keyFrame return keyFrame, keyInputBox, submitBtn, errorMsg end -- Create FOV Changer local function createFOVChanger() -- Main Frame local mainFrame = Instance.new("Frame") mainFrame.Name = "FOVFrame" mainFrame.Size = UDim2.new(0, 320, 0, 140) mainFrame.Position = UDim2.new(0.5, -160, 0.5, -70) mainFrame.BackgroundColor3 = Color3.fromRGB(18, 18, 22) mainFrame.BorderSizePixel = 0 mainFrame.ClipsDescendants = false mainFrame.Visible = false mainFrame.ZIndex = 1 mainFrame.Parent = screenGui local mainCorner = Instance.new("UICorner") mainCorner.CornerRadius = UDim.new(0, 12) mainCorner.Parent = mainFrame -- Header Bar local headerBar = Instance.new("Frame") headerBar.Size = UDim2.new(1, 0, 0, 40) headerBar.BackgroundColor3 = Color3.fromRGB(25, 25, 30) headerBar.BorderSizePixel = 0 headerBar.ZIndex = 2 headerBar.Parent = mainFrame local headerCorner = Instance.new("UICorner") headerCorner.CornerRadius = UDim.new(0, 12) headerCorner.Parent = headerBar -- Header Title local headerTitle = Instance.new("TextLabel") headerTitle.Size = UDim2.new(1, -120, 1, 0) headerTitle.Position = UDim2.new(0, 15, 0, 0) headerTitle.BackgroundTransparency = 1 headerTitle.Text = "⚡ FOV Changer" headerTitle.Font = Enum.Font.GothamBold headerTitle.TextSize = 16 headerTitle.TextColor3 = Color3.fromRGB(255, 255, 255) headerTitle.TextXAlignment = Enum.TextXAlignment.Left headerTitle.ZIndex = 3 headerTitle.Parent = headerBar -- Minimize Button local minimizeBtn = Instance.new("TextButton") minimizeBtn.Size = UDim2.new(0, 30, 0, 30) minimizeBtn.Position = UDim2.new(1, -73, 0, 5) minimizeBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 40) minimizeBtn.BorderSizePixel = 0 minimizeBtn.Text = "➖" minimizeBtn.Font = Enum.Font.GothamBold minimizeBtn.TextSize = 14 minimizeBtn.TextColor3 = Color3.fromRGB(200, 200, 200) minimizeBtn.ZIndex = 3 minimizeBtn.Parent = headerBar local minimizeCorner = Instance.new("UICorner") minimizeCorner.CornerRadius = UDim.new(0, 8) minimizeCorner.Parent = minimizeBtn -- Close Button local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.new(0, 30, 0, 30) closeBtn.Position = UDim2.new(1, -38, 0, 5) closeBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 40) closeBtn.BorderSizePixel = 0 closeBtn.Text = "×" closeBtn.Font = Enum.Font.GothamBold closeBtn.TextSize = 18 closeBtn.TextColor3 = Color3.fromRGB(200, 200, 200) closeBtn.ZIndex = 3 closeBtn.Parent = headerBar local closeCorner = Instance.new("UICorner") closeCorner.CornerRadius = UDim.new(0, 8) closeCorner.Parent = closeBtn -- Content Container local contentFrame = Instance.new("Frame") contentFrame.Name = "Content" contentFrame.Size = UDim2.new(1, 0, 1, -40) contentFrame.Position = UDim2.new(0, 0, 0, 40) contentFrame.BackgroundTransparency = 1 contentFrame.ZIndex = 2 contentFrame.Parent = mainFrame -- FOV Display local fovDisplay = Instance.new("TextLabel") fovDisplay.Size = UDim2.new(1, -30, 0, 30) fovDisplay.Position = UDim2.new(0, 15, 0, 10) fovDisplay.BackgroundTransparency = 1 fovDisplay.Text = "FOV: 70" fovDisplay.Font = Enum.Font.GothamBold fovDisplay.TextSize = 18 fovDisplay.TextColor3 = Color3.fromRGB(200, 180, 255) fovDisplay.TextXAlignment = Enum.TextXAlignment.Left fovDisplay.ZIndex = 3 fovDisplay.Parent = contentFrame -- Slider Container local sliderContainer = Instance.new("Frame") sliderContainer.Size = UDim2.new(1, -30, 0, 8) sliderContainer.Position = UDim2.new(0, 15, 0, 50) sliderContainer.BackgroundColor3 = Color3.fromRGB(35, 35, 40) sliderContainer.BorderSizePixel = 0 sliderContainer.ZIndex = 3 sliderContainer.Parent = contentFrame local sliderCorner = Instance.new("UICorner") sliderCorner.CornerRadius = UDim.new(1, 0) sliderCorner.Parent = sliderContainer -- Slider Fill local sliderFill = Instance.new("Frame") sliderFill.Size = UDim2.new(0.44, 0, 1, 0) sliderFill.BackgroundColor3 = Color3.fromRGB(200, 180, 255) sliderFill.BorderSizePixel = 0 sliderFill.ZIndex = 4 sliderFill.Parent = sliderContainer local fillCorner = Instance.new("UICorner") fillCorner.CornerRadius = UDim.new(1, 0) fillCorner.Parent = sliderFill -- Slider Button local sliderButton = Instance.new("TextButton") sliderButton.Size = UDim2.new(0, 18, 0, 18) sliderButton.Position = UDim2.new(0.44, -9, 0.5, -9) sliderButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255) sliderButton.BorderSizePixel = 0 sliderButton.Text = "" sliderButton.ZIndex = 5 sliderButton.Parent = sliderContainer local buttonCorner = Instance.new("UICorner") buttonCorner.CornerRadius = UDim.new(1, 0) buttonCorner.Parent = sliderButton -- Min Label local minLabel = Instance.new("TextLabel") minLabel.Size = UDim2.new(0, 30, 0, 15) minLabel.Position = UDim2.new(0, 15, 0, 65) minLabel.BackgroundTransparency = 1 minLabel.Text = "30" minLabel.Font = Enum.Font.Gotham minLabel.TextSize = 11 minLabel.TextColor3 = Color3.fromRGB(100, 100, 110) minLabel.TextXAlignment = Enum.TextXAlignment.Left minLabel.ZIndex = 3 minLabel.Parent = contentFrame -- Max Label local maxLabel = Instance.new("TextLabel") maxLabel.Size = UDim2.new(0, 30, 0, 15) maxLabel.Position = UDim2.new(1, -45, 0, 65) maxLabel.BackgroundTransparency = 1 maxLabel.Text = "120" maxLabel.Font = Enum.Font.Gotham maxLabel.TextSize = 11 maxLabel.TextColor3 = Color3.fromRGB(100, 100, 110) maxLabel.TextXAlignment = Enum.TextXAlignment.Right maxLabel.ZIndex = 3 maxLabel.Parent = contentFrame return mainFrame, headerBar, minimizeBtn, closeBtn, contentFrame, fovDisplay, sliderContainer, sliderFill, sliderButton end -- Create both GUIs local keyFrame, keyInputBox, submitBtn, errorMsg = createKeySystem() local mainFrame, headerBar, minimizeBtn, closeBtn, contentFrame, fovDisplay, sliderContainer, sliderFill, sliderButton = createFOVChanger() -- FOV Functionality local minFOV = 30 local maxFOV = 120 local currentFOV = 70 local function updateFOV(fov) currentFOV = math.clamp(fov, minFOV, maxFOV) -- Update camera FOV if Camera then Camera.FieldOfView = currentFOV end -- Update display fovDisplay.Text = "FOV: " .. math.floor(currentFOV) -- Update slider position local percent = (currentFOV - minFOV) / (maxFOV - minFOV) sliderFill.Size = UDim2.new(percent, 0, 1, 0) sliderButton.Position = UDim2.new(percent, -9, 0.5, -9) end -- Slider Interaction local draggingSlider = false sliderButton.MouseButton1Down:Connect(function() draggingSlider = true end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then draggingSlider = false end end) UserInputService.InputChanged:Connect(function(input) if draggingSlider and input.UserInputType == Enum.UserInputType.MouseMovement then local mousePos = UserInputService:GetMouseLocation() local sliderPos = sliderContainer.AbsolutePosition local sliderSize = sliderContainer.AbsoluteSize local relativeX = math.clamp(mousePos.X - sliderPos.X, 0, sliderSize.X) local percent = relativeX / sliderSize.X local newFOV = minFOV + (percent * (maxFOV - minFOV)) updateFOV(newFOV) end end) sliderContainer.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then local mousePos = UserInputService:GetMouseLocation() local sliderPos = sliderContainer.AbsolutePosition local sliderSize = sliderContainer.AbsoluteSize local relativeX = math.clamp(mousePos.X - sliderPos.X, 0, sliderSize.X) local percent = relativeX / sliderSize.X local newFOV = minFOV + (percent * (maxFOV - minFOV)) updateFOV(newFOV) draggingSlider = true end end) -- Make Draggable local dragging, dragInput, dragStart, startPos local function updateDrag(input) local delta = input.Position - dragStart mainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end headerBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = mainFrame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) headerBar.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then updateDrag(input) end end) -- Close Button closeBtn.MouseButton1Click:Connect(function() screenGui:Destroy() end) -- Minimize Button local isMinimized = false minimizeBtn.MouseButton1Click:Connect(function() isMinimized = not isMinimized local targetSize if isMinimized then targetSize = UDim2.new(0, 320, 0, 40) contentFrame.Visible = false else targetSize = UDim2.new(0, 320, 0, 140) contentFrame.Visible = true end local tweenInfo = TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out) local tween = TweenService:Create(mainFrame, tweenInfo, {Size = targetSize}) tween:Play() end) -- Key Validation local function validateKey() local enteredKey = keyInputBox.Text if enteredKey == CORRECT_KEY then -- Success animation submitBtn.BackgroundColor3 = Color3.fromRGB(100, 255, 150) submitBtn.Text = "✓ Access Granted!" errorMsg.Visible = false task.wait(0.5) -- Destroy key frame and show FOV changer keyFrame:Destroy() mainFrame.Visible = true print("FOV Changer unlocked!") else -- Error animation errorMsg.Text = "❌ Incorrect Key!" errorMsg.Visible = true submitBtn.BackgroundColor3 = Color3.fromRGB(255, 100, 100) task.wait(0.3) submitBtn.BackgroundColor3 = Color3.fromRGB(200, 180, 255) submitBtn.Text = "Submit Key" task.wait(1.5) errorMsg.Visible = false end end submitBtn.MouseButton1Click:Connect(validateKey) keyInputBox.FocusLost:Connect(function(enterPressed) if enterPressed then validateKey() end end) -- Initialize FOV updateFOV(70)