/Home
Dark Modern UI Library - Documentation
Library UI minimalis untuk Roblox dengan tema dark modern, tanpa animasi, ringan, dan mudah digunakan.
Fitur
- ✅ Tema Dark Modern - Tampilan profesional dengan warna gelap
- ✅ Tanpa Animasi - Performa maksimal tanpa tween atau transisi
- ✅ Auto Remove Duplicate - Menghapus UI lama otomatis sebelum membuat baru
- ✅ Draggable Window - UI utama dan UI minimize dapat dipindahkan
- ✅ Minimize/Restore - Sembunyikan UI dengan frame minimize yang compact
- ✅ Keybind Toggle - Tekan K untuk show/hide UI
- ✅ Auto Scale - Kompatibel dengan semua device
- ✅ Scrollable Content - Konten otomatis scrollable jika panjang
- ✅ Dropdown Auto Refresh - Live tracking items dengan auto update
- ✅ Dropdown Auto Hide - Dropdown hilang otomatis saat tidak ada items
- ✅ Exclusive Toggle - Toggle yang saling eksklusif dalam grup
Instalasi
local Library = loadstring(game:HttpGet("URL_API_ANDA"))()
Ukuran Default
- UI Utama: 380x480 px (compact dan optimal)
- UI Minimize: 250x40 px (mengikuti tinggi header)
- Dropdown Menu: 180px lebar, tinggi auto sesuai items dengan padding 5px atas dan 8px bawah
Membuat Window
local Window = Library:CreateWindow({
Title = "Nama UI Anda",
Size = UDim2.new(0, 380, 0, 480) -- Opsional, default 380x480
})
Parameter CreateWindow
Title(string) - Judul window yang ditampilkan di headerSize(UDim2) - Ukuran window, defaultUDim2.new(0, 380, 0, 480)
Komponen UI
1. Toggle
Toggle berbentuk checkbox kotak dengan tanda centang.
local Toggle = Window:AddToggle({
Name = "Enable Feature",
Default = false,
Callback = function(value)
print("Toggle state:", value)
end
})
Parameter Toggle
Name(string) - Nama toggleDefault(boolean) - Nilai awal, defaultfalseCallback(function) - Fungsi yang dipanggil saat toggle berubah, menerima parametervalue(boolean)ExclusiveGroup(string, opsional) - Nama grup eksklusif (lihat contoh di bawah)
Method Toggle
Toggle:SetValue(true) -- Set toggle menjadi true/false
Toggle Exclusive Group
Toggle dapat dikonfigurasi agar hanya satu yang aktif dalam grup yang sama:
Window:AddToggle({
Name = "Mode A",
Default = true,
ExclusiveGroup = "modes",
Callback = function(value)
print("Mode A:", value)
end
})
Window:AddToggle({
Name = "Mode B",
Default = false,
ExclusiveGroup = "modes",
Callback = function(value)
print("Mode B:", value)
end
})
Window:AddToggle({
Name = "Mode C",
Default = false,
ExclusiveGroup = "modes",
Callback = function(value)
print("Mode C:", value)
end
})
Saat salah satu toggle dalam grup "modes" diaktifkan, toggle lain akan otomatis dinonaktifkan.
2. Button
Button sederhana untuk eksekusi aksi.
Window:AddButton({
Name = "Click Me",
Callback = function()
print("Button clicked!")
end
})
Parameter Button
Name(string) - Teks pada buttonCallback(function) - Fungsi yang dipanggil saat button diklik
3. Input
Input teks dengan label dan placeholder.
local Input = Window:AddInput({
Name = "Username",
Default = "",
Placeholder = "Enter your username...",
Callback = function(text)
print("Input value:", text)
end
})
Parameter Input
Name(string) - Label inputDefault(string) - Nilai awal input, default""Placeholder(string) - Teks placeholder, default"Enter text..."Callback(function) - Fungsi yang dipanggil saat Enter ditekan, menerima parametertext(string)
Method Input
Input:SetValue("New Text") -- Set nilai input
4. Dropdown
Dropdown dengan checkbox, mendukung multiple selection dengan batas maksimal, serta fitur auto-refresh untuk live tracking items.
⚠️ PENTING: Hanya boleh menambahkan 1 dropdown per window. Jika mencoba menambahkan lebih dari 1 dropdown, player akan otomatis di-kick dengan pesan error.
Dropdown Biasa
local Dropdown = Window:AddDropdown({
Name = "Select Items",
Options = {"Item 1", "Item 2", "Item 3", "Item 4", "Item 5"},
Default = {"Item 1"},
MaxSelections = 2,
Callback = function(selected)
print("Selected items:", table.concat(selected, ", "))
end
})
Dropdown dengan Auto Refresh (Live Tracking)
Dropdown dapat secara otomatis memperbarui list items menggunakan fungsi refresh:
local Dropdown = Window:AddDropdown({
Name = "Track Live Items",
Options = {},
Default = {},
MaxSelections = 3,
AutoRefresh = function()
local items = {}
for _, obj in pairs(workspace:GetChildren()) do
if obj:IsA("Part") and obj.Name == "Collectible" then
table.insert(items, obj.Name .. " - " .. math.floor(obj.Position.Y))
end
end
return items
end,
RefreshInterval = 0.5,
Callback = function(selected)
print("Live selected:", table.concat(selected, ", "))
end
})
Parameter Dropdown
Name(string) - Nama dropdownOptions(table) - Array string berisi pilihan dropdownDefault(table) - Array string berisi pilihan yang dipilih secara default, default{}MaxSelections(number) - Batas maksimal item yang bisa dipilih bersamaan, default semua itemCallback(function) - Fungsi yang dipanggil saat pilihan berubah, menerima parameterselected(table array string)AutoRefresh(function, opsional) - Fungsi yang mengembalikan array string baru untuk update list secara otomatisRefreshInterval(number, opsional) - Interval waktu refresh dalam detik, default1
Method Dropdown
Dropdown:SetValue({"Item 2", "Item 3"}) -- Set pilihan dropdown
Cara Kerja Dropdown
- BATASAN PENTING: Hanya boleh ada 1 dropdown per window. Mencoba menambahkan dropdown kedua akan menyebabkan player di-kick otomatis.
- Dropdown muncul di sisi kanan UI utama dengan jarak 5px
- Tinggi dropdown otomatis menyesuaikan jumlah items, maksimal setara dengan tinggi UI utama
- Padding optimal: List memiliki padding 5px atas dan 8px bawah agar tidak mepet dengan border
- Jika items banyak, akan muncul scrollbar otomatis
- Menggunakan checkbox kotak kecil di kiri setiap item
- Radio Button Mode: Jika
MaxSelections = 1, checkbox otomatis berpindah ke item baru tanpa perlu unselect (seperti radio button) - Multi Select Mode: Jika
MaxSelections > 1, user bisa pilih multiple items sampai batas tercapai - Saat batas
MaxSelectionstercapai, checkbox lain tidak bisa diaktifkan sampai salah satu dilepas - Auto Refresh: Jika
AutoRefreshdiset, dropdown akan otomatis memperbarui list items sesuaiRefreshInterval - Auto Hide: Jika hasil refresh mengembalikan array kosong
{}, dropdown menu di sisi kanan akan hilang sepenuhnya - Auto Show: Dropdown menu akan muncul kembali otomatis saat ada items dan dropdown diklik
- Selection Persist: Pilihan yang masih valid akan tetap terpilih saat refresh, pilihan yang hilang akan otomatis dihapus
Fitur Window
Keybind Toggle UI
- Tekan tombol K untuk show/hide seluruh UI
- UI akan muncul/hilang sesuai state terakhir (normal atau minimize)
- Keybind tidak akan aktif saat sedang mengetik di chat atau textbox
Minimize & Restore
- Tombol Minimize: Menyembunyikan UI utama dan menampilkan frame minimize yang compact (250x40px)
- Tombol Restore (▲): Mengembalikan UI utama ke posisi terakhir frame minimize
- Posisi Sinkron: Posisi UI utama dan minimize selalu tersinkronisasi
- Draggable: Baik UI utama maupun UI minimize dapat di-drag
Close
- Tombol Close: Menghapus UI sepenuhnya dari layar
Auto Drag Sync
- Saat UI utama di-drag, posisi tersimpan ke UI minimize
- Saat UI minimize di-drag, posisi tersimpan ke UI utama
- Saat restore, UI utama muncul di posisi terakhir UI minimize
Contoh Penggunaan Lengkap
local Library = loadstring(game:HttpGet("URL_API_ANDA"))()
local Window = Library:CreateWindow({
Title = "My Script Hub",
Size = UDim2.new(0, 380, 0, 480)
})
Window:AddToggle({
Name = "Auto Farm",
Default = false,
Callback = function(value)
_G.AutoFarm = value
print("Auto Farm:", value)
end
})
Window:AddToggle({
Name = "Speed Hack",
Default = false,
Callback = function(value)
if value then
game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = 100
else
game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = 16
end
end
})
Window:AddButton({
Name = "TP to Spawn",
Callback = function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(0, 10, 0)
end
})
Window:AddInput({
Name = "Walk Speed",
Default = "16",
Placeholder = "Enter speed...",
Callback = function(text)
local speed = tonumber(text)
if speed then
game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = speed
end
end
})
Window:AddDropdown({
Name = "Select Weapons",
Options = {"Sword", "Gun", "Bow", "Staff", "Axe"},
Default = {"Sword"},
MaxSelections = 2,
Callback = function(selected)
print("Weapons equipped:", table.concat(selected, ", "))
_G.SelectedWeapons = selected
end
})
Window:AddDropdown({
Name = "Live Player Tracker",
Options = {},
Default = {},
MaxSelections = 5,
AutoRefresh = function()
local players = {}
for _, player in pairs(game.Players:GetPlayers()) do
if player ~= game.Players.LocalPlayer then
table.insert(players, player.Name)
end
end
return players
end,
RefreshInterval = 2,
Callback = function(selected)
print("Tracking players:", table.concat(selected, ", "))
_G.TrackedPlayers = selected
end
})
Window:AddToggle({
Name = "ESP Players",
Default = false,
ExclusiveGroup = "esp",
Callback = function(value)
print("ESP Players:", value)
end
})
Window:AddToggle({
Name = "ESP Items",
Default = false,
ExclusiveGroup = "esp",
Callback = function(value)
print("ESP Items:", value)
end
})
Tips Penggunaan
-
Keybind K: Tekan K kapan saja untuk toggle show/hide UI dengan cepat tanpa perlu minimize.
-
Dropdown Limit: Library ini HANYA MENDUKUNG 1 DROPDOWN PER WINDOW. Jika Anda mencoba menambahkan dropdown kedua, player akan otomatis di-kick dengan pesan error profesional. Ini adalah limitasi desain untuk menjaga UI tetap clean dan optimal.
-
Auto Refresh Dropdown: Gunakan fitur
AutoRefreshuntuk tracking items secara live (contoh: player list, collectibles, enemies, lucky blocks). Dropdown akan otomatis update dan hide jika tidak ada items, kemudian muncul kembali saat ada items. -
Refresh Interval: Atur
RefreshIntervalsesuai kebutuhan. Untuk data yang cepat berubah gunakan 0.5-1 detik, untuk data stabil gunakan 2-5 detik untuk performa lebih baik. -
Dropdown Spacing: List items memiliki padding yang optimal (5px atas, 8px bawah) sehingga tidak mepet dengan border dropdown menu. Tampilan lebih profesional dan mudah dibaca.
-
Dropdown Auto Size: Dropdown otomatis menyesuaikan tinggi berdasarkan jumlah items, dengan maksimal tinggi sama dengan UI utama. Jika lebih banyak, scrollbar akan muncul.
-
Exclusive Toggle: Gunakan
ExclusiveGroupuntuk membuat toggle yang hanya satu bisa aktif (seperti radio button mode selector). -
Max Selections: Atur
MaxSelectionsdi dropdown untuk membatasi berapa banyak item yang bisa dipilih bersamaan. JikaMaxSelections = 1, dropdown akan berperilaku seperti radio button (checkbox otomatis pindah ke item baru tanpa perlu unselect). -
Ukuran UI: Default ukuran sudah dioptimalkan (380x480px), namun bisa disesuaikan melalui parameter
Sizesaat membuat window. -
Auto Cleanup: Library otomatis menghapus UI lama dengan nama yang sama sebelum membuat UI baru, mencegah duplikasi UI.
Spesifikasi Teknis
Warna Default
- Background Utama:
RGB(20, 20, 20) - Header:
RGB(15, 15, 15) - Komponen:
RGB(30, 30, 30)-RGB(35, 35, 35) - Border:
RGB(60, 60, 60) - Aksen:
RGB(100, 200, 255) - Teks:
RGB(255, 255, 255)
Font
- Header:
GothamBold16px - Konten:
Gotham13-14px
Corner Radius
- Window: 6px
- Komponen: 3-4px
Scrollbar
- Thickness: 4px
- Color:
RGB(60, 60, 60)
Catatan Penting
- Library ini tidak menggunakan animasi untuk performa optimal
- Semua UI menggunakan Roblox default services saja
- HANYA 1 DROPDOWN PER WINDOW - Mencoba menambahkan lebih dari 1 dropdown akan menyebabkan kick otomatis
- UI otomatis terhapus saat player respawn dinonaktifkan (
ResetOnSpawn = false) - Dropdown muncul di sisi kanan UI utama, pastikan ada ruang yang cukup
License
Library ini gratis untuk digunakan dan dimodifikasi sesuai kebutuhan Anda.