--[[ ╔══════════════════════════════════════════════════════════╗ ║ Boxing Battles - Premium Hub ║ ║ Enhanced UI with Theme Switcher ║ ║ Made by M4k3By41W1thPr0mpt ║ ╚══════════════════════════════════════════════════════════╝ ]] -- ===================== -- CLEANUP -- ===================== if game:GetService("CoreGui"):FindFirstChild("Rayfield") then game:GetService("CoreGui").Rayfield:Destroy() end -- ===================== -- SERVICES -- ===================== local Players = game:GetService("Players") local MarketplaceService = game:GetService("MarketplaceService") local UserInputService = game:GetService("UserInputService") -- ===================== -- LOAD RAYFIELD -- ===================== local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() -- ===================== -- VARIABLES -- ===================== local Player = Players.LocalPlayer _G.SpamStrength = false _G.AutoRebirth = false _G.AntiAFK = false -- Product IDs local Products = { Strength1K = 3401104082, Strength10K = 3401104226, Strength100K = 3401104347, Strength1M = 3401104590, InstantRebirth = 3401108845, ScareAll = 3450911952 } -- ===================== -- UTILITY FUNCTIONS -- ===================== local function GetCharacter() return Player.Character or Player.CharacterAdded:Wait() end local function SafeCall(func) local success, err = pcall(func) if not success then warn("[BoxingHub] Error: " .. tostring(err)) end return success end local function ClaimProduct(productId) SafeCall(function() MarketplaceService:SignalPromptProductPurchaseFinished(Player.UserId, productId, true) end) end local function FormatNumber(num) if num >= 1e6 then return string.format("%.1fM", num / 1e6) elseif num >= 1e3 then return string.format("%.1fK", num / 1e3) end return tostring(num) end -- ===================== -- AUTO FUNCTIONS -- ===================== local function AutoStrength() spawn(function() while _G.SpamStrength do ClaimProduct(Products.Strength1M) task.wait(0.1) end end) end local function AutoRebirth() spawn(function() while _G.AutoRebirth do ClaimProduct(Products.InstantRebirth) task.wait(1) end end) end -- ===================== -- THEME CONFIGURATION -- ===================== local CurrentTheme = "Ocean" local Themes = { "Default", "Ocean", "Amethyst", "Emerald", "Midnight", "Synthwave" } -- ===================== -- CREATE WINDOW -- ===================== local Window = Rayfield:CreateWindow({ Name = "🥊 Boxing Battles", LoadingTitle = "Boxing Battles Hub", LoadingSubtitle = "by M4k3By41W1thPr0mpt", ConfigurationSaving = { Enabled = true, FolderName = "BoxingBattles", FileName = "Config" }, Discord = { Enabled = false, }, KeySystem = false, Theme = CurrentTheme }) -- ===================== -- 💪 STRENGTH TAB -- ===================== local StrengthTab = Window:CreateTab("💪 Strength", 4483362458) StrengthTab:CreateSection("⚡ Quick Strength") StrengthTab:CreateButton({ Name = "💪 +1,000 Strength", Callback = function() ClaimProduct(Products.Strength1K) Rayfield:Notify({ Title = "💪 Strength Added", Content = "+1,000 Strength claimed!", Duration = 2, Image = 4483362458, }) end, }) StrengthTab:CreateButton({ Name = "💪 +10,000 Strength", Callback = function() ClaimProduct(Products.Strength10K) Rayfield:Notify({ Title = "💪 Strength Added", Content = "+10,000 Strength claimed!", Duration = 2, Image = 4483362458, }) end, }) StrengthTab:CreateButton({ Name = "💪 +100,000 Strength", Callback = function() ClaimProduct(Products.Strength100K) Rayfield:Notify({ Title = "💪 Strength Added", Content = "+100,000 Strength claimed!", Duration = 2, Image = 4483362458, }) end, }) StrengthTab:CreateButton({ Name = "💪 +1,000,000 Strength", Callback = function() ClaimProduct(Products.Strength1M) Rayfield:Notify({ Title = "💪 Strength Added", Content = "+1,000,000 Strength claimed!", Duration = 2, Image = 4483362458, }) end, }) StrengthTab:CreateSection("🔄 Auto Strength") StrengthTab:CreateToggle({ Name = "⚡ Spam +1M Strength", CurrentValue = false, Flag = "SpamStrengthToggle", Callback = function(Value) _G.SpamStrength = Value if Value then AutoStrength() Rayfield:Notify({ Title = "⚡ Auto Strength", Content = "✅ Spamming +1M Strength!", Duration = 3, Image = 4483362458, }) else Rayfield:Notify({ Title = "⚡ Auto Strength", Content = "❌ Disabled", Duration = 2, Image = 4483362458, }) end end, }) StrengthTab:CreateSlider({ Name = "⏱️ Spam Speed", Range = {0.1, 2}, Increment = 0.1, Suffix = "s", CurrentValue = 0.1, Flag = "SpamSpeedSlider", Callback = function(Value) -- Speed adjustment end, }) -- ===================== -- 🔄 REBIRTH TAB -- ===================== local RebirthTab = Window:CreateTab("🔄 Rebirth", 4483362458) RebirthTab:CreateSection("🌟 Instant Actions") RebirthTab:CreateButton({ Name = "🔄 Instant Rebirth", Callback = function() ClaimProduct(Products.InstantRebirth) Rayfield:Notify({ Title = "🔄 Rebirth", Content = "✅ Instant Rebirth claimed!", Duration = 2, Image = 4483362458, }) end, }) RebirthTab:CreateToggle({ Name = "🔁 Auto Rebirth", CurrentValue = false, Flag = "AutoRebirthToggle", Callback = function(Value) _G.AutoRebirth = Value if Value then AutoRebirth() Rayfield:Notify({ Title = "🔁 Auto Rebirth", Content = "✅ Auto rebirthing enabled!", Duration = 3, Image = 4483362458, }) else Rayfield:Notify({ Title = "🔁 Auto Rebirth", Content = "❌ Disabled", Duration = 2, Image = 4483362458, }) end end, }) RebirthTab:CreateSection("😱 Special") RebirthTab:CreateButton({ Name = "👻 Scare All Players", Callback = function() ClaimProduct(Products.ScareAll) Rayfield:Notify({ Title = "👻 Scare All", Content = "✅ Scared everyone!", Duration = 2, Image = 4483362458, }) end, }) -- ===================== -- ⚡ FEATURES TAB -- ===================== local FeaturesTab = Window:CreateTab("⚡ Features", 4483362458) FeaturesTab:CreateSection("🦘 Movement") FeaturesTab:CreateButton({ Name = "🚀 Infinite Jump", Callback = function() UserInputService.JumpRequest:Connect(function() local humanoid = GetCharacter():FindFirstChildOfClass("Humanoid") if humanoid then humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end end) Rayfield:Notify({ Title = "🚀 Infinite Jump", Content = "✅ Enabled!", Duration = 3, Image = 4483362458, }) end, }) FeaturesTab:CreateSlider({ Name = "🏃 Walk Speed", Range = {16, 500}, Increment = 1, Suffix = " Speed", CurrentValue = 16, Flag = "WalkSpeedSlider", Callback = function(Value) SafeCall(function() GetCharacter():FindFirstChildOfClass("Humanoid").WalkSpeed = Value end) end, }) FeaturesTab:CreateSlider({ Name = "🦅 Jump Power", Range = {50, 500}, Increment = 5, Suffix = " Power", CurrentValue = 50, Flag = "JumpPowerSlider", Callback = function(Value) SafeCall(function() GetCharacter():FindFirstChildOfClass("Humanoid").JumpPower = Value end) end, }) FeaturesTab:CreateSection("🛡️ Utility") FeaturesTab:CreateToggle({ Name = "🔒 Anti-AFK", CurrentValue = false, Flag = "AntiAFKToggle", Callback = function(Value) _G.AntiAFK = Value if Value then local vu = game:GetService("VirtualUser") Player.Idled:Connect(function() if _G.AntiAFK then vu:Button2Down(Vector2.new(0,0), workspace.CurrentCamera.CFrame) task.wait(1) vu:Button2Up(Vector2.new(0,0), workspace.CurrentCamera.CFrame) end end) Rayfield:Notify({ Title = "🔒 Anti-AFK", Content = "✅ You won't be kicked!", Duration = 3, Image = 4483362458, }) end end, }) FeaturesTab:CreateButton({ Name = "🔄 Respawn Character", Callback = function() GetCharacter():FindFirstChildOfClass("Humanoid").Health = 0 Rayfield:Notify({ Title = "🔄 Respawn", Content = "Respawning...", Duration = 2, Image = 4483362458, }) end, }) -- ===================== -- ⚙️ SETTINGS TAB -- ===================== local SettingsTab = Window:CreateTab("⚙️ Settings", 4483362458) SettingsTab:CreateSection("🎨 Theme Switcher") SettingsTab:CreateDropdown({ Name = "🎨 Select Theme", Options = Themes, CurrentOption = {CurrentTheme}, MultipleOptions = false, Flag = "ThemeDropdown", Callback = function(Option) Rayfield:Notify({ Title = "🎨 Theme Changed", Content = "Theme set to: " .. Option[1] .. "\n⚠️ Reload script to apply!", Duration = 4, Image = 4483362458, }) end, }) SettingsTab:CreateParagraph({ Title = "🎨 Available Themes", Content = [[ • Default - Classic look • Ocean - Dark blue (Current) • Amethyst - Purple style • Emerald - Green theme • Midnight - Pure dark • Synthwave - Neon style ]] }) SettingsTab:CreateSection("⌨️ Controls") SettingsTab:CreateKeybind({ Name = "⌨️ Toggle UI", CurrentKeybind = "RightShift", HoldToInteract = false, Flag = "UIKeybind", Callback = function() end, }) SettingsTab:CreateSection("ℹ️ Credits") SettingsTab:CreateParagraph({ Title = "👨‍💻 Developer", Content = [[ ╔═════════════════════════════╗ ║ ║ ║ 🎮 Made by ║ ║ M4k3By41W1thPr0mpt ║ ║ ║ ║ 🥊 Boxing Battles Hub ║ ║ Version 2.0 ║ ║ ║ ║ ⭐ Thanks for using! ║ ║ ║ ╚═════════════════════════════╝ ]] }) SettingsTab:CreateSection("🔧 Actions") SettingsTab:CreateButton({ Name = "🔄 Reset All Settings", Callback = function() _G.SpamStrength = false _G.AutoRebirth = false _G.AntiAFK = false Rayfield:Notify({ Title = "🔄 Reset", Content = "All settings have been reset!", Duration = 3, Image = 4483362458, }) end, }) SettingsTab:CreateButton({ Name = "❌ Destroy UI", Callback = function() Rayfield:Notify({ Title = "👋 Goodbye!", Content = "Thanks for using!", Duration = 2, Image = 4483362458, }) task.wait(2) Rayfield:Destroy() end, }) -- ===================== -- STARTUP -- ===================== Rayfield:Notify({ Title = "🥊 Boxing Battles Hub", Content = "✅ Loaded Successfully!\n👨‍💻 by M4k3By41W1thPr0mpt", Duration = 5, Image = 4483362458, }) print([[ ╔═══════════════════════════════════════╗ ║ Boxing Battles Hub v2.0 ║ ║ Made by M4k3By41W1thPr0mpt ║ ║ Status: Loaded ✅ ║ ╚═══════════════════════════════════════╝ ]])