
Universal Script – Zenthix
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)How to Execute Universal Script – Zenthix
Step 1: Copy Code: Click the Copy Code button in the viewer above to grab the clean Lua loadstring.
Step 2: Launch Executor: Open a compatible, unpatched executor. If you need one, check our Roblox Executors Directory.
Step 3: Join Experience: Launch Roblox and join Universal Script.
Step 4: Attach & Run: Attach/inject your executor into the Roblox process, paste the code into the script tab, and press Execute.
Created By
View Author ProfileFeatures & Information
Script Changelog (2)
Community Comments (0)
No comments yet for this script.
Frequently Asked Questions
How do I execute Universal Script – Zenthix in Roblox?
To run Universal Script – Zenthix, copy the Lua loadstring from the code viewer above, launch Roblox and join Universal Script, attach a working executor (such as Potassium, Solara, or Delta from our Executors directory), paste the code into your executor console, and click Execute.
Is Universal Script – Zenthix keyless or does it require an access key?
Universal Script – Zenthix requires an access key. You can retrieve the official key directly using the Get Script Key link provided above.
Is Universal Script – Zenthix currently safe and working?
This script is active and operational. Always test scripts using a secondary (alt) Roblox account to safeguard your main profile against anti-cheat bans.


![Ez Hub [Open Source] [150+ games] - Verified script for Universal Script](https://media.kocakz.me/b74a9ac15370ba766b2fa9531f17c9dad2c0befb2b951693ae723e4c7d2c3fb6.webp)

![[KEYLESS] Moondiety Script | 20+ supported Games - Verified script for Universal Script](https://media.kocakz.me/6834c33a36c9fbe66afae4c6754c2b80386ce636b2f972464a95866f4b6a42eb.webp)

