-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] -- LocalScript: StarterPlayer > StarterPlayerScripts local Players = game:GetService("Players") local CoreGui = game:GetService("CoreGui") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local Workspace = game:GetService("Workspace") local player = Players.LocalPlayer local camera = Workspace.CurrentCamera local defaultFOV = camera.FieldOfView -------------------------------------------------- -- GUI CREATION -------------------------------------------------- local gui = Instance.new("ScreenGui") gui.Name = "FOVMenuUI" gui.ResetOnSpawn = false gui.Parent = CoreGui:FindFirstChild("RobloxGui") or player:WaitForChild("PlayerGui") local main = Instance.new("Frame") main.Size = UDim2.new(0, 310, 0, 215) main.Position = UDim2.new(0.5, -155, 0.5, -107) main.BackgroundColor3 = Color3.fromRGB(12, 15, 13) main.BorderSizePixel = 0 main.ClipsDescendants = true main.Parent = gui -- Opening Animation main.Size = UDim2.new(0, 0, 0, 0) main.Position = UDim2.new(0.5, 0, 0.5, 0) TweenService:Create(main, TweenInfo.new(0.4, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Size = UDim2.new(0, 310, 0, 215), Position = UDim2.new(0.5, -155, 0.5, -107) }):Play() local mainCorner = Instance.new("UICorner") mainCorner.CornerRadius = UDim.new(0, 16) mainCorner.Parent = main -- Modern green border glow local mainStroke = Instance.new("UIStroke") mainStroke.Color = Color3.fromRGB(0, 255, 100) mainStroke.Thickness = 1.5 mainStroke.Transparency = 0.2 mainStroke.Parent = main -------------------------------------------------- -- HEADER -------------------------------------------------- local header = Instance.new("Frame") header.Size = UDim2.new(1, 0, 0, 42) header.BackgroundColor3 = Color3.fromRGB(16, 21, 18) header.BorderSizePixel = 0 header.Parent = main local headerCorner = Instance.new("UICorner") headerCorner.CornerRadius = UDim.new(0, 16) headerCorner.Parent = header local title = Instance.new("TextLabel") title.Size = UDim2.new(1, -20, 1, 0) title.Position = UDim2.new(0, 15, 0, 0) title.BackgroundTransparency = 1 title.Text = "FOV MENU" title.RichText = true title.Font = Enum.Font.GothamBold title.TextSize = 13 title.TextColor3 = Color3.new(1, 1, 1) title.TextXAlignment = Enum.TextXAlignment.Left title.Parent = header local credit = Instance.new("TextLabel") credit.Size = UDim2.new(1, -20, 0, 14) credit.Position = UDim2.new(0, 15, 1, -22) credit.BackgroundTransparency = 1 credit.Text = "Made by veryvare" credit.Font = Enum.Font.GothamMedium credit.TextSize = 10 credit.TextColor3 = Color3.fromRGB(90, 130, 105) credit.TextXAlignment = Enum.TextXAlignment.Left credit.Parent = main -- Dragging functionality local dragging, dragStart, startPosition header.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPosition = main.Position end end) UserInputService.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then local delta = input.Position - dragStart main.Position = UDim2.new(startPosition.X.Scale, startPosition.X.Offset + delta.X, startPosition.Y.Scale, startPosition.Y.Offset + delta.Y) end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) -------------------------------------------------- -- CONTENT CONTAINER -------------------------------------------------- local contentContainer = Instance.new("Frame") contentContainer.Size = UDim2.new(1, 0, 1, -42) contentContainer.Position = UDim2.new(0, 0, 0, 42) contentContainer.BackgroundTransparency = 1 contentContainer.Parent = main -------------------------------------------------- -- FOV CHANGER SLIDER (Max 120) -------------------------------------------------- local sliderFrame = Instance.new("Frame") sliderFrame.Size = UDim2.new(1, -30, 0, 50) sliderFrame.Position = UDim2.new(0, 15, 0, 12) sliderFrame.BackgroundColor3 = Color3.fromRGB(16, 20, 17) sliderFrame.Parent = contentContainer local sliderCorner = Instance.new("UICorner") sliderCorner.CornerRadius = UDim.new(0, 12) sliderCorner.Parent = sliderFrame local sliderStroke = Instance.new("UIStroke") sliderStroke.Color = Color3.fromRGB(25, 45, 30) sliderStroke.Thickness = 1 sliderStroke.Parent = sliderFrame local sliderLabel = Instance.new("TextLabel") sliderLabel.Size = UDim2.new(0.6, 0, 0, 20) sliderLabel.Position = UDim2.new(0, 12, 0, 6) sliderLabel.BackgroundTransparency = 1 sliderLabel.Text = "Camera FOV" sliderLabel.Font = Enum.Font.GothamMedium sliderLabel.TextSize = 12 sliderLabel.TextColor3 = Color3.fromRGB(200, 215, 205) sliderLabel.TextXAlignment = Enum.TextXAlignment.Left sliderLabel.Parent = sliderFrame local valLabel = Instance.new("TextLabel") valLabel.Size = UDim2.new(0.4, -24, 0, 20) valLabel.Position = UDim2.new(0.6, 0, 0, 6) valLabel.BackgroundTransparency = 1 valLabel.Text = tostring(math.floor(camera.FieldOfView)) valLabel.Font = Enum.Font.GothamBold valLabel.TextSize = 12 valLabel.TextColor3 = Color3.fromRGB(0, 255, 100) valLabel.TextXAlignment = Enum.TextXAlignment.Right valLabel.Parent = sliderFrame local bar = Instance.new("Frame") bar.Size = UDim2.new(1, -24, 0, 6) bar.Position = UDim2.new(0, 12, 0, 32) bar.BackgroundColor3 = Color3.fromRGB(22, 32, 25) bar.BorderSizePixel = 0 bar.Parent = sliderFrame local barCorner = Instance.new("UICorner") barCorner.CornerRadius = UDim.new(1, 0) barCorner.Parent = bar local minFOV, maxFOV = 70, 120 local currentFOV = math.clamp(camera.FieldOfView, minFOV, maxFOV) local fillPercent = math.clamp((currentFOV - minFOV) / (maxFOV - minFOV), 0, 1) local fill = Instance.new("Frame") fill.Size = UDim2.new(fillPercent, 0, 1, 0) fill.BackgroundColor3 = Color3.fromRGB(0, 255, 100) fill.BorderSizePixel = 0 fill.Parent = bar local fillCorner = Instance.new("UICorner") fillCorner.CornerRadius = UDim.new(1, 0) fillCorner.Parent = fill local function updateFOV(inputX) local percent = math.clamp((inputX - bar.AbsolutePosition.X) / bar.AbsoluteSize.X, 0, 1) fill.Size = UDim2.new(percent, 0, 1, 0) local value = math.floor(minFOV + (maxFOV - minFOV) * percent) valLabel.Text = tostring(value) camera.FieldOfView = value end local sliding = false bar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then sliding = true updateFOV(input.Position.X) end end) UserInputService.InputChanged:Connect(function(input) if sliding and input.UserInputType == Enum.UserInputType.MouseMovement then updateFOV(input.Position.X) end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then sliding = false end end) -------------------------------------------------- -- BUTTONS (Reset & Unload with smooth animations) -------------------------------------------------- local function setupButtonAnimations(btn) local defaultSize = btn.Size local hoverSize = UDim2.new(defaultSize.X.Scale, defaultSize.X.Offset + 4, defaultSize.Y.Scale, defaultSize.Y.Offset + 2) btn.MouseEnter:Connect(function() TweenService:Create(btn, TweenInfo.new(0.2, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Size = hoverSize }):Play() end) btn.MouseLeave:Connect(function() TweenService:Create(btn, TweenInfo.new(0.2, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Size = defaultSize }):Play() end) btn.MouseButton1Down:Connect(function() TweenService:Create(btn, TweenInfo.new(0.1, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Size = UDim2.new(defaultSize.X.Scale, defaultSize.X.Offset - 4, defaultSize.Y.Scale, defaultSize.Y.Offset - 2) }):Play() end) btn.MouseButton1Up:Connect(function() TweenService:Create(btn, TweenInfo.new(0.15, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Size = hoverSize }):Play() end) end -- RESET BUTTON local resetBtn = Instance.new("TextButton") resetBtn.Size = UDim2.new(0.5, -18, 0, 32) resetBtn.Position = UDim2.new(0, 15, 0, 70) resetBtn.BackgroundColor3 = Color3.fromRGB(16, 24, 18) resetBtn.Text = "RESET" resetBtn.Font = Enum.Font.GothamBold resetBtn.TextSize = 11 resetBtn.TextColor3 = Color3.fromRGB(0, 255, 100) resetBtn.Parent = contentContainer local resetCorner = Instance.new("UICorner") resetCorner.CornerRadius = UDim.new(0, 10) resetCorner.Parent = resetBtn local resetStroke = Instance.new("UIStroke") resetStroke.Color = Color3.fromRGB(0, 150, 60) resetStroke.Thickness = 1 resetStroke.Transparency = 0.5 resetStroke.Parent = resetBtn setupButtonAnimations(resetBtn) resetBtn.MouseButton1Click:Connect(function() -- Cool flash animation on click TweenService:Create(resetBtn, TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { BackgroundColor3 = Color3.fromRGB(0, 255, 100) }):Play() TweenService:Create(resetBtn, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.In), { BackgroundColor3 = Color3.fromRGB(16, 24, 18), TextColor3 = Color3.fromRGB(255, 255, 255) }):Play() camera.FieldOfView = 70 valLabel.Text = "70" TweenService:Create(fill, TweenInfo.new(0.3, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Size = UDim2.new(math.clamp((70 - minFOV) / (maxFOV - minFOV), 0, 1), 0, 1, 0) }):Play() end) -- UNLOAD BUTTON local unloadBtn = Instance.new("TextButton") unloadBtn.Size = UDim2.new(0.5, -18, 0, 32) unloadBtn.Position = UDim2.new(0.5, 3, 0, 70) unloadBtn.BackgroundColor3 = Color3.fromRGB(26, 16, 18) unloadBtn.Text = "UNLOAD" unloadBtn.Font = Enum.Font.GothamBold unloadBtn.TextSize = 11 unloadBtn.TextColor3 = Color3.fromRGB(255, 70, 70) unloadBtn.Parent = contentContainer local unloadCorner = Instance.new("UICorner") unloadCorner.CornerRadius = UDim.new(0, 10) unloadCorner.Parent = unloadBtn local unloadStroke = Instance.new("UIStroke") unloadStroke.Color = Color3.fromRGB(150, 50, 50) unloadStroke.Thickness = 1 unloadStroke.Transparency = 0.5 unloadStroke.Parent = unloadBtn setupButtonAnimations(unloadBtn) unloadBtn.MouseButton1Click:Connect(function() -- Red flash on unload TweenService:Create(unloadBtn, TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { BackgroundColor3 = Color3.fromRGB(255, 70, 70) }):Play() TweenService:Create(unloadBtn, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.In), { BackgroundColor3 = Color3.fromRGB(26, 16, 18), TextColor3 = Color3.fromRGB(255, 255, 255) }):Play() camera.FieldOfView = defaultFOV -- Closing animation local closeTween = TweenService:Create(main, TweenInfo.new(0.3, Enum.EasingStyle.Quart, Enum.EasingDirection.In), { Size = UDim2.new(0, 0, 0, 0), Position = UDim2.new(0.5, 0, 0.5, 0) }) closeTween:Play() closeTween.Completed:Wait() gui:Destroy() end)