--// VwerBNUI | Script test toàn bộ thành phần --// Bước 1: dán file VwerBNUI_Library.lua lên pastefy (hoặc GitHub), lấy link RAW. --// Bước 2: dán link vào LIB_URL bên dưới rồi chạy script này trên executor. local LIB_URL = "https://pastefy.app/6G07krWW/raw" -- ví dụ: https://pastefy.app/xxxxxxxx/raw local ok, Library = pcall(function() local src -- Nếu chưa dán link nhưng đã lưu file thư viện vào workspace thì đọc file if LIB_URL:find("https://pastefy.app/6G07krWW/raw", 1, true) and readfile and isfile and isfile("VwerBNUI_Library.lua") then src = readfile("VwerBNUI_Library.lua") else src = game:HttpGet(LIB_URL) end return loadstring(src)() end) if not ok or type(Library) ~= "table" then warn("[TEST] Không load được thư viện:", Library) return end local Window = Library:CreateWindow({ Title = "VwerBN Hub", SubTitle = "TikTok danno_ue", MenuKey = "RightShift", }) -- ================= TAB 1: TẤT CẢ ĐIỀU KHIỂN ================= local Tab = Window:AddTab("Điều khiển", "info", "Thử các thành phần") local Left = Tab:AddLeftGroupbox("Cơ bản") Left:AddLabel("Nếu thấy dòng này là UI đã hiển thị bình thường.") Left:AddDivider() Left:AddButton({ Text = "Hiện thông báo" }, function() Library:Notify("Test", "Bấm nút thành công", 3, "Success") end) Left:AddToggle("TestToggle", { Text = "Công tắc thử", Default = false, Callback = function(value) print("[TEST] Toggle =", value) end, }) Left:AddSlider("TestSlider", { Text = "Thanh trượt (số nguyên)", Min = 0, Max = 100, Default = 25, Rounding = 0, Suffix = "%", Callback = function(value) print("[TEST] Slider =", value) end, }) Left:AddSlider("TestSliderFloat", { Text = "Thanh trượt (số thập phân)", Min = 0, Max = 5, Default = 1.5, Rounding = 1, Suffix = "s", Callback = function(value) print("[TEST] Slider float =", value) end, }) local Right = Tab:AddRightGroupbox("Nâng cao") Right:AddDropdown("TestDropdown", { Text = "Dropdown (chọn 1)", Values = { "Một", "Hai", "Ba", "Bốn" }, Default = 1, Callback = function(value) print("[TEST] Dropdown =", value) end, }) Right:AddDropdown("TestMulti", { Text = "Dropdown (chọn nhiều)", Values = { "Táo", "Cam", "Xoài", "Nho" }, Multi = true, Default = { "Táo" }, Callback = function(value) local picked = {} for name in pairs(value) do table.insert(picked, name) end print("[TEST] Multi =", table.concat(picked, ", ")) end, }) Right:AddInput("TestInput", { Text = "Ô nhập chữ", Default = "", Placeholder = "Gõ gì đó rồi bấm xong", Callback = function(value) print("[TEST] Input =", value) end, }) Right:AddKeybind("TestBind", { Text = "Phím tắt (Toggle)", Default = "F", Mode = "Toggle", Callback = function(state) print("[TEST] Bind state =", state) end, }) Right:AddColorPicker("TestColor", { Text = "Chọn màu", Default = Color3.fromRGB(124, 92, 255), Callback = function(color) print("[TEST] Màu =", color) end, }) -- ================= TAB 2: NOTIFY + API ================= local Tab2 = Window:AddTab("Thông báo", "radio", "Thử các loại thông báo") local N = Tab2:AddLeftGroupbox("Loại thông báo") for _, kind in ipairs({ "Info", "Success", "Warning", "Error" }) do N:AddButton({ Text = "Notify: " .. kind }, function() Library:Notify(kind, "Đây là thông báo kiểu " .. kind, 3, kind) end) end local A = Tab2:AddRightGroupbox("Đọc giá trị qua API") A:AddButton({ Text = "In giá trị hiện tại ra console" }, function() print("[TEST] Toggle:", Library.Toggles.TestToggle.Value) print("[TEST] Slider:", Library.Options.TestSlider.Value) print("[TEST] Dropdown:", Library.Options.TestDropdown.Value) print("[TEST] Input:", Library.Options.TestInput.Value) print("[TEST] Bind:", Library.Options.TestBind.Value) Library:Notify("API", "Đã in giá trị, xem console", 3, "Info") end) A:AddButton({ Text = "Đặt toggle = BẬT bằng code" }, function() Library.Toggles.TestToggle:SetValue(true) end) A:AddButton({ Text = "Đặt slider = 80 bằng code" }, function() Library.Options.TestSlider:SetValue(80) end) Library.Toggles.TestToggle:OnChanged(function(v) print("[TEST] OnChanged toggle =", v) end) -- ================= TAB CÀI ĐẶT (có sẵn: phím menu, lưu/tải cấu hình, gỡ UI) ================= Window:AddSettingsTab() Window:SetVisible(true) Library:Notify("VwerBNUI", "UI đã được tạo xong", 3, "Success") print("[TEST] UI đã được tạo xong")