Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --// Ultra Graphics + Time Controller (Single LocalScript)
- --// Place in: StarterPlayer > StarterPlayerScripts
- --// Hotkey: G (toggle panel)
- --// Theme: Black & White | Watermark: "Time Set Pro by Oxcom"
- --// No blur / eye strain; clean, crisp, "8K-look" tone
- --========================================================
- --== Services
- --========================================================
- local Players = game:GetService("Players")
- local TweenService = game:GetService("TweenService")
- local UIS = game:GetService("UserInputService")
- local RunService = game:GetService("RunService")
- local Lighting = game:GetService("Lighting")
- local LocalPlayer = Players.LocalPlayer
- local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
- --========================================================
- --== Ultra Graphics (smart, eye-friendly, no blur)
- --========================================================
- local function applyUltraGraphics()
- -- Technology & global render knobs
- pcall(function()
- Lighting.Technology = Enum.Technology.Future -- modern GI, reflections
- end)
- -- Keep it clean and crisp
- Lighting.EnvironmentDiffuseScale = 1
- Lighting.EnvironmentSpecularScale = 1
- Lighting.GlobalShadows = true
- Lighting.Brightness = 2.2 -- bright enough, not harsh
- Lighting.ExposureCompensation = 0
- Lighting.ShadowSoftness = 1
- Lighting.GeographicLatitude = 35 -- natural sun angle
- Lighting.ClockTime = 9 -- comfy starting time (morning)
- -- Neutral ambient (no color cast)
- Lighting.Ambient = Color3.fromRGB(180,180,180)
- Lighting.OutdoorAmbient = Color3.fromRGB(180,180,180)
- -- NO Depth of Field (no blur)
- local dof = Lighting:FindFirstChildOfClass("DepthOfFieldEffect")
- if dof then dof.Enabled = false end
- -- Subtle post-processing for clarity (not flashy)
- local cc = Lighting:FindFirstChild("UX_CC") or Instance.new("ColorCorrectionEffect")
- cc.Name = "UX_CC"
- cc.Parent = Lighting
- cc.Brightness = 0.02 -- lift shadows slightly
- cc.Contrast = 0.12 -- mild clarity
- cc.Saturation = -0.05 -- slightly desaturated to reduce eye strain
- cc.Enabled = true
- local bloom = Lighting:FindFirstChild("UX_Bloom") or Instance.new("BloomEffect")
- bloom.Name = "UX_Bloom"
- bloom.Parent = Lighting
- bloom.Intensity = 0.15 -- very soft, avoids glow
- bloom.Size = 10
- bloom.Threshold = 0.92
- bloom.Enabled = true
- local sun = Lighting:FindFirstChild("UX_Sun") or Instance.new("SunRaysEffect")
- sun.Name = "UX_Sun"
- sun.Parent = Lighting
- sun.Intensity = 0.02 -- barely there, only at strong angles
- sun.Spread = 0.8
- sun.Enabled = true
- -- Soft atmosphere, no fog wall
- local atmo = Lighting:FindFirstChild("UX_Atmosphere") or Instance.new("Atmosphere")
- atmo.Name = "UX_Atmosphere"
- atmo.Parent = Lighting
- atmo.Density = 0.25
- atmo.Offset = 0.03
- atmo.Color = Color3.fromRGB(210,210,210)
- atmo.Decay = Color3.fromRGB(140,140,140)
- atmo.Glare = 0.04
- atmo.Haze = 0.55
- -- Try to push client quality high (best-effort)
- pcall(function()
- if settings and settings().Rendering then
- -- Use LevelXX if available; fallback Automatic otherwise
- settings().Rendering.QualityLevel = Enum.QualityLevel.Level21 or Enum.QualityLevel.Automatic
- end
- end)
- end
- applyUltraGraphics()
- --========================================================
- --== Time utilities
- --========================================================
- local function clamp(v, mn, mx) if v < mn then return mn elseif v > mx then return mx else return v end end
- local function hhmmToClock(hh, mm) hh = clamp(hh,0,23) mm = clamp(mm,0,59) return hh + (mm/60) end
- local function clockToHHMM(clock)
- local totalMin = math.floor((clock % 24) * 60 + 0.5)
- local h = math.floor(totalMin/60)
- local m = totalMin % 60
- return h, m
- end
- local function fmt(h, m) return string.format("%02d:%02d", h, m) end
- --========================================================
- --== UI (Black & White, elegant, smooth)
- --========================================================
- local gui = Instance.new("ScreenGui")
- gui.Name = "UltraTimeControllerUI"
- gui.ResetOnSpawn = false
- gui.IgnoreGuiInset = true
- gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
- gui.Parent = PlayerGui
- -- Main panel
- local PANEL_W, PANEL_H = 440, 232
- local panel = Instance.new("Frame")
- panel.Name = "Panel"
- panel.Size = UDim2.fromOffset(PANEL_W, PANEL_H)
- panel.Position = UDim2.new(0, -PANEL_W - 24, 0.25, 0) -- start fully hidden to the left
- panel.BackgroundColor3 = Color3.fromRGB(18,18,18)
- panel.BorderSizePixel = 0
- panel.Parent = gui
- panel.BackgroundTransparency = 0
- local corner = Instance.new("UICorner", panel) corner.CornerRadius = UDim.new(0,16)
- -- Subtle shadow
- local shadow = Instance.new("ImageLabel")
- shadow.Name = "Shadow"
- shadow.Parent = panel
- shadow.BackgroundTransparency = 1
- shadow.AnchorPoint = Vector2.new(0.5,0.5)
- shadow.Position = UDim2.fromScale(0.5,0.5)
- shadow.Size = UDim2.new(1, 48, 1, 48)
- shadow.Image = "rbxassetid://1316045217"
- shadow.ScaleType = Enum.ScaleType.Slice
- shadow.SliceCenter = Rect.new(10,10,118,118)
- shadow.ImageTransparency = 0.3
- shadow.ZIndex = 0
- -- Header
- local header = Instance.new("TextLabel")
- header.Name = "Header"
- header.Parent = panel
- header.Size = UDim2.new(1, -20, 0, 42)
- header.Position = UDim2.new(0, 12, 0, 8)
- header.BackgroundTransparency = 1
- header.Font = Enum.Font.GothamBold
- header.Text = "Ultra Graphics • Time Controller"
- header.TextSize = 18
- header.TextColor3 = Color3.fromRGB(245,245,245)
- header.TextXAlignment = Enum.TextXAlignment.Left
- header.ZIndex = 2
- local subtitle = Instance.new("TextLabel")
- subtitle.Parent = panel
- subtitle.Size = UDim2.new(1, -20, 0, 18)
- subtitle.Position = UDim2.new(0, 12, 0, 40)
- subtitle.BackgroundTransparency = 1
- subtitle.Font = Enum.Font.Gotham
- subtitle.Text = "Presets • Slider • HH:MM input"
- subtitle.TextSize = 12
- subtitle.TextColor3 = Color3.fromRGB(170,170,170)
- subtitle.TextXAlignment = Enum.TextXAlignment.Left
- subtitle.ZIndex = 2
- -- Buttons container
- local buttons = Instance.new("Frame")
- buttons.Name = "Buttons"
- buttons.Parent = panel
- buttons.BackgroundTransparency = 1
- buttons.Position = UDim2.new(0, 12, 0, 70)
- buttons.Size = UDim2.new(1, -24, 0, 40)
- buttons.ZIndex = 2
- local function makeBtn(txt)
- local b = Instance.new("TextButton")
- b.AutoButtonColor = true
- b.Size = UDim2.new(0.24, 0, 1, 0)
- b.BackgroundColor3 = Color3.fromRGB(28,28,28)
- b.Text = txt
- b.Font = Enum.Font.GothamMedium
- b.TextSize = 14
- b.TextColor3 = Color3.fromRGB(235,235,235)
- b.ZIndex = 3
- local c = Instance.new("UICorner", b); c.CornerRadius = UDim.new(0,10)
- local s = Instance.new("UIStroke", b); s.Thickness = 1; s.Color = Color3.fromRGB(70,70,70); s.Transparency = 0.35
- return b
- end
- local btnMorning = makeBtn("MORNING")
- btnMorning.Parent = buttons
- btnMorning.Position = UDim2.new(0.00, 0, 0, 0)
- local btnNoon = makeBtn("NOON")
- btnNoon.Parent = buttons
- btnNoon.Position = UDim2.new(0.26, 0, 0, 0)
- local btnEvening = makeBtn("EVENING")
- btnEvening.Parent = buttons
- btnEvening.Position = UDim2.new(0.52, 0, 0, 0)
- local btnNight = makeBtn("NIGHT")
- btnNight.Parent = buttons
- btnNight.Position = UDim2.new(0.78, 0, 0, 0)
- -- Slider area
- local sliderLabel = Instance.new("TextLabel")
- sliderLabel.Parent = panel
- sliderLabel.BackgroundTransparency = 1
- sliderLabel.Position = UDim2.new(0, 12, 0, 118)
- sliderLabel.Size = UDim2.new(0, 160, 0, 18)
- sliderLabel.Font = Enum.Font.Gotham
- sliderLabel.TextSize = 12
- sliderLabel.TextColor3 = Color3.fromRGB(185,185,185)
- sliderLabel.TextXAlignment = Enum.TextXAlignment.Left
- sliderLabel.Text = "Time Slider (0—24)"
- sliderLabel.ZIndex = 2
- local slider = Instance.new("Frame")
- slider.Name = "Slider"
- slider.Parent = panel
- slider.BackgroundTransparency = 1
- slider.Position = UDim2.new(0, 12, 0, 140)
- slider.Size = UDim2.new(1, -24, 0, 24)
- slider.ZIndex = 2
- local bar = Instance.new("Frame")
- bar.Parent = slider
- bar.AnchorPoint = Vector2.new(0,0.5)
- bar.Position = UDim2.new(0, 0, 0.5, 0)
- bar.Size = UDim2.new(1, 0, 0, 6)
- bar.BackgroundColor3 = Color3.fromRGB(46,46,46)
- bar.BorderSizePixel = 0
- local barCorner = Instance.new("UICorner", bar); barCorner.CornerRadius = UDim.new(0, 8)
- local fill = Instance.new("Frame")
- fill.Parent = bar
- fill.Size = UDim2.new(0, 0, 1, 0)
- fill.BackgroundColor3 = Color3.fromRGB(240,240,240)
- fill.BorderSizePixel = 0
- local fillCorner = Instance.new("UICorner", fill); fillCorner.CornerRadius = UDim.new(0, 8)
- local knob = Instance.new("Frame")
- knob.Parent = slider
- knob.Size = UDim2.new(0, 16, 0, 16)
- knob.AnchorPoint = Vector2.new(0.5, 0.5)
- knob.Position = UDim2.new(0, 0, 0.5, 0)
- knob.BackgroundColor3 = Color3.fromRGB(255,255,255)
- knob.BorderSizePixel = 0
- local knobCorner = Instance.new("UICorner", knob); knobCorner.CornerRadius = UDim.new(1, 0)
- local knobStroke = Instance.new("UIStroke", knob); knobStroke.Color = Color3.fromRGB(70,70,70); knobStroke.Thickness = 1; knobStroke.Transparency = 0.3
- knob.ZIndex = 3
- local timeReadout = Instance.new("TextLabel")
- timeReadout.Parent = panel
- timeReadout.BackgroundTransparency = 1
- timeReadout.Position = UDim2.new(1, -140, 0, 118)
- timeReadout.Size = UDim2.new(0, 128, 0, 18)
- timeReadout.Font = Enum.Font.GothamMedium
- timeReadout.TextSize = 14
- timeReadout.TextColor3 = Color3.fromRGB(240,240,240)
- timeReadout.TextXAlignment = Enum.TextXAlignment.Right
- timeReadout.Text = "09:00"
- timeReadout.ZIndex = 2
- -- HH:MM input
- local inputRow = Instance.new("Frame")
- inputRow.Parent = panel
- inputRow.BackgroundTransparency = 1
- inputRow.Position = UDim2.new(0, 12, 0, 176)
- inputRow.Size = UDim2.new(1, -24, 0, 32)
- inputRow.ZIndex = 2
- local inputBox = Instance.new("TextBox")
- inputBox.Parent = inputRow
- inputBox.Size = UDim2.new(0, 110, 1, 0)
- inputBox.BackgroundColor3 = Color3.fromRGB(28,28,28)
- inputBox.PlaceholderText = "HH:MM"
- inputBox.Text = ""
- inputBox.ClearTextOnFocus = false
- inputBox.TextXAlignment = Enum.TextXAlignment.Center
- inputBox.Font = Enum.Font.GothamMedium
- inputBox.TextSize = 14
- inputBox.TextColor3 = Color3.fromRGB(235,235,235)
- local inputCorner = Instance.new("UICorner", inputBox); inputCorner.CornerRadius = UDim.new(0,10)
- local inputStroke = Instance.new("UIStroke", inputBox); inputStroke.Thickness = 1; inputStroke.Color = Color3.fromRGB(70,70,70); inputStroke.Transparency = 0.35
- local applyBtn = Instance.new("TextButton")
- applyBtn.Parent = inputRow
- applyBtn.Size = UDim2.new(0, 130, 1, 0)
- applyBtn.Position = UDim2.new(0, 122, 0, 0)
- applyBtn.Text = "Apply HH:MM"
- applyBtn.BackgroundColor3 = Color3.fromRGB(240,240,240)
- applyBtn.TextColor3 = Color3.fromRGB(16,16,16)
- applyBtn.Font = Enum.Font.GothamSemibold
- applyBtn.TextSize = 14
- applyBtn.AutoButtonColor = true
- local applyCorner = Instance.new("UICorner", applyBtn); applyCorner.CornerRadius = UDim.new(0,10)
- -- Watermark (small)
- local watermark = Instance.new("TextLabel")
- watermark.Parent = panel
- watermark.BackgroundTransparency = 1
- watermark.Position = UDim2.new(0, 12, 1, -18)
- watermark.Size = UDim2.new(1, -24, 0, 14)
- watermark.Font = Enum.Font.Gotham
- watermark.TextSize = 10
- watermark.TextColor3 = Color3.fromRGB(150,150,150)
- watermark.TextXAlignment = Enum.TextXAlignment.Left
- watermark.Text = "Time Set Pro by Oxcom"
- watermark.ZIndex = 2
- -- Padding
- local pad = Instance.new("UIPadding", panel)
- pad.PaddingLeft = UDim.new(0, 8)
- pad.PaddingRight = UDim.new(0, 8)
- --========================================================
- --== Time logic + UI wiring
- --========================================================
- local function setClockTime(clock, ease)
- clock = (clock % 24)
- if ease then
- TweenService:Create(Lighting, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {ClockTime = clock}):Play()
- else
- Lighting.ClockTime = clock
- end
- -- Update UI visuals
- local alpha = clock/24
- fill:TweenSize(UDim2.new(alpha,0,1,0), Enum.EasingDirection.Out, Enum.EasingStyle.Quad, 0.15, true)
- knob:TweenPosition(UDim2.new(alpha,0,0.5,0), Enum.EasingDirection.Out, Enum.EasingStyle.Quad, 0.15, true)
- local hh, mm = clockToHHMM(clock)
- timeReadout.Text = fmt(hh, mm)
- end
- -- Presets
- btnMorning.MouseButton1Click:Connect(function() setClockTime(6, true) end)
- btnNoon.MouseButton1Click:Connect(function() setClockTime(12, true) end)
- btnEvening.MouseButton1Click:Connect(function() setClockTime(17.5, true) end)
- btnNight.MouseButton1Click:Connect(function() setClockTime(20, true) end)
- -- Slider drag
- local dragging = false
- local function updateFromX(x)
- local barPos = bar.AbsolutePosition.X
- local barSize = bar.AbsoluteSize.X
- if barSize <= 0 then return end
- local rel = clamp((x - barPos)/barSize, 0, 1)
- setClockTime(rel * 24, false)
- end
- knob.InputBegan:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
- dragging = true
- end
- end)
- bar.InputBegan:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
- dragging = true
- updateFromX(input.Position.X)
- end
- end)
- UIS.InputChanged:Connect(function(input)
- if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
- updateFromX(input.Position.X)
- end
- end)
- UIS.InputEnded:Connect(function(input)
- if dragging and (input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch) then
- dragging = false
- end
- end)
- -- HH:MM apply
- applyBtn.MouseButton1Click:Connect(function()
- local text = string.gsub(inputBox.Text, "%s+", "")
- local h, m = string.match(text, "^(%d%d?):(%d%d)$")
- h = tonumber(h); m = tonumber(m)
- if h and m then
- setClockTime(hhmmToClock(h,m), true)
- applyBtn.Text = "Applied"
- task.delay(0.6, function() applyBtn.Text = "Apply HH:MM" end)
- else
- applyBtn.Text = "Invalid format!"
- task.delay(0.8, function() applyBtn.Text = "Apply HH:MM" end)
- end
- end)
- -- Keep slider position correct when window resizes or time changes elsewhere
- local lastClock = Lighting.ClockTime
- RunService.RenderStepped:Connect(function()
- if math.abs(Lighting.ClockTime - lastClock) > 1e-3 then
- lastClock = Lighting.ClockTime
- setClockTime(lastClock, false)
- end
- end)
- --========================================================
- --== Smooth toggle (G): left-hide / right-show
- --========================================================
- local isOpen = false
- local function openPos() return UDim2.new(0, 20, 0.25, 0) end -- visible (slid in from left to right)
- local function closePos() return UDim2.new(0, -PANEL_W - 24, 0.25, 0) end -- hidden to the left
- local function togglePanel(state)
- if state ~= nil then isOpen = state else isOpen = not isOpen end
- local goal = isOpen and openPos() or closePos()
- local tween = TweenService:Create(panel, TweenInfo.new(0.36, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {Position = goal})
- tween:Play()
- -- subtle fade for polish
- local toTrans = isOpen and 0 or 0.15
- TweenService:Create(panel, TweenInfo.new(0.24, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency = toTrans}):Play()
- end
- -- Show on start (slide in from left to right)
- task.defer(function()
- setClockTime(Lighting.ClockTime or 9, false)
- togglePanel(true)
- end)
- -- Toggle with G
- UIS.InputBegan:Connect(function(input, gpe)
- if gpe then return end
- if input.KeyCode == Enum.KeyCode.G then
- -- If open: slide left and hide; if closed: slide right and show
- togglePanel()
- end
- end)
- -- Optional: drag the panel by header
- local draggingPanel = false
- local dragOffset = Vector2.new()
- header.InputBegan:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseButton1 then
- draggingPanel = true
- dragOffset = input.Position - panel.AbsolutePosition
- end
- end)
- UIS.InputChanged:Connect(function(input)
- if draggingPanel and input.UserInputType == Enum.UserInputType.MouseMovement then
- local newPos = input.Position - dragOffset
- panel.Position = UDim2.fromOffset(newPos.X, newPos.Y)
- end
- end)
- UIS.InputEnded:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseButton1 then
- draggingPanel = false
- end
- end)
- --========================================================
- --== End: Press G to toggle the panel
- --========================================================
Advertisement
Add Comment
Please, Sign In to add comment