local HttpService = game:GetService("HttpService") local CoreGui = game:GetService("CoreGui") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local Players = game:GetService("Players") -- 1. Hapus UI Lama jika ada if CoreGui:FindFirstChild("AdvancedTopUI") then CoreGui.AdvancedTopUI:Destroy() end -- 2. ScreenGui Utama local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "AdvancedTopUI" ScreenGui.ResetOnSpawn = false ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling ScreenGui.Parent = CoreGui ScreenGui.IgnoreGuiInset = true -- Container Notifikasi (Pojok Kanan Bawah) local NotificationContainer = Instance.new("Frame") NotificationContainer.Name = "NotificationContainer" NotificationContainer.AnchorPoint = Vector2.new(1, 1) NotificationContainer.Position = UDim2.new(1, -20, 1, -20) NotificationContainer.Size = UDim2.new(0, 220, 0, 300) NotificationContainer.BackgroundTransparency = 1 NotificationContainer.Parent = ScreenGui local NotifLayout = Instance.new("UIListLayout") NotifLayout.VerticalAlignment = Enum.VerticalAlignment.Bottom NotifLayout.SortOrder = Enum.SortOrder.LayoutOrder NotifLayout.Padding = UDim.new(0, 6) NotifLayout.Parent = NotificationContainer -- Fungsi Notifikasi local function Notify(title, message, duration) duration = duration or 2.5 local NotifFrame = Instance.new("Frame") NotifFrame.Size = UDim2.new(1, 0, 0, 45) NotifFrame.BackgroundColor3 = Color3.fromRGB(15, 25, 55) NotifFrame.BackgroundTransparency = 0.2 NotifFrame.BorderSizePixel = 0 NotifFrame.Parent = NotificationContainer local NotifCorner = Instance.new("UICorner") NotifCorner.CornerRadius = UDim.new(0, 6) NotifCorner.Parent = NotifFrame local NotifStroke = Instance.new("UIStroke") NotifStroke.Color = Color3.fromRGB(70, 120, 240) NotifStroke.Thickness = 1 NotifStroke.Parent = NotifFrame local NotifTitle = Instance.new("TextLabel") NotifTitle.Size = UDim2.new(1, -10, 0, 18) NotifTitle.Position = UDim2.new(0, 8, 0, 4) NotifTitle.BackgroundTransparency = 1 NotifTitle.Font = Enum.Font.GothamBold NotifTitle.Text = title NotifTitle.TextColor3 = Color3.fromRGB(100, 180, 255) NotifTitle.TextSize = 11 NotifTitle.TextXAlignment = Enum.TextXAlignment.Left NotifTitle.Parent = NotifFrame local NotifMsg = Instance.new("TextLabel") NotifMsg.Size = UDim2.new(1, -10, 0, 18) NotifMsg.Position = UDim2.new(0, 8, 0, 22) NotifMsg.BackgroundTransparency = 1 NotifMsg.Font = Enum.Font.Gotham NotifMsg.Text = message NotifMsg.TextColor3 = Color3.fromRGB(220, 220, 220) NotifMsg.TextSize = 10 NotifMsg.TextXAlignment = Enum.TextXAlignment.Left NotifMsg.Parent = NotifFrame -- Animasi Masuk & Keluar NotifFrame.Position = UDim2.new(1, 240, 0, 0) TweenService:Create(NotifFrame, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {Position = UDim2.new(0, 0, 0, 0)}):Play() task.delay(duration, function() local tweenOut = TweenService:Create(NotifFrame, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.In), {BackgroundTransparency = 1}) TweenService:Create(NotifTitle, TweenInfo.new(0.3), {TextTransparency = 1}):Play() TweenService:Create(NotifMsg, TweenInfo.new(0.3), {TextTransparency = 1}):Play() TweenService:Create(NotifStroke, TweenInfo.new(0.3), {Transparency = 1}):Play() tweenOut:Play() tweenOut.Completed:Connect(function() NotifFrame:Destroy() end) end) end -- 3. TopBar Utama (Navigasi Kanan Atas) local TopBar = Instance.new("Frame") TopBar.Name = "TopBar" TopBar.AnchorPoint = Vector2.new(1, 0) TopBar.Position = UDim2.new(1, -5, 0, 0) TopBar.Size = UDim2.new(0, 320, 0, 30) TopBar.BackgroundColor3 = Color3.fromRGB(12, 20, 48) TopBar.BackgroundTransparency = 0.2 TopBar.BorderSizePixel = 0 TopBar.Parent = ScreenGui local TopBarStroke = Instance.new("UIStroke") TopBarStroke.Color = Color3.fromRGB(50, 90, 200) TopBarStroke.Thickness = 1.5 TopBarStroke.Parent = TopBar local TopBarLayout = Instance.new("UIListLayout") TopBarLayout.FillDirection = Enum.FillDirection.Horizontal TopBarLayout.SortOrder = Enum.SortOrder.LayoutOrder TopBarLayout.Padding = UDim.new(0, 2) TopBarLayout.Parent = TopBar -- ======================================================= -- BRAND LABEL "ZENTHIX" DENGAN EFEK CAHAYA BERGERAK (SHIMMER) -- ======================================================= local BrandLabel = Instance.new("TextLabel") BrandLabel.Name = "BrandLabel" BrandLabel.Size = UDim2.new(0, 100, 1, 0) BrandLabel.BackgroundTransparency = 1 BrandLabel.Font = Enum.Font.GothamBold BrandLabel.Text = "ZENTHIX" BrandLabel.TextColor3 = Color3.fromRGB(255, 255, 255) BrandLabel.TextSize = 16 BrandLabel.LayoutOrder = 99 -- Diposisikan paling kanan di dalam TopBar BrandLabel.Parent = TopBar -- UIGradient untuk memberikan efek cahaya halus pada teks local BrandGradient = Instance.new("UIGradient") BrandGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0.0, Color3.fromRGB(50, 90, 200)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(255, 255, 255)), ColorSequenceKeypoint.new(1.0, Color3.fromRGB(50, 100, 200)) }) BrandGradient.Parent = BrandLabel -- Animasi Looping Menggeser Gradasi (Slow Aesthetic Effect) BrandGradient.Offset = Vector2.new(-1, 0) local glowTweenInfo = TweenInfo.new(3.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1, true) TweenService:Create(BrandGradient, glowTweenInfo, {Offset = Vector2.new(1, 0)}):Play() -- Fitur Dragging TopBar -- ======================================================= -- SISTEM DRAGGING DENGAN TOGGLE ON / OFF -- ======================================================= local isDraggable = false -- Status default drag: OFF local dragging, dragStart, startPos TopBar.InputBegan:Connect(function(input) -- Mengecek apakah fitur dragging sedang diaktifkan (ON) if not isDraggable then return end if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = TopBar.Position end end) UserInputService.InputChanged:Connect(function(input) if dragging and isDraggable and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - dragStart TopBar.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end end) -- Multi-Tab Manager local activeDropdown = nil local Library = {} function Library:AddTab(tabName, tabWidth) local TabButton = Instance.new("TextButton") TabButton.Name = tabName .. "Tab" TabButton.Size = UDim2.new(0, tabWidth, 1, 0) TabButton.BackgroundColor3 = Color3.fromRGB(18, 30, 70) TabButton.BackgroundTransparency = 0.3 TabButton.BorderSizePixel = 0 TabButton.Font = Enum.Font.GothamBold TabButton.Text = tabName TabButton.TextColor3 = Color3.fromRGB(240, 240, 240) TabButton.TextSize = 12 TabButton.Parent = TopBar local TabStroke = Instance.new("UIStroke") TabStroke.Color = Color3.fromRGB(50, 90, 200) TabStroke.Thickness = 1 TabStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border TabStroke.Parent = TabButton local Dropdown = Instance.new("Frame") Dropdown.Name = tabName .. "Dropdown" Dropdown.Position = UDim2.new(0, 0, 1, 3) Dropdown.Size = UDim2.new(1, 0, 0, 0) Dropdown.BackgroundColor3 = Color3.fromRGB(12, 20, 48) Dropdown.BackgroundTransparency = 0.15 Dropdown.BorderSizePixel = 0 Dropdown.ClipsDescendants = true Dropdown.Parent = TabButton local DropdownStroke = Instance.new("UIStroke") DropdownStroke.Color = Color3.fromRGB(50, 90, 200) DropdownStroke.Thickness = 1 DropdownStroke.Parent = Dropdown local DropdownLayout = Instance.new("UIListLayout") DropdownLayout.SortOrder = Enum.SortOrder.LayoutOrder DropdownLayout.Padding = UDim.new(0, 2) DropdownLayout.Parent = Dropdown local currentHeight = 0 local TabElements = {} local function updateHeight(delta) currentHeight = currentHeight + delta if activeDropdown == Dropdown then TweenService:Create(Dropdown, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Size = UDim2.new(1, 0, 0, currentHeight)}):Play() end end -- Toggle Buka/Tutup TabButton.MouseButton1Click:Connect(function() if activeDropdown and activeDropdown ~= Dropdown then TweenService:Create(activeDropdown, TweenInfo.new(0.2), {Size = UDim2.new(1, 0, 0, 0)}):Play() end if activeDropdown == Dropdown then TweenService:Create(Dropdown, TweenInfo.new(0.2), {Size = UDim2.new(1, 0, 0, 0)}):Play() activeDropdown = nil else TweenService:Create(Dropdown, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Size = UDim2.new(1, 0, 0, currentHeight)}):Play() activeDropdown = Dropdown end end) -- 1. ELEMEN: BUTTON function TabElements:AddButton(text, callback) local Btn = Instance.new("TextButton") Btn.Size = UDim2.new(1, 0, 0, 26) Btn.BackgroundColor3 = Color3.fromRGB(22, 36, 85) Btn.BackgroundTransparency = 0.4 Btn.BorderSizePixel = 0 Btn.Font = Enum.Font.Gotham Btn.Text = text Btn.TextColor3 = Color3.fromRGB(220, 220, 220) Btn.TextSize = 11 Btn.Parent = Dropdown Btn.MouseButton1Click:Connect(function() if callback then callback() end end) updateHeight(28) end -- 2. ELEMEN: TOGGLE (ON / OFF) function TabElements:AddToggle(text, default, callback) local toggled = default or false local ToggleBtn = Instance.new("TextButton") ToggleBtn.Size = UDim2.new(1, 0, 0, 26) ToggleBtn.BackgroundColor3 = Color3.fromRGB(22, 36, 85) ToggleBtn.BackgroundTransparency = 0.4 ToggleBtn.BorderSizePixel = 0 ToggleBtn.Font = Enum.Font.Gotham ToggleBtn.Text = " " .. text ToggleBtn.TextColor3 = toggled and Color3.fromRGB(100, 255, 150) or Color3.fromRGB(180, 180, 180) ToggleBtn.TextSize = 11 ToggleBtn.TextXAlignment = Enum.TextXAlignment.Left ToggleBtn.Parent = Dropdown local StatusLabel = Instance.new("TextLabel") StatusLabel.Size = UDim2.new(0, 30, 1, 0) StatusLabel.Position = UDim2.new(1, -30, 0, 0) StatusLabel.BackgroundTransparency = 1 StatusLabel.Font = Enum.Font.GothamBold StatusLabel.Text = toggled and "ON" or "OFF" StatusLabel.TextColor3 = toggled and Color3.fromRGB(100, 255, 150) or Color3.fromRGB(255, 100, 100) StatusLabel.TextSize = 10 StatusLabel.Parent = ToggleBtn ToggleBtn.MouseButton1Click:Connect(function() toggled = not toggled StatusLabel.Text = toggled and "ON" or "OFF" StatusLabel.TextColor3 = toggled and Color3.fromRGB(100, 255, 150) or Color3.fromRGB(255, 100, 100) ToggleBtn.TextColor3 = toggled and Color3.fromRGB(100, 255, 150) or Color3.fromRGB(180, 180, 180) if callback then callback(toggled) end end) updateHeight(28) end -- 3. ELEMEN: TEXTBOX (INPUT TEXT) function TabElements:AddTextBox(placeholder, callback) local BoxFrame = Instance.new("Frame") BoxFrame.Size = UDim2.new(1, 0, 0, 26) BoxFrame.BackgroundColor3 = Color3.fromRGB(22, 36, 85) BoxFrame.BackgroundTransparency = 0.4 BoxFrame.BorderSizePixel = 0 BoxFrame.Parent = Dropdown local TextBox = Instance.new("TextBox") TextBox.Size = UDim2.new(1, -10, 1, 0) TextBox.Position = UDim2.new(0, 5, 0, 0) TextBox.BackgroundTransparency = 1 TextBox.Font = Enum.Font.Gotham TextBox.PlaceholderText = placeholder TextBox.PlaceholderColor3 = Color3.fromRGB(120, 120, 140) TextBox.Text = "" TextBox.TextColor3 = Color3.fromRGB(240, 240, 240) TextBox.TextSize = 11 TextBox.Parent = BoxFrame TextBox.FocusLost:Connect(function(enterPressed) if enterPressed and callback then callback(TextBox.Text) end end) updateHeight(28) end return TabElements end -- ======================================================= -- CARA PENGGUNAAN SKRIP (EKSEKUSI FITUR HUB) -- ======================================================= -- Tab 1: Home local HomeTab = Library:AddTab("Home", 70) HomeTab:AddButton("Discord Invite", function() setclipboard("https://discord.gg/example") Notify("Success", "Link Discord tersimpan di Clipboard!", 2) end) HomeTab:AddButton("Rejoin Server", function() game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId, game.JobId) end) -- Fitur Toggle Drag ON / OFF di Tab Home HomeTab:AddToggle("Drag UI", false, function(state) isDraggable = state -- Mengubah variabel penanda drag Notify("UI Dragging", state and "Drag Diaktifkan (ON)" or "Drag Dinonaktifkan (OFF)", 2) end) -- Tombol Reset Posisi UI HomeTab:AddButton("Reset Posisi", function() -- Mengembalikan posisi TopBar ke titik semula secara halus TweenService:Create(TopBar, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { Position = UDim2.new(1, -5, 0, 0) }):Play() Notify("Reset Posisi", "Posisi UI dikembalikan ke semula", 2) end) -- Tombol Hapus GUI (Destroy UI) HomeTab:AddButton("Hapus GUI", function() Notify("UI Destroyer", "Menghapus UI Hub...", 1.5) task.wait(0.5) ScreenGui:Destroy() end) -- Tab 2: Player Options local PlayerTab = Library:AddTab("Player", 70) -- Variabel untuk menyimpan koneksi event anti-afk local antiAfkConnection = nil PlayerTab:AddToggle("Anti-AFK", false, function(state) if state then -- Menggunakan VirtualUser untuk mensimulasikan aktivitas player agar tidak kena kick AFK local vu = game:GetService("VirtualUser") antiAfkConnection = Players.LocalPlayer.Idled:Connect(function() vu:Button2Down(Vector2.new(0, 0), workspace.CurrentCamera.CFrame) task.wait(1) vu:Button2Up(Vector2.new(0, 0), workspace.CurrentCamera.CFrame) end) Notify("Anti-AFK", "Aktif (Terhindar dari Kick)", 2) else -- Mematikan/memutus koneksi saat toggle diubah ke OFF if antiAfkConnection then antiAfkConnection:Disconnect() antiAfkConnection = nil end Notify("Anti-AFK", "Nonaktif", 2) end end) PlayerTab:AddToggle("Noclip", false, function(state) Notify("Noclip Mode", state and "Dikeluarkan dari Kolisi" or "Normal", 2) end) PlayerTab:AddTextBox("WalkSpeed...", function(text) local speed = tonumber(text) if speed then Players.LocalPlayer.Character.Humanoid.WalkSpeed = speed Notify("Speed Updated", "WalkSpeed diubah ke " .. speed, 2) end end) -- Tab 3: Server & Extra local ScriptTab = Library:AddTab("Script", 70) -- URL Raw JSON GitHub kamu local jsonUrl = "https://raw.githubusercontent.com/zdanx/pitur/refs/heads/main/script.json" -- Mengambil data dari URL menggunakan pcall untuk mencegah error jika internet/koneksi bermasalah local success, response = pcall(function() return game:HttpGet(jsonUrl) end) if success then local decodeSuccess, scriptList = pcall(function() return HttpService:JSONDecode(response) end) if decodeSuccess and type(scriptList) == "table" then -- Perulangan untuk setiap item data di dalam file JSON[cite: 4] for _, scriptData in ipairs(scriptList) do local scriptName = scriptData.Nama local scriptUrl = scriptData.Url -- Tambahkan tombol secara dinamis ke dalam ScriptTab ScriptTab:AddButton(scriptName, function() -- Eksekusi script saat tombol diklik local execSuccess, execErr = pcall(function() loadstring(game:HttpGet(scriptUrl))() end) if execSuccess then Notify("Script Executed", "Berhasil menjalankan: " .. scriptName, 2) else Notify("Execution Error", "Gagal menjalankan " .. scriptName .. ": " .. tostring(execErr), 3) end end) end Notify("Dynamic Scripts", "Berhasil memuat daftar script dari GitHub!", 2) else Notify("JSON Error", "Format data JSON tidak valid.", 3) end else Notify("Network Error", "Gagal mengambil data script dari GitHub.", 3) end --[[ ScriptTab:AddButton("Infinite Yield", function() Notify("Success", "Script Infinite Yield diaktifkan!", 2) end) ]] Notify("Prometheus UI", "UI Framework Berhasil Dimuat!", 3)