local player = game.Players.LocalPlayer local lighting = game:GetService("Lighting") local playerGui = player:WaitForChild("PlayerGui") for _, v in pairs(playerGui:GetChildren()) do if v.Name == "MoonGUI" then v:Destroy() end end local gui = Instance.new("ScreenGui", playerGui) gui.Name = "MoonGUI" local frame = Instance.new("Frame", gui) frame.Size = UDim2.new(0,250,0,520) frame.Position = UDim2.new(0,20,0.5,-260) frame.BackgroundColor3 = Color3.fromRGB(25,25,25) frame.Active = true frame.Draggable = true local toggleButton = Instance.new("TextButton", frame) toggleButton.Size = UDim2.new(1,0,0,30) toggleButton.Text = "☰ Moon GUI" toggleButton.BackgroundColor3 = Color3.fromRGB(45,45,45) toggleButton.TextColor3 = Color3.new(1,1,1) local contentFrame = Instance.new("Frame", frame) contentFrame.Size = UDim2.new(1,0,1,-30) contentFrame.Position = UDim2.new(0,0,0,30) contentFrame.BackgroundTransparency = 1 toggleButton.MouseButton1Click:Connect(function() contentFrame.Visible = not contentFrame.Visible end) local layout = Instance.new("UIListLayout", contentFrame) layout.Padding = UDim.new(0,5) local function btn(text) local b = Instance.new("TextButton", contentFrame) b.Size = UDim2.new(1,0,0,35) b.Text = text b.BackgroundColor3 = Color3.fromRGB(45,45,45) b.TextColor3 = Color3.new(1,1,1) return b end local dayBtn = btn("☀️ Day") local morningBtn = btn("🌅 Morning") local nightBtn = btn("🌙 Night") local sunsetBtn = btn("🌇 Sunset") local moonBtn = btn("🌕 Toggle Moon") local raysBtn = btn("🌟 Toggle Sun Rays") local orangeMoonBtn = btn("🟠 Orange Moon") local blueMoonBtn = btn("🔵 Blue Moon") local purpleMoonBtn = btn("🟣 Purple Moon") local bloodMoonBtn = btn("🔥 Blood Moon") local sky = lighting:FindFirstChildOfClass("Sky") or Instance.new("Sky", lighting) sky.MoonTextureId = "rbxassetid://140416831535614" sky.MoonAngularSize = 50 local color = lighting:FindFirstChildOfClass("ColorCorrectionEffect") or Instance.new("ColorCorrectionEffect", lighting) color.TintColor = Color3.new(1,1,1) local atmosphere = lighting:FindFirstChildOfClass("Atmosphere") or Instance.new("Atmosphere", lighting) local rays = lighting:FindFirstChildOfClass("SunRaysEffect") or Instance.new("SunRaysEffect", lighting) rays.Intensity = 0.25 local moonOn = true local raysOn = true local fogTarget = Color3.fromRGB(120,100,80) local currentMoon = { texture = "rbxassetid://140416831535614", light = Color3.fromRGB(255,170,100), tint = Color3.fromRGB(240,170,110), rays = Color3.fromRGB(255,200,150) } local function resetFog() fogTarget = Color3.fromRGB(120,100,80) lighting.FogStart = 60 lighting.FogEnd = 300 atmosphere.Density = 0.4 atmosphere.Haze = 2 end local function smoothTransition(targetClock, duration) duration = duration or 2 local startClock = lighting.ClockTime local steps = duration / 0.05 local delta = (targetClock - startClock) / steps for i = 1, steps do lighting.ClockTime = lighting.ClockTime + delta wait(0.05) end end local function applyMoon() if moonOn and (lighting.ClockTime < 6 or lighting.ClockTime >= 18) then sky.MoonTextureId = currentMoon.texture color.TintColor = currentMoon.tint rays.Enabled = true rays.Intensity = 0.15 rays.Color = currentMoon.rays else color.TintColor = Color3.new(1,1,1) rays.Enabled = raysOn end end spawn(function() while true do wait(0.1) lighting.FogColor = lighting.FogColor:Lerp(fogTarget,0.02) atmosphere.Color = atmosphere.Color:Lerp(fogTarget,0.02) end end) dayBtn.MouseButton1Click:Connect(function() smoothTransition(14,3) resetFog() applyMoon() end) morningBtn.MouseButton1Click:Connect(function() smoothTransition(6,3) resetFog() applyMoon() end) nightBtn.MouseButton1Click:Connect(function() smoothTransition(0,3) applyMoon() end) sunsetBtn.MouseButton1Click:Connect(function() smoothTransition(17,3) applyMoon() end) moonBtn.MouseButton1Click:Connect(function() moonOn = not moonOn if not moonOn then sky.MoonTextureId = "" end applyMoon() end) raysBtn.MouseButton1Click:Connect(function() raysOn = not raysOn applyMoon() end) orangeMoonBtn.MouseButton1Click:Connect(function() resetFog() fogTarget = Color3.fromRGB(180,120,80) currentMoon = { texture = "rbxassetid://140416831535614", tint = Color3.fromRGB(240,170,110), rays = Color3.fromRGB(255,200,150) } applyMoon() end) blueMoonBtn.MouseButton1Click:Connect(function() resetFog() fogTarget = Color3.fromRGB(80,120,180) currentMoon = { texture = "rbxassetid://15799505266", tint = Color3.fromRGB(150,200,255), rays = Color3.fromRGB(150,200,255) } applyMoon() end) purpleMoonBtn.MouseButton1Click:Connect(function() resetFog() fogTarget = Color3.fromRGB(120,80,150) currentMoon = { texture = "rbxassetid://95527391479266", tint = Color3.fromRGB(220,150,255), rays = Color3.fromRGB(220,150,255) } applyMoon() end) bloodMoonBtn.MouseButton1Click:Connect(function() resetFog() fogTarget = Color3.fromRGB(120,0,0) atmosphere.Density = 0.6 atmosphere.Haze = 4 currentMoon = { texture = "rbxassetid://6694062571", tint = Color3.fromRGB(255,80,80), rays = Color3.fromRGB(255,50,50) } smoothTransition(0, 2) spawn(function() local startClock = lighting.ClockTime local targetClock = 3 local steps = 60 local delta = (targetClock - startClock) / steps for i = 1, steps do lighting.ClockTime = lighting.ClockTime + delta wait(0.05) end end) applyMoon() end)