-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] -- =================================================== -- WINDUI - DOOMSPIRE BRICKBATTLE FULL VIP & FIX ALL ERRORS -- =================================================== local Players = game:GetService("Players") local RunService = game:GetService("RunService") local CoreGui = game:GetService("CoreGui") local MarketplaceService = game:GetService("MarketplaceService") local TeleportService = game:GetService("TeleportService") local player = Players.LocalPlayer -- Load WindUI với Pcall dự phòng local WindUI = nil local successLoad = pcall(function() WindUI = loadstring(game:HttpGet("https://tree-hub.verifier.workers.dev/src/UI/WindUI.lua"))() end) if not successLoad or not WindUI then pcall(function() WindUI = loadstring(game:HttpGet("https://raw.githubusercontent.com/Footagesus/WindUI/main/dist/main.lua"))() end) end local executorName = (identifyexecutor and identifyexecutor()) or (getexecutorname and getexecutorname()) or "Delta / Unknown Executor" -- Tạo Window Giao Diện WindUI local Window = WindUI:CreateWindow({ Title = "Doomspire Brickbattle [FULL VIP]", SubTitle = "Executor: " .. executorName, Size = UDim2.fromOffset(580, 500), Transparent = true, Theme = "Dark", }) -- Tạo Tabs local MainTab = Window:Tab({ Title = "Chức Năng Chiến Đấu", Icon = "swords" }) local BypassTab = Window:Tab({ Title = "Bypass & Bảo Vệ", Icon = "shield-alert" }) local VisualTab = Window:Tab({ Title = "Hiển Thị & ESP", Icon = "eye" }) --------------------------------------------------- -- BIẾN TOÀN CỤC --------------------------------------------------- local isShielding = false local isRocketSpam = false local killAuraEnabled = false local auraRange = 15 local isSpammingBomb = false local autoRespawnBypass = false local productIdRespawn = 3582717521 local antiFallFlingEnabled = false local lastSafeCFrame = nil local maxFlingVelocity = 90 local scannedItems = {} local selectedScannedID = nil local customID = "" local signalType = "Product" local isSpammingSignal = false local suppressCounter = 0 local espEnabled = false local espOutlineEnabled = true local espHighlights = {} --------------------------------------------------- -- HÀM FIRE SIGNAL AN TOÀN (FIX LỖI NIL METHOD) --------------------------------------------------- local function fireSignalSafe(signal, ...) local args = {...} if firesignal then pcall(function() firesignal(signal, unpack(args)) end) end if getconnections then pcall(function() for _, conn in ipairs(getconnections(signal)) do pcall(function() conn:Fire(unpack(args)) end) end end) end end local function triggerFakePurchase(sType, id) if not id or id == "" then return end local numId = tonumber(id) if not numId then return end suppressCounter = suppressCounter + 1 pcall(function() if sType == "Product" then fireSignalSafe(MarketplaceService.PromptProductPurchaseFinished, player.UserId, numId, true) elseif sType == "Gamepass" then fireSignalSafe(MarketplaceService.PromptGamePassPurchaseFinished, player, numId, true) elseif sType == "Bulk" then fireSignalSafe(MarketplaceService.PromptBulkPurchaseFinished, player.UserId, numId, true) elseif sType == "Purchase" then fireSignalSafe(MarketplaceService.PromptPurchaseFinished, player.UserId, numId, true) end end) task.delay(0.2, function() suppressCounter = math.max(0, suppressCounter - 1) end) end --------------------------------------------------- -- TAB 1: CHỨC NĂNG CHIẾN ĐẤU --------------------------------------------------- MainTab:Toggle({ Title = "🏰 Khiên Trowel 360", Desc = "Spam tường xung quanh nhân vật làm khiên chắn đạn", Value = false, Callback = function(state) isShielding = state end }) MainTab:Toggle({ Title = "🚀 Rocket Auto Attack (Enemy)", Desc = "Tự động ngắm bắn Rocket vào kẻ địch khác team", Value = false, Callback = function(state) isRocketSpam = state end }) MainTab:Toggle({ Title = "⚔️ Kill Aura", Desc = "Tự động chém/đánh kẻ địch trong phạm vi", Value = false, Callback = function(state) killAuraEnabled = state end }) MainTab:Input({ Title = "🎯 Phạm Vi Kill Aura", Desc = "Khoảng cách phát hiện (Mặc định: 15)", Value = "15", Placeholder = "Nhập số...", Callback = function(text) local num = tonumber(text) if num and num > 0 then auraRange = num end end }) MainTab:Toggle({ Title = "💣 Auto Spam Bomb", Desc = "Tự động thả bom liên tục trước mặt", Value = false, Callback = function(state) isSpammingBomb = state end }) --------------------------------------------------- -- TAB 2: TAB BYPASS & SPIDER LOGGER --------------------------------------------------- BypassTab:Section({ Title = "🛡️ Chức Năng Protection" }) BypassTab:Toggle({ Title = "🔄 Auto Respawn Bypass (ID: 3582717521)", Desc = "Tự động kích hoạt mã hồi sinh khi nhân vật bị hạ gục", Value = false, Callback = function(state) autoRespawnBypass = state end }) BypassTab:Toggle({ Title = "🛡️ Anti Fall & Anti Fling", Desc = "Triệt văng tốc độ cao + Tự cứu khi rơi xuống vực", Value = false, Callback = function(state) antiFallFlingEnabled = state end }) BypassTab:Section({ Title = "🕷️ Quét & Bypass Gamepass / Product" }) local statusPara = BypassTab:Paragraph({ Title = "Trạng Thái Quét", Desc = "Đang chờ game xuất hiện Prompt..." }) local scannedDropdown = BypassTab:Dropdown({ Title = "📋 Danh Sách ID Đã Quét Được", Desc = "Chọn ID vừa quét để thực hiện Bypass", Values = {"(Chưa có ID nào)"}, Value = "(Chưa có ID nào)", Callback = function(val) if val and val ~= "(Chưa có ID nào)" then local idStr = string.match(val, "%d+") selectedScannedID = idStr end end }) local function addScannedItem(label, id) if suppressCounter > 0 then return end local itemStr = label .. ": " .. tostring(id) for _, item in ipairs(scannedItems) do if item == itemStr then return end end table.insert(scannedItems, itemStr) pcall(function() if scannedDropdown.SetValues then scannedDropdown:SetValues(scannedItems) elseif scannedDropdown.Refresh then scannedDropdown:Refresh(scannedItems) end end) pcall(function() if statusPara.SetDesc then statusPara:SetDesc("✅ Đã phát hiện " .. itemStr) elseif statusPara.Set then statusPara:Set({ Desc = "✅ Đã phát hiện " .. itemStr }) end end) WindUI:Notify({ Title = "🕷️ Phát Hiện " .. label, Content = "ID: " .. tostring(id), Duration = 3 }) end BypassTab:Button({ Title = "⚡ Bypass ID Đã Chọn", Desc = "Gửi tín hiệu Mua Thành Công cho ID được chọn trong danh sách", Callback = function() if selectedScannedID then triggerFakePurchase(signalType, selectedScannedID) WindUI:Notify({ Title = "Kích Hoạt Bypass", Content = "Đã gửi tín hiệu Bypass ID: " .. selectedScannedID, Duration = 3 }) else WindUI:Notify({ Title = "Chưa Chọn ID", Content = "Vui lòng chọn 1 ID từ danh sách!", Duration = 3 }) end end }) BypassTab:Dropdown({ Title = "⚙️ Chọn Loại Signal", Desc = "Loại tín hiệu muốn giả lập (Mặc định: Product)", Values = {"Product", "Gamepass", "Bulk", "Purchase"}, Value = "Product", Callback = function(val) signalType = val end }) BypassTab:Input({ Title = "✏️ Nhập ID Thủ Công", Desc = "Nhập ID Product/Gamepass tùy chỉnh", Value = "", Placeholder = "Nhập ID vào đây...", Callback = function(text) customID = text end }) BypassTab:Button({ Title = "🔥 Bypass ID Thủ Công", Desc = "Kích hoạt Bypass với ID tự nhập", Callback = function() if customID ~= "" then triggerFakePurchase(signalType, customID) WindUI:Notify({ Title = "Kích Hoạt Bypass", Content = "Đã gửi tín hiệu Bypass ID: " .. customID, Duration = 3 }) end end }) BypassTab:Toggle({ Title = "💥 Spam Signal Bypass", Desc = "Spam liên tục tín hiệu Mua Thành Công", Value = false, Callback = function(state) isSpammingSignal = state end }) --------------------------------------------------- -- TAB 3: HIỂN THỊ & ESP --------------------------------------------------- VisualTab:Toggle({ Title = "👁️ Bật Player ESP", Desc = "Định vị vị trí người chơi toàn bản đồ", Value = false, Callback = function(state) espEnabled = state end }) VisualTab:Toggle({ Title = "✨ Viền Highlight Nhân Vật", Desc = "Bật/Tắt viền sáng quanh người chơi", Value = true, Callback = function(state) espOutlineEnabled = state end }) --------------------------------------------------- -- HỆ THỐNG XỬ LÝ LOGIC (LOOPS & EVENTS) --------------------------------------------------- -- 1. Tự Động Quét ID từ Game MarketplaceService.PromptProductPurchaseRequested:Connect(function(plr, productId) if plr == player then addScannedItem("Product", productId) end end) MarketplaceService.PromptPurchaseRequested:Connect(function(plr, assetId) if plr == player then addScannedItem("Purchase", assetId) end end) -- 2. Loop Spam Signal Bypass task.spawn(function() while true do task.wait(0.1) if isSpammingSignal then local targetID = selectedScannedID or customID if targetID and targetID ~= "" then triggerFakePurchase(signalType, targetID) end end end end) -- 3. Auto Respawn Bypass Khi Chết local function setupAutoRespawn(char) if not char then return end local hum = char:WaitForChild("Humanoid", 5) if hum then hum.Died:Connect(function() if autoRespawnBypass then task.wait(0.05) triggerFakePurchase("Product", productIdRespawn) end end) end end if player.Character then setupAutoRespawn(player.Character) end player.CharacterAdded:Connect(setupAutoRespawn) -- 4. Khiên Trowel 360 task.spawn(function() local angle = 0 while true do task.wait(0.08) if isShielding then pcall(function() local char = player.Character if char then local hrp = char:FindFirstChild("HumanoidRootPart") local trowel = char:FindFirstChild("Trowel") or player.Backpack:FindFirstChild("Trowel") if hrp and trowel then if trowel.Parent == player.Backpack then trowel.Parent = char end local fireEvent = trowel:FindFirstChild("Fire") or trowel:FindFirstChildOfClass("RemoteEvent") if fireEvent then local pos = hrp.Position for i = 1, 6 do local rad = math.rad((i * 60) + angle) local spawnPos = pos + Vector3.new(math.cos(rad) * 6, -1, math.sin(rad) * 6) fireEvent:FireServer(spawnPos) end angle = (angle + 30) % 360 end end end end) end end end) -- 5. Rocket Spam Enemy task.spawn(function() while true do task.wait(0.2) if isRocketSpam then pcall(function() local char = player.Character if char then local rocket = char:FindFirstChild("Rocket") or player.Backpack:FindFirstChild("Rocket") if rocket then for _, target in ipairs(Players:GetPlayers()) do if target ~= player and target.Team ~= player.Team and target.Character then local targetHrp = target.Character:FindFirstChild("HumanoidRootPart") local targetHum = target.Character:FindFirstChild("Humanoid") if targetHrp and targetHum and targetHum.Health > 0 then if rocket.Parent == player.Backpack then rocket.Parent = char end local fireEvent = rocket:FindFirstChild("Fire") or rocket:FindFirstChildOfClass("RemoteEvent") if fireEvent then fireEvent:FireServer(targetHrp.Position) else rocket:Activate() end break end end end end end end) end end end) -- 6. Kill Aura & Auto Spam Bomb task.spawn(function() while true do task.wait(0.1) local char = player.Character if char then local hrp = char:FindFirstChild("HumanoidRootPart") if hrp then -- Kill Aura if killAuraEnabled then for _, target in ipairs(Players:GetPlayers()) do if target ~= player and target.Team ~= player.Team and target.Character then local tHrp = target.Character:FindFirstChild("HumanoidRootPart") local tHum = target.Character:FindFirstChild("Humanoid") if tHrp and tHum and tHum.Health > 0 then local dist = (hrp.Position - tHrp.Position).Magnitude if dist <= auraRange then local sword = char:FindFirstChildOfClass("Tool") or player.Backpack:FindFirstChildOfClass("Tool") if sword then sword.Parent = char sword:Activate() end end end end end end -- Spam Bomb if isSpammingBomb then local bomb = char:FindFirstChild("Bomb") or player.Backpack:FindFirstChild("Bomb") if bomb then bomb.Parent = char bomb:Activate() end end end end end end) -- 7. Xuyên Tường Cho Rocket workspace.ChildAdded:Connect(function(child) if child.Name:lower():find("rocket") then task.wait() pcall(function() if child:IsA("BasePart") then child.CanCollide = false end for _, v in ipairs(child:GetChildren()) do if v:IsA("BasePart") then v.CanCollide = false end end end) end end) -- 8. Anti Fall & Anti Fling RunService.Heartbeat:Connect(function() if not antiFallFlingEnabled then return end pcall(function() local char = player.Character if not char then return end local hrp = char:FindFirstChild("HumanoidRootPart") local hum = char:FindFirstChild("Humanoid") if not hrp or not hum or hum.Health <= 0 then return end if hrp.AssemblyLinearVelocity.Magnitude > maxFlingVelocity then hrp.AssemblyLinearVelocity = Vector3.zero hrp.AssemblyAngularVelocity = Vector3.zero end if hrp.Position.Y > 0 then lastSafeCFrame = hrp.CFrame end if hrp.Position.Y < -15 then hrp.AssemblyLinearVelocity = Vector3.zero hrp.AssemblyAngularVelocity = Vector3.zero hrp.CFrame = lastSafeCFrame and (lastSafeCFrame + Vector3.new(0, 3, 0)) or CFrame.new(0, 50, 0) end end) end) -- 9. ESP System local function createESP(target) if target == player then return end local function applyHighlight(char) if not char then return end if espHighlights[target] then espHighlights[target]:Destroy() end local hl = Instance.new("Highlight") hl.Name = "WindUI_ESP" hl.Adornee = char hl.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop hl.FillColor = target.TeamColor and target.TeamColor.Color or Color3.fromRGB(255, 0, 0) hl.OutlineColor = Color3.fromRGB(255, 255, 255) hl.FillTransparency = 0.5 hl.OutlineTransparency = espOutlineEnabled and 0 or 1 hl.Enabled = espEnabled hl.Parent = CoreGui espHighlights[target] = hl end if target.Character then applyHighlight(target.Character) end target.CharacterAdded:Connect(applyHighlight) end for _, p in ipairs(Players:GetPlayers()) do createESP(p) end Players.PlayerAdded:Connect(createESP) Players.PlayerRemoving:Connect(function(p) if espHighlights[p] then espHighlights[p]:Destroy() espHighlights[p] = nil end end) RunService.RenderStepped:Connect(function() for p, hl in pairs(espHighlights) do if hl and p.Character then hl.Enabled = espEnabled hl.OutlineTransparency = espOutlineEnabled and 0 or 1 if p.TeamColor then hl.FillColor = p.TeamColor.Color end end end end)