-- ======================================================== -- 🌌 SKYBOX LAYERS [UPDATE 3] -- 🛠️ SUPPORT: Delta Executor & Mobile/PC Executors -- 📝 FEATURES: Loading Screen, 15 Layers, Smooth Echo, Space Debris -- ======================================================== local Players = game:GetService("Players") local RunService = game:GetService("RunService") local Lighting = game:GetService("Lighting") local SoundService = game:GetService("SoundService") local TweenService = game:GetService("TweenService") local CoreGui = game:GetService("CoreGui") local LocalPlayer = Players.LocalPlayer local Camera = workspace.CurrentCamera -- ========================================== -- 1. GUI PROTECTOR & SETUP -- ========================================== local function getGuiParent() local success, hui = pcall(function() return gethui() end) if success and hui then return hui end local success2, cgui = pcall(function() return CoreGui end) if success2 and cgui then return cgui end return LocalPlayer:WaitForChild("PlayerGui") end local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "SkyboxLayersUpdate3" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = getGuiParent() -- ========================================== -- 2. SISTEM LOADING GUI -- ========================================== local LoadingFrame = Instance.new("Frame") LoadingFrame.Size = UDim2.new(1, 0, 1, 0) LoadingFrame.BackgroundColor3 = Color3.fromRGB(0, 0, 0) LoadingFrame.ZIndex = 999 LoadingFrame.Parent = ScreenGui local LoadingTitle = Instance.new("TextLabel") LoadingTitle.Size = UDim2.new(1, 0, 1, 0) LoadingTitle.BackgroundTransparency = 1 LoadingTitle.Text = "Skybox Layers" LoadingTitle.TextColor3 = Color3.fromRGB(255, 255, 255) LoadingTitle.Font = Enum.Font.GothamBlack LoadingTitle.TextSize = 40 LoadingTitle.ZIndex = 1000 LoadingTitle.Parent = LoadingFrame -- Animasi Loading task.wait(1) TweenService:Create(LoadingTitle, TweenInfo.new(1.5, Enum.EasingStyle.Sine), {TextSize = 50, TextColor3 = Color3.fromRGB(150, 150, 255)}):Play() task.wait(2) TweenService:Create(LoadingFrame, TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency = 1}):Play() TweenService:Create(LoadingTitle, TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextTransparency = 1}):Play() task.delay(1, function() LoadingFrame:Destroy() end) -- ========================================== -- 3. MAIN GUI & MAP DISTANCE TRACKER -- ========================================== local MainFrame = Instance.new("Frame") MainFrame.Size = UDim2.new(0, 250, 0, 200) MainFrame.Position = UDim2.new(0.02, 0, 0.4, 0) MainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 20) MainFrame.BorderSizePixel = 2 MainFrame.BorderColor3 = Color3.fromRGB(0, 200, 255) MainFrame.Parent = ScreenGui local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, 0, 0, 30) Title.BackgroundColor3 = Color3.fromRGB(30, 30, 40) Title.Text = "🚀 Skybox Layers [Upd 3]" Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.Font = Enum.Font.GothamBold Title.TextSize = 13 Title.Parent = MainFrame local FlyBtn = Instance.new("TextButton") FlyBtn.Size = UDim2.new(0.9, 0, 0, 45) FlyBtn.Position = UDim2.new(0.05, 0, 0.25, 0) FlyBtn.BackgroundColor3 = Color3.fromRGB(180, 40, 40) FlyBtn.Text = "START ASCEND (SIT)" FlyBtn.TextColor3 = Color3.fromRGB(255, 255, 255) FlyBtn.Font = Enum.Font.GothamBold FlyBtn.TextSize = 14 FlyBtn.Parent = MainFrame local SpeedLabel = Instance.new("TextLabel") SpeedLabel.Size = UDim2.new(0.9, 0, 0, 20) SpeedLabel.Position = UDim2.new(0.05, 0, 0.55, 0) SpeedLabel.BackgroundTransparency = 1 SpeedLabel.Text = "Set Speed (10 - 500k):" SpeedLabel.TextColor3 = Color3.fromRGB(200, 200, 200) SpeedLabel.Font = Enum.Font.SourceSansBold SpeedLabel.TextSize = 14 SpeedLabel.Parent = MainFrame local SpeedBox = Instance.new("TextBox") SpeedBox.Size = UDim2.new(0.9, 0, 0, 35) SpeedBox.Position = UDim2.new(0.05, 0, 0.7, 0) SpeedBox.BackgroundColor3 = Color3.fromRGB(40, 40, 50) SpeedBox.Text = "5000" SpeedBox.TextColor3 = Color3.fromRGB(0, 255, 150) SpeedBox.Font = Enum.Font.Code SpeedBox.TextSize = 18 SpeedBox.Parent = MainFrame -- Tracker Map GUI local TrackerFrame = Instance.new("Frame") TrackerFrame.Size = UDim2.new(0, 300, 0, 110) TrackerFrame.Position = UDim2.new(1, -320, 0.05, 0) TrackerFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 20) TrackerFrame.BorderSizePixel = 2 TrackerFrame.BorderColor3 = Color3.fromRGB(255, 255, 255) TrackerFrame.Parent = ScreenGui local TrackerTitle = Instance.new("TextLabel") TrackerTitle.Size = UDim2.new(1, 0, 0, 25) TrackerTitle.BackgroundColor3 = Color3.fromRGB(30, 30, 40) TrackerTitle.Text = "📍 MAP & DISTANCE" TrackerTitle.TextColor3 = Color3.fromRGB(255, 255, 255) TrackerTitle.Font = Enum.Font.GothamBold TrackerTitle.TextSize = 13 TrackerTitle.Parent = TrackerFrame local DistanceLabel = Instance.new("TextLabel") DistanceLabel.Size = UDim2.new(1, -20, 0, 30) DistanceLabel.Position = UDim2.new(0, 10, 0, 30) DistanceLabel.BackgroundTransparency = 1 DistanceLabel.Text = "Altitude: 0 Studs" DistanceLabel.TextColor3 = Color3.fromRGB(0, 255, 255) DistanceLabel.Font = Enum.Font.Code DistanceLabel.TextSize = 16 DistanceLabel.TextXAlignment = Enum.TextXAlignment.Left DistanceLabel.Parent = TrackerFrame local LayerLabel = Instance.new("TextLabel") LayerLabel.Size = UDim2.new(1, -20, 0, 30) LayerLabel.Position = UDim2.new(0, 10, 0, 60) LayerLabel.BackgroundTransparency = 1 LayerLabel.Text = "Zone: Ground" LayerLabel.TextColor3 = Color3.fromRGB(255, 215, 0) LayerLabel.Font = Enum.Font.Code LayerLabel.TextSize = 15 LayerLabel.TextXAlignment = Enum.TextXAlignment.Left LayerLabel.Parent = TrackerFrame local ProgressBG = Instance.new("Frame") ProgressBG.Size = UDim2.new(1, -20, 0, 8) ProgressBG.Position = UDim2.new(0, 10, 0, 95) ProgressBG.BackgroundColor3 = Color3.fromRGB(50, 50, 50) ProgressBG.BorderSizePixel = 0 ProgressBG.Parent = TrackerFrame local ProgressBar = Instance.new("Frame") ProgressBar.Size = UDim2.new(0, 0, 1, 0) ProgressBar.BackgroundColor3 = Color3.fromRGB(0, 200, 255) ProgressBar.BorderSizePixel = 0 ProgressBar.Parent = ProgressBG -- Sistem Drag UI local function makeDraggable(frame, handle) local dragStart, startPos, dragging handle.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true; dragStart = input.Position; startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) game:GetService("UserInputService").InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - dragStart frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) end makeDraggable(MainFrame, Title) makeDraggable(TrackerFrame, TrackerTitle) -- ========================================== -- 4. AUDIO ENGINE (GEMA HALUS) -- ========================================== local SGroup = Instance.new("SoundGroup") SGroup.Name = "SkyboxAudio" SGroup.Parent = SoundService local Reverb = Instance.new("ReverbSoundEffect") Reverb.DecayTime = 2.5 -- Gema panjang tapi halus Reverb.Density = 0.8 Reverb.Diffusion = 0.8 Reverb.Parent = SGroup local Echo = Instance.new("EchoSoundEffect") Echo.Delay = 0.6 Echo.Feedback = 0.2 -- Feedback rendah agar tidak berisik Echo.WetLevel = -0.1 Echo.Parent = SGroup local BGSound = Instance.new("Sound") BGSound.SoundGroup = SGroup BGSound.Volume = 0.7 BGSound.Looped = true BGSound.Parent = SoundService -- ========================================== -- 5. LIGHTING & DATABASE LAYERS -- ========================================== for _, obj in pairs(Lighting:GetChildren()) do if obj:IsA("Sky") or obj:IsA("Atmosphere") or obj:IsA("ColorCorrectionEffect") then obj:Destroy() end end Lighting.FogEnd = 1000000 local currentSky = Instance.new("Sky") currentSky.Name = "SkyboxLayer" currentSky.Parent = Lighting local CC = Instance.new("ColorCorrectionEffect") CC.Parent = Lighting local function setSkyTexture(id) local tex = id and ("rbxassetid://" .. id) or "" currentSky.SkyboxBk = tex; currentSky.SkyboxDn = tex currentSky.SkyboxFt = tex; currentSky.SkyboxLf = tex currentSky.SkyboxRt = tex; currentSky.SkyboxUp = tex end local LAYERS = { {name="Ground", studs=0, sky=nil, sound=nil, pitch=1, effect="none"}, {name="1. Null Zone", studs=50000, sky=nil, sound=nil, pitch=1, effect="flicker"}, {name="2. Black Box", studs=1000000, sky="1864839162", sound="9125603749", pitch=1, effect="none"}, {name="3. Color Box", studs=1500000, sky="76584711398016", sound="103640130374819", pitch=1, effect="rgb"}, {name="4. Glitch Box", studs=2000000, sky="678675390", sound="74461673136220", pitch=1, effect="glitch"}, {name="5. Red Box", studs=5000000, sky="136055162054954", sound="1844251170", pitch=1, effect="red"}, {name="6. Gall Box", studs=10000000, sky="348361280", sound="140449240163331", pitch=1, effect="green"}, {name="7. Fritch Box", studs=15000000, sky="14201658516", sound="133054925243074", pitch=1, effect="none"}, {name="8. True Void Box", studs=25000000, sky="1864839162", sound=nil, pitch=1, effect="dark"}, {name="9. Noise Box", studs=35000000, sky="132436343179109", sound="9043345732", pitch=10, effect="noise"}, {name="10. Blue Box", studs=50000000, sky="1864839162", sound="105560583824086", pitch=1, effect="blue"}, {name="11. Scream Box", studs=65000000, sky="136055162054954", sound=nil, pitch=1, effect="darkred"}, {name="12. White Box", studs=75000000, sky="4604073339", sound="86575433206430", pitch=1, effect="white"}, {name="13. Time Box", studs=100000000, sky="1276339885", sound="113002664483925", pitch=2, effect="time"}, {name="14. Space Box", studs=150000000, sky="136402262", sound="139992348741850", pitch=1, effect="space"}, {name="15. Final Box", studs=250000000, sky="409857582", sound="9125603019", pitch=1, effect="none"} } -- ========================================== -- 6. SPACE ENGINE (LAYER 14) DEBRIS SYSTEM -- ========================================== local SpaceFolder = Instance.new("Folder", workspace) SpaceFolder.Name = "SpaceDebrisEngine" local DebrisPool = {} for i = 1, 70 do local part = Instance.new("Part") part.Size = Vector3.new(math.random(2,8), math.random(2,8), math.random(2,8)) part.Material = Enum.Material.Neon part.Color = Color3.fromRGB(200, 220, 255) part.Anchored = true; part.CanCollide = false part.Transparency = 1 -- Sembunyikan secara default part.Parent = SpaceFolder table.insert(DebrisPool, {obj = part, offsetY = math.random(-500, 500)}) end -- ========================================== -- 7. CORE ENGINE (FLY & EFFECTS LOOP) -- ========================================== local isFlying = false local flySpeed = 5000 local activeLayerIndex = -1 local effectTimer = 0 FlyBtn.MouseButton1Click:Connect(function() isFlying = not isFlying FlyBtn.Text = isFlying and "STOP ASCEND" or "START ASCEND (SIT)" FlyBtn.BackgroundColor3 = isFlying and Color3.fromRGB(40, 180, 40) or Color3.fromRGB(180, 40, 40) end) SpeedBox.FocusLost:Connect(function() local val = tonumber(SpeedBox.Text) if val then flySpeed = math.clamp(val, 10, 500000) end SpeedBox.Text = tostring(flySpeed) end) RunService.Heartbeat:Connect(function(dt) local char = LocalPlayer.Character if not char then return end local hrp = char:FindFirstChild("HumanoidRootPart") local hum = char:FindFirstChildOfClass("Humanoid") if not hrp then return end -- Update UI Distance local altitude = math.floor(hrp.Position.Y) DistanceLabel.Text = "Altitude: " .. altitude .. " Studs" ProgressBar.Size = UDim2.new(math.clamp(altitude / 250000000, 0, 1), 0, 1, 0) -- Fly Logic if isFlying then if hum then hum.Sit = true end for _, p in pairs(char:GetChildren()) do if p:IsA("BasePart") then p.CanCollide = false end end hrp.CFrame = hrp.CFrame + Vector3.new(0, flySpeed * dt, 0) hrp.AssemblyLinearVelocity = Vector3.zero end -- Layer Checker local currentIdx = 1 for i = #LAYERS, 1, -1 do if altitude >= LAYERS[i].studs then currentIdx = i break end end local curData = LAYERS[currentIdx] -- Trigger saat ganti layer if activeLayerIndex ~= currentIdx then activeLayerIndex = currentIdx LayerLabel.Text = "Zone: " .. curData.name setSkyTexture(curData.sky) -- Reset Color Correction CC.TintColor = Color3.new(1, 1, 1) if curData.effect == "red" then CC.TintColor = Color3.new(1, 0, 0) elseif curData.effect == "green" then CC.TintColor = Color3.new(0, 1, 0) elseif curData.effect == "blue" then CC.TintColor = Color3.new(0, 0, 1) elseif curData.effect == "darkred" then CC.TintColor = Color3.new(0.3, 0, 0) elseif curData.effect == "dark" then CC.TintColor = Color3.new(0.02, 0.02, 0.02) elseif curData.effect == "white" then CC.TintColor = Color3.new(2, 2, 2) end -- Update Audio System if curData.sound then BGSound.SoundId = "rbxassetid://" .. curData.sound BGSound.PlaybackSpeed = curData.pitch if not BGSound.IsPlaying then BGSound:Play() end else BGSound:Stop() end -- Sembunyikan partikel luar angkasa jika bukan layer 14 if curData.effect ~= "space" then for _, d in pairs(DebrisPool) do d.obj.Transparency = 1 end end end -- ================================= -- UNIQUE LAYER EFFECTS (REALTIME) -- ================================= effectTimer = effectTimer + dt if curData.effect == "flicker" then CC.TintColor = (math.floor(effectTimer * 15) % 2 == 0) and Color3.new(1,1,1) or Color3.new(0,0,0) elseif curData.effect == "rgb" then CC.TintColor = Color3.fromHSV(effectTimer % 3 / 3, 1, 1) elseif curData.effect == "glitch" then if math.random(1, 10) > 8 then setSkyTexture(math.random(1,2) == 1 and "678675390" or "409857582") end elseif curData.effect == "noise" then -- Setiap 1 detik ganti Abu-abu & Merah local isRed = math.floor(effectTimer) % 2 == 0 CC.TintColor = isRed and Color3.fromRGB(255, 0, 0) or Color3.fromRGB(100, 100, 100) elseif curData.effect == "time" then -- Sisi skybox berubah-ubah ke {142900882} if math.random(1, 30) > 27 then local faces = {"SkyboxBk", "SkyboxDn", "SkyboxFt", "SkyboxLf", "SkyboxRt", "SkyboxUp"} local targetFace = faces[math.random(1, 6)] currentSky[targetFace] = "rbxassetid://142900882" task.delay(0.15, function() if activeLayerIndex == 14 then -- 14 = Time Box (Layer 13 tp index array 14 krn ground) currentSky[targetFace] = "rbxassetid://1276339885" end end) end elseif curData.effect == "space" then -- Space Box Debris: Part berterbangan ke bawah (Ilusi Player naik) for _, d in pairs(DebrisPool) do d.obj.Transparency = 0.2 -- Partikel jatuh sesuai dengan kecepatan terbang player d.offsetY = d.offsetY - (math.clamp(flySpeed, 100, 2000) * dt) -- Jika part sudah menjauh 500 stud di bawah player, spawn kembali di atas if d.offsetY < -500 then d.offsetY = 500 + math.random(0, 300) d.obj.Position = hrp.Position + Vector3.new(math.random(-300, 300), d.offsetY, math.random(-300, 300)) else -- Turunkan Y secara halus d.obj.CFrame = CFrame.new(d.obj.Position.X, hrp.Position.Y + d.offsetY, d.obj.Position.Z) * CFrame.Angles(d.offsetY/10, d.offsetY/10, 0) end end end end)