Screen zoom
Key RequiredUniversal

Screen zoom

Universal ScriptHelloboyHelloboy 630 views 161 executesUpdated Dec 17, 2025
0.0/ 5(1 votes)
010% Positive
Lua Script•88 lines (2809 chars)
-- // CINEMATIC SUITE (MOBILE & PC COMPATIBLE) \\ --
-- Features: Dynamic FOV, Smooth Breathing, Mobile Toggle Button

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")

local player = Players.LocalPlayer
local camera = workspace.CurrentCamera

-- Lesson Applied: Ensure character and humanoid exist before running logic
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")

-- Re-find humanoid if player resets
player.CharacterAdded:Connect(function(newChar)
	character = newChar
	humanoid = newChar:WaitForChild("Humanoid")
end)

local Settings = {
	IsActive = false,
	DefaultFOV = 70,
	CinematicFOV = 40,
	Smoothness = 0.1,
	ToggleKey = Enum.KeyCode.H
}

-- // UI CONSTRUCTION \\ --
local screen = Instance.new("ScreenGui")
screen.Name = "CineMobileGui"
screen.ResetOnSpawn = false
screen.Parent = player:WaitForChild("PlayerGui")

local toggleBtn = Instance.new("TextButton")
toggleBtn.Name = "Toggle"
toggleBtn.Size = UDim2.fromOffset(60, 60)
toggleBtn.Position = UDim2.new(1, -70, 0.5, -30) -- Right side of screen
toggleBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
toggleBtn.Text = "CINE"
toggleBtn.TextColor3 = Color3.new(1, 1, 1)
toggleBtn.Font = Enum.Font.GothamBold
toggleBtn.TextSize = 14
toggleBtn.Parent = screen

local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0.3, 0)
corner.Parent = toggleBtn

-- // CORE LOGIC \\ --
local function toggleEffect()
	Settings.IsActive = not Settings.IsActive
	
	-- Visual Feedback
	local targetColor = Settings.IsActive and Color3.fromRGB(0, 255, 100) or Color3.fromRGB(30, 30, 30)
	TweenService:Create(toggleBtn, TweenInfo.new(0.3), {BackgroundColor3 = targetColor}):Play()
end

-- PC Input
UserInputService.InputBegan:Connect(function(input, processed)
	if processed then return end
	if input.KeyCode == Settings.ToggleKey then
		toggleEffect()
	end
end)

-- Mobile/Mouse Click Input
toggleBtn.MouseButton1Click:Connect(toggleEffect)

-- Render Loop
RunService.RenderStepped:Connect(function()
	if not humanoid or not camera then return end
	
	if Settings.IsActive then
		camera.FieldOfView = math.lerp(camera.FieldOfView, Settings.CinematicFOV, Settings.Smoothness)
		
		local t = tick()
		local xOffset = math.sin(t * 0.5) * 0.2
		local yOffset = math.cos(t * 0.5) * 0.2
		humanoid.CameraOffset = humanoid.CameraOffset:Lerp(Vector3.new(xOffset, yOffset, 0), 0.1)
	else
		camera.FieldOfView = math.lerp(camera.FieldOfView, Settings.DefaultFOV, Settings.Smoothness)
		humanoid.CameraOffset = humanoid.CameraOffset:Lerp(Vector3.new(0, 0, 0), 0.1)
	end
end)

print("Cinematic Suite with Mobile Support Loaded.")

Features & Information

You click a button to zoom in and out boring yes but I like it since it's made by Gemini but I'm teaching this gemini chat to be smarter soon I'll be powerful lol
#Script#Fov#Screen#Simple

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts