--[[ ==================================================================== ⚡ JUJUTSU KAISEN EVOLUTION - UNIVERSAL MASTER HUB ⚡ Supports: World 1, World 2 (The Culling Game), & Future Worlds! Discovered Packets & Remote Events Integrated: - Packet("TapEvent"): Fire() -> Super Fast Power Farm - Packet("ClaimWins", Packet.NumberS8): Fire(stage) -> Massive Wins (Up to 50T/sec!) - Packet("Rebirth"): Fire() -> Auto Rebirth - Packet("Upgrade", Packet.String): Fire(name) -> Auto Upgrades - Packet("PurchaseAura", Packet.String): Fire(aura) -> Auto Buy Aura - Packet("ChangeAura", Packet.String, Packet.Boolean8): Fire(aura, bool) - Packet("RequestRoll"): Fire() -> Auto Roll Titles (No animation delay) - Packet("EquipTitle", Packet.String): Fire(title) - Packet("PurchaseMorph", Packet.String): Fire(morph) -> Auto Buy Morphs - Packet("EquipMorph", Packet.String): Fire(morph) - Packet("Teleport"): Fire() -> Next World Portal - Packet("AutoClick", Packet.Boolean8): Fire(bool) - IdleModule.Communicator: Anti-AFK Hook ==================================================================== --]] -- Cleanup previous execution if running if _G.JJKHubCleanup then pcall(_G.JJKHubCleanup) end local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local RunService = game:GetService("RunService") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local VirtualUser = game:GetService("VirtualUser") local Workspace = game:GetService("Workspace") local CollectionService = game:GetService("CollectionService") local MarketplaceService = game:GetService("MarketplaceService") local LocalPlayer = Players.LocalPlayer local PlayerGui = LocalPlayer:WaitForChild("PlayerGui", 10) -- World info local PlaceName = "Jujutsu Evolution" pcall(function() PlaceName = MarketplaceService:GetProductInfo(game.PlaceId).Name end) -- Core Game Modules local Packages = ReplicatedStorage:WaitForChild("Packages", 10) local PacketModule = require(Packages:WaitForChild("Packet", 10)) local ReplicaController = require(ReplicatedStorage:WaitForChild("ReplicaController", 10)) local Replica = ReplicaController:GetReplica() local PowerUtils = require(ReplicatedStorage:WaitForChild("Shared"):WaitForChild("PowerUtils")) local NumberUtils = require(ReplicatedStorage:WaitForChild("Modules"):WaitForChild("NumberUtils")) local Config = ReplicatedStorage:WaitForChild("Config") local TitleConfig = require(Config:WaitForChild("TitleConfig")) local AuraConfig = require(Config:WaitForChild("AuraConfig")) local MorphConfig = require(Config:WaitForChild("MorphConfig")) local TrainingConfig = require(Config:WaitForChild("TrainingConfig")) local WallConfig = require(Config:WaitForChild("WallConfig")) -- Stage Rewards lookup local StageRewards = {} if WallConfig and WallConfig.Walls then for k, v in pairs(WallConfig.Walls) do StageRewards[tonumber(k) or k] = v.Reward end end -- Discovered Packets local Packets = { TapEvent = PacketModule("TapEvent"), ClaimWins = PacketModule("ClaimWins", PacketModule.NumberS8), Rebirth = PacketModule("Rebirth"), Upgrade = PacketModule("Upgrade", PacketModule.String), PurchaseAura = PacketModule("PurchaseAura", PacketModule.String), ChangeAura = PacketModule("ChangeAura", PacketModule.String, PacketModule.Boolean8), RequestRoll = PacketModule("RequestRoll"), EquipTitle = PacketModule("EquipTitle", PacketModule.String), ChangeTitleState = PacketModule("ChangeTitleState", PacketModule.String, PacketModule.Boolean8), PurchaseMorph = PacketModule("PurchaseMorph", PacketModule.String), EquipMorph = PacketModule("EquipMorph", PacketModule.String), Teleport = PacketModule("Teleport"), AutoClick = PacketModule("AutoClick", PacketModule.Boolean8), SkipStage = PacketModule("SkipStage", PacketModule.NumberU8) } -- Initialize Response packet for Title Rolling local RollResponseCaller = Packets.RequestRoll:Response(PacketModule.String, PacketModule.NumberS8) -- Dynamic Stage & Training Bag Helpers local function getStages() local list = {} local stagesFolder = workspace:FindFirstChild("Stages") if stagesFolder then for _, s in ipairs(stagesFolder:GetChildren()) do local num = tonumber(s.Name) if num then local z = s:FindFirstChild("Zone") local p = z and z.Position or (s:IsA("BasePart") and s.Position) table.insert(list, { stage = num, pos = p, reward = StageRewards[num] or 0 }) end end end table.sort(list, function(a, b) return a.stage < b.stage end) return list end local function getTrainingZones() local list = {} for _, z in ipairs(CollectionService:GetTagged("TrainingZone")) do local p = nil if z:FindFirstChild("Zone") and z.Zone:IsA("BasePart") then p = z.Zone.Position elseif z:IsA("Model") and z.PrimaryPart then p = z.PrimaryPart.Position end local cfg = TrainingConfig[z.Name] local mult = z:GetAttribute("Multiplier") or (cfg and cfg.Multiplier) or 1 local bagName = z:GetAttribute("BagName") or (cfg and cfg.Name) or z.Name table.insert(list, { id = z.Name, name = bagName, mult = mult, rebirths = cfg and cfg.Rebirths or 0, product = cfg and cfg.Product or nil, pos = p }) end table.sort(list, function(a, b) return a.mult < b.mult end) return list end local function teleportTo(cf) local char = LocalPlayer.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") if hrp then hrp.CFrame = typeof(cf) == "CFrame" and cf or CFrame.new(cf) end end local function tpToBestBag() local zones = getTrainingZones() local r = Replica and Replica.Data and Replica.Data.Rebirths or 0 local best = nil for _, z in ipairs(zones) do if not z.product and r >= z.rebirths and z.pos then if not best or z.mult > best.mult then best = z end end end if best and best.pos then teleportTo(best.pos + Vector3.new(0, 3, 0)) end end -- State Configuration local State = { AutoTap = false, TapSpeed = "Hyper", AutoWins = false, WinStage = 11, AutoRebirth = false, AutoUpgrades = false, AutoRollTitles = false, AutoEquipBestTitle = false, AutoBuyAuras = false, AutoBuyMorphs = false, AutoEquipBestMorph = false, ServerAutoClick = false, Noclip = false, InfJump = false, AntiAFK = true, WalkSpeed = 16, JumpPower = 50, CustomSpeedEnabled = false, CustomJumpEnabled = false } local Running = true local ActiveThreads = {} local function spawnThread(fn) local t = task.spawn(function() while Running do local success, _ = pcall(fn) if not success then task.wait(1) end end end) table.insert(ActiveThreads, t) return t end -- ==================================================================== -- AUTO FARM LOOPS -- ==================================================================== -- 1. Auto Tap / Power Punch spawnThread(function() if State.AutoTap then local count = (State.TapSpeed == "Hyper" and 15) or (State.TapSpeed == "Fast" and 5) or 1 for _ = 1, count do if not State.AutoTap or not Running then break end Packets.TapEvent:Fire() end task.wait(0.03) else task.wait(0.2) end end) -- 2. Auto Wins spawnThread(function() if State.AutoWins then Packets.ClaimWins:Fire(State.WinStage) task.wait(0.8) else task.wait(0.5) end end) -- 3. Auto Rebirth spawnThread(function() if State.AutoRebirth and Replica and Replica.Data then local p = Replica.Data.Power or 0 local r = Replica.Data.Rebirths or 0 local lvlData = PowerUtils:GetLevelData(p, r) if lvlData and lvlData.IsMax then Packets.Rebirth:Fire() task.wait(1.5) else task.wait(0.5) end else task.wait(1) end end) -- 4. Auto Upgrades spawnThread(function() if State.AutoUpgrades and Replica and Replica.Data then Packets.Upgrade:Fire("Speed") task.wait(0.1) Packets.Upgrade:Fire("Luck") task.wait(0.1) Packets.Upgrade:Fire("TrainingRate") task.wait(1) else task.wait(1) end end) -- 5. Auto Roll Titles spawnThread(function() if State.AutoRollTitles and Replica and Replica.Data then if (Replica.Data.Wins or 0) >= 10 then local rolledTitle, mult = RollResponseCaller:Fire() if rolledTitle and State.AutoEquipBestTitle then local cur = Replica.Data.EquippedTitle local curMult = cur and TitleConfig[cur] and TitleConfig[cur].Multiplier or 0 local newMult = TitleConfig[rolledTitle] and TitleConfig[rolledTitle].Multiplier or mult or 0 if newMult > curMult then Packets.EquipTitle:Fire(rolledTitle) end end task.wait(0.1) else task.wait(1) end else task.wait(0.5) end end) -- 6. Auto Buy Auras spawnThread(function() if State.AutoBuyAuras and Replica and Replica.Data then local wins = Replica.Data.Wins or 0 local owned = Replica.Data.Auras or {} local highestOwned = nil local highestMult = 0 for i = 1, 10 do local auraKey = "Aura" .. tostring(i) local cfg = AuraConfig[auraKey] if cfg then if not owned[auraKey] and wins >= (cfg.Cost or 0) then Packets.PurchaseAura:Fire(auraKey) task.wait(0.3) end if owned[auraKey] and (cfg.Multiplier or 0) > highestMult then highestMult = cfg.Multiplier highestOwned = auraKey end end end if highestOwned and Replica.Data.EquippedAura ~= highestOwned then Packets.ChangeAura:Fire(highestOwned, true) end task.wait(2) else task.wait(1) end end) -- 7. Auto Buy Morphs spawnThread(function() if State.AutoBuyMorphs and Replica and Replica.Data then local wins = Replica.Data.Wins or 0 local owned = Replica.Data.UnlockedMorphs or {} local bestMorph = nil local bestMult = 0 for i = 1, 41 do local mKey = "Morph" .. tostring(i) local cfg = MorphConfig.Morphs[mKey] if cfg and not cfg.Product and not cfg.Limited and cfg.Price then if not owned[mKey] and wins >= cfg.Price then Packets.PurchaseMorph:Fire(mKey) task.wait(0.2) end if (owned[mKey] == true) and (cfg.Multiplier or 0) > bestMult then bestMult = cfg.Multiplier bestMorph = mKey end end end if State.AutoEquipBestMorph and bestMorph and Replica.Data.EquippedMorph ~= bestMorph then Packets.EquipMorph:Fire(bestMorph) end task.wait(2.5) else task.wait(1) end end) -- Anti-AFK local antiAfkConn = LocalPlayer.Idled:Connect(function() if State.AntiAFK then VirtualUser:CaptureController() VirtualUser:ClickButton2(Vector2.new(0, 0)) end end) -- Noclip & Movement local noclipConn = RunService.Stepped:Connect(function() if not Running then return end local char = LocalPlayer.Character if not char then return end if State.Noclip then for _, part in ipairs(char:GetDescendants()) do if part:IsA("BasePart") and part.CanCollide then part.CanCollide = false end end end local hum = char:FindFirstChildOfClass("Humanoid") if hum then if State.CustomSpeedEnabled then hum.WalkSpeed = State.WalkSpeed end if State.CustomJumpEnabled then hum.JumpPower = State.JumpPower end end end) -- Infinite Jump local infJumpConn = UserInputService.JumpRequest:Connect(function() if State.InfJump and Running then local char = LocalPlayer.Character local hum = char and char:FindFirstChildOfClass("Humanoid") if hum then hum:ChangeState(Enum.HumanoidStateType.Jumping) end end end) -- ==================================================================== -- MODERN HIGH-END GUI CREATION -- ==================================================================== local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "JJK_Evolution_MasterHub" ScreenGui.ResetOnSpawn = false ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling local successCore, _ = pcall(function() ScreenGui.Parent = game:GetService("CoreGui") end) if not successCore or not ScreenGui.Parent then ScreenGui.Parent = PlayerGui end -- Mini Floating Open/Close Button local FloatingBtn = Instance.new("TextButton") FloatingBtn.Name = "FloatingOpenButton" FloatingBtn.Size = UDim2.new(0, 110, 0, 36) FloatingBtn.Position = UDim2.new(0, 15, 0.5, -18) FloatingBtn.BackgroundColor3 = Color3.fromRGB(18, 14, 30) FloatingBtn.Text = "⚡ JJK HUB" FloatingBtn.TextColor3 = Color3.fromRGB(216, 180, 254) FloatingBtn.Font = Enum.Font.GothamBold FloatingBtn.TextSize = 13 FloatingBtn.Parent = ScreenGui local FloatCorner = Instance.new("UICorner") FloatCorner.CornerRadius = UDim.new(0, 10) FloatCorner.Parent = FloatingBtn local FloatStroke = Instance.new("UIStroke") FloatStroke.Color = Color3.fromRGB(147, 51, 234) FloatStroke.Thickness = 1.5 FloatStroke.Parent = FloatingBtn -- Main Frame local MainFrame = Instance.new("Frame") MainFrame.Name = "MainFrame" MainFrame.Size = UDim2.new(0, 680, 0, 480) MainFrame.Position = UDim2.new(0.5, -340, 0.5, -240) MainFrame.BackgroundColor3 = Color3.fromRGB(13, 14, 21) MainFrame.ClipsDescendants = true MainFrame.Parent = ScreenGui local MainCorner = Instance.new("UICorner") MainCorner.CornerRadius = UDim.new(0, 14) MainCorner.Parent = MainFrame local MainStroke = Instance.new("UIStroke") MainStroke.Color = Color3.fromRGB(139, 92, 246) MainStroke.Thickness = 1.8 MainStroke.Parent = MainFrame -- Top Bar (Draggable) local TopBar = Instance.new("Frame") TopBar.Name = "TopBar" TopBar.Size = UDim2.new(1, 0, 0, 46) TopBar.BackgroundColor3 = Color3.fromRGB(22, 19, 38) TopBar.Parent = MainFrame local TopCorner = Instance.new("UICorner") TopCorner.CornerRadius = UDim.new(0, 14) TopCorner.Parent = TopBar local TitleLabel = Instance.new("TextLabel") TitleLabel.Name = "TitleLabel" TitleLabel.Size = UDim2.new(0, 480, 1, 0) TitleLabel.Position = UDim2.new(0, 16, 0, 0) TitleLabel.BackgroundTransparency = 1 TitleLabel.Text = "⚡ " .. string.upper(PlaceName) .. " - MASTER HUB" TitleLabel.TextColor3 = Color3.fromRGB(243, 232, 255) TitleLabel.Font = Enum.Font.GothamBold TitleLabel.TextSize = 13.5 TitleLabel.TextXAlignment = Enum.TextXAlignment.Left TitleLabel.Parent = TopBar -- Close Button local CloseBtn = Instance.new("TextButton") CloseBtn.Name = "CloseBtn" CloseBtn.Size = UDim2.new(0, 32, 0, 32) CloseBtn.Position = UDim2.new(1, -40, 0, 7) CloseBtn.BackgroundColor3 = Color3.fromRGB(34, 25, 48) CloseBtn.Text = "X" CloseBtn.TextColor3 = Color3.fromRGB(244, 63, 94) CloseBtn.Font = Enum.Font.GothamBold CloseBtn.TextSize = 14 CloseBtn.Parent = TopBar local CloseCorner = Instance.new("UICorner") CloseCorner.CornerRadius = UDim.new(0, 8) CloseCorner.Parent = CloseBtn -- Minimize Button local MinBtn = Instance.new("TextButton") MinBtn.Name = "MinBtn" MinBtn.Size = UDim2.new(0, 32, 0, 32) MinBtn.Position = UDim2.new(1, -78, 0, 7) MinBtn.BackgroundColor3 = Color3.fromRGB(34, 25, 48) MinBtn.Text = "-" MinBtn.TextColor3 = Color3.fromRGB(216, 180, 254) MinBtn.Font = Enum.Font.GothamBold MinBtn.TextSize = 14 MinBtn.Parent = TopBar local MinCorner = Instance.new("UICorner") MinCorner.CornerRadius = UDim.new(0, 8) MinCorner.Parent = MinBtn -- Dragging local isDragging = false local dragStart = nil local startPos = nil TopBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then isDragging = true dragStart = input.Position startPos = MainFrame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then isDragging = false end end) end end) UserInputService.InputChanged:Connect(function(input) if isDragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - dragStart MainFrame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) FloatingBtn.Activated:Connect(function() MainFrame.Visible = not MainFrame.Visible end) CloseBtn.Activated:Connect(function() MainFrame.Visible = false end) MinBtn.Activated:Connect(function() MainFrame.Visible = false end) -- Sidebar Tabs Container local Sidebar = Instance.new("Frame") Sidebar.Name = "Sidebar" Sidebar.Size = UDim2.new(0, 160, 1, -86) Sidebar.Position = UDim2.new(0, 0, 0, 46) Sidebar.BackgroundColor3 = Color3.fromRGB(18, 16, 28) Sidebar.BorderSizePixel = 0 Sidebar.Parent = MainFrame local TabListLayout = Instance.new("UIListLayout") TabListLayout.SortOrder = Enum.SortOrder.LayoutOrder TabListLayout.Padding = UDim.new(0, 6) TabListLayout.Parent = Sidebar local SidebarPadding = Instance.new("UIPadding") SidebarPadding.PaddingTop = UDim.new(0, 12) SidebarPadding.PaddingLeft = UDim.new(0, 10) SidebarPadding.PaddingRight = UDim.new(0, 10) SidebarPadding.Parent = Sidebar -- Content Container local ContentContainer = Instance.new("Frame") ContentContainer.Name = "ContentContainer" ContentContainer.Size = UDim2.new(1, -170, 1, -86) ContentContainer.Position = UDim2.new(0, 165, 0, 46) ContentContainer.BackgroundTransparency = 1 ContentContainer.Parent = MainFrame -- Live Stats Bar at Bottom local StatsBar = Instance.new("Frame") StatsBar.Name = "StatsBar" StatsBar.Size = UDim2.new(1, 0, 0, 40) StatsBar.Position = UDim2.new(0, 0, 1, -40) StatsBar.BackgroundColor3 = Color3.fromRGB(16, 14, 25) StatsBar.BorderSizePixel = 0 StatsBar.Parent = MainFrame local StatsLabel = Instance.new("TextLabel") StatsLabel.Name = "StatsLabel" StatsLabel.Size = UDim2.new(1, -20, 1, 0) StatsLabel.Position = UDim2.new(0, 12, 0, 0) StatsLabel.BackgroundTransparency = 1 StatsLabel.Text = "⚡ Power: 0 | 🏆 Wins: 0 | 🔄 Rebirth: 0 | 👤 Morph: None" StatsLabel.TextColor3 = Color3.fromRGB(192, 132, 252) StatsLabel.Font = Enum.Font.GothamMedium StatsLabel.TextSize = 11.5 StatsLabel.TextXAlignment = Enum.TextXAlignment.Left StatsLabel.Parent = StatsBar task.spawn(function() while Running do if Replica and Replica.Data then local p = NumberUtils:FormatNumber(Replica.Data.Power or 0) local w = NumberUtils:FormatNumber(Replica.Data.Wins or 0) local r = tostring(Replica.Data.Rebirths or 0) local m = tostring(Replica.Data.EquippedMorph or "None") local t = tostring(Replica.Data.EquippedTitle or "None") StatsLabel.Text = string.format("⚡ Power: %s | 🏆 Wins: %s | 🔄 Rebirth: %s | 👤 Morph: %s | 🎖️ Title: %s", p, w, r, m, t) end task.wait(0.5) end end) -- Tabs Manager local Tabs = {} local TabButtons = {} local function createTab(name, icon) local tabBtn = Instance.new("TextButton") tabBtn.Name = name .. "TabBtn" tabBtn.Size = UDim2.new(1, 0, 0, 36) tabBtn.BackgroundColor3 = Color3.fromRGB(25, 22, 39) tabBtn.Text = " " .. icon .. " " .. name tabBtn.TextColor3 = Color3.fromRGB(168, 162, 185) tabBtn.Font = Enum.Font.GothamBold tabBtn.TextSize = 12 tabBtn.TextXAlignment = Enum.TextXAlignment.Left tabBtn.Parent = Sidebar local btnCorner = Instance.new("UICorner") btnCorner.CornerRadius = UDim.new(0, 8) btnCorner.Parent = tabBtn local page = Instance.new("ScrollingFrame") page.Name = name .. "Page" page.Size = UDim2.new(1, 0, 1, 0) page.BackgroundTransparency = 1 page.BorderSizePixel = 0 page.ScrollBarThickness = 5 page.ScrollBarImageColor3 = Color3.fromRGB(147, 51, 234) page.Visible = false page.Parent = ContentContainer local pageLayout = Instance.new("UIListLayout") pageLayout.SortOrder = Enum.SortOrder.LayoutOrder pageLayout.Padding = UDim.new(0, 8) pageLayout.Parent = page local pagePadding = Instance.new("UIPadding") pagePadding.PaddingTop = UDim.new(0, 10) pagePadding.PaddingLeft = UDim.new(0, 6) pagePadding.PaddingRight = UDim.new(0, 10) pagePadding.PaddingBottom = UDim.new(0, 10) pagePadding.Parent = page pageLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() page.CanvasSize = UDim2.new(0, 0, 0, pageLayout.AbsoluteContentSize.Y + 20) end) Tabs[name] = page TabButtons[name] = tabBtn tabBtn.Activated:Connect(function() for tName, p in pairs(Tabs) do p.Visible = (tName == name) end for tName, b in pairs(TabButtons) do if tName == name then b.BackgroundColor3 = Color3.fromRGB(88, 28, 135) b.TextColor3 = Color3.fromRGB(255, 255, 255) else b.BackgroundColor3 = Color3.fromRGB(25, 22, 39) b.TextColor3 = Color3.fromRGB(168, 162, 185) end end end) return page end local function addSection(parent, title) local header = Instance.new("Frame") header.Size = UDim2.new(1, 0, 0, 26) header.BackgroundColor3 = Color3.fromRGB(30, 24, 52) header.Parent = parent local hCorner = Instance.new("UICorner") hCorner.CornerRadius = UDim.new(0, 6) hCorner.Parent = header local lbl = Instance.new("TextLabel") lbl.Size = UDim2.new(1, -12, 1, 0) lbl.Position = UDim2.new(0, 10, 0, 0) lbl.BackgroundTransparency = 1 lbl.Text = "// " .. string.upper(title) lbl.TextColor3 = Color3.fromRGB(216, 180, 254) lbl.Font = Enum.Font.GothamBold lbl.TextSize = 11.5 lbl.TextXAlignment = Enum.TextXAlignment.Left lbl.Parent = header end local function addToggle(parent, title, desc, defaultState, callback) local card = Instance.new("Frame") card.Size = UDim2.new(1, 0, 0, 48) card.BackgroundColor3 = Color3.fromRGB(20, 18, 32) card.Parent = parent local cCorner = Instance.new("UICorner") cCorner.CornerRadius = UDim.new(0, 8) cCorner.Parent = card local cStroke = Instance.new("UIStroke") cStroke.Color = Color3.fromRGB(45, 38, 70) cStroke.Thickness = 1 cStroke.Parent = card local titleLbl = Instance.new("TextLabel") titleLbl.Size = UDim2.new(1, -90, 0, 22) titleLbl.Position = UDim2.new(0, 12, 0, 5) titleLbl.BackgroundTransparency = 1 titleLbl.Text = title titleLbl.TextColor3 = Color3.fromRGB(243, 232, 255) titleLbl.Font = Enum.Font.GothamBold titleLbl.TextSize = 13 titleLbl.TextXAlignment = Enum.TextXAlignment.Left titleLbl.Parent = card local descLbl = Instance.new("TextLabel") descLbl.Size = UDim2.new(1, -90, 0, 16) descLbl.Position = UDim2.new(0, 12, 0, 26) descLbl.BackgroundTransparency = 1 descLbl.Text = desc descLbl.TextColor3 = Color3.fromRGB(156, 148, 178) descLbl.Font = Enum.Font.Gotham descLbl.TextSize = 10.5 descLbl.TextXAlignment = Enum.TextXAlignment.Left descLbl.Parent = card local toggleBtn = Instance.new("TextButton") toggleBtn.Size = UDim2.new(0, 64, 0, 28) toggleBtn.Position = UDim2.new(1, -74, 0.5, -14) toggleBtn.BackgroundColor3 = defaultState and Color3.fromRGB(126, 34, 206) or Color3.fromRGB(39, 35, 58) toggleBtn.Text = defaultState and "ON" or "OFF" toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255) toggleBtn.Font = Enum.Font.GothamBold toggleBtn.TextSize = 12 toggleBtn.Parent = card local tCorner = Instance.new("UICorner") tCorner.CornerRadius = UDim.new(0, 7) tCorner.Parent = toggleBtn local isToggled = defaultState toggleBtn.Activated:Connect(function() isToggled = not isToggled toggleBtn.Text = isToggled and "ON" or "OFF" toggleBtn.BackgroundColor3 = isToggled and Color3.fromRGB(126, 34, 206) or Color3.fromRGB(39, 35, 58) callback(isToggled) end) return toggleBtn end local function addButton(parent, title, desc, btnText, callback) local card = Instance.new("Frame") card.Size = UDim2.new(1, 0, 0, 48) card.BackgroundColor3 = Color3.fromRGB(20, 18, 32) card.Parent = parent local cCorner = Instance.new("UICorner") cCorner.CornerRadius = UDim.new(0, 8) cCorner.Parent = card local cStroke = Instance.new("UIStroke") cStroke.Color = Color3.fromRGB(45, 38, 70) cStroke.Thickness = 1 cStroke.Parent = card local titleLbl = Instance.new("TextLabel") titleLbl.Size = UDim2.new(1, -110, 0, 22) titleLbl.Position = UDim2.new(0, 12, 0, 5) titleLbl.BackgroundTransparency = 1 titleLbl.Text = title titleLbl.TextColor3 = Color3.fromRGB(243, 232, 255) titleLbl.Font = Enum.Font.GothamBold titleLbl.TextSize = 13 titleLbl.TextXAlignment = Enum.TextXAlignment.Left titleLbl.Parent = card local descLbl = Instance.new("TextLabel") descLbl.Size = UDim2.new(1, -110, 0, 16) descLbl.Position = UDim2.new(0, 12, 0, 26) descLbl.BackgroundTransparency = 1 descLbl.Text = desc descLbl.TextColor3 = Color3.fromRGB(156, 148, 178) descLbl.Font = Enum.Font.Gotham descLbl.TextSize = 10.5 descLbl.TextXAlignment = Enum.TextXAlignment.Left descLbl.Parent = card local actionBtn = Instance.new("TextButton") actionBtn.Size = UDim2.new(0, 96, 0, 28) actionBtn.Position = UDim2.new(1, -106, 0.5, -14) actionBtn.BackgroundColor3 = Color3.fromRGB(79, 70, 229) actionBtn.Text = btnText actionBtn.TextColor3 = Color3.fromRGB(255, 255, 255) actionBtn.Font = Enum.Font.GothamBold actionBtn.TextSize = 11.5 actionBtn.Parent = card local aCorner = Instance.new("UICorner") aCorner.CornerRadius = UDim.new(0, 7) aCorner.Parent = actionBtn actionBtn.Activated:Connect(callback) return actionBtn, descLbl end -- ==================================================================== -- TAB 1: AUTO FARM -- ==================================================================== local pageFarm = createTab("Auto Farm", "⚡") addSection(pageFarm, "Cursed Energy & Power Farming") addToggle(pageFarm, "Auto Tap / Super Punch", "Fires TapEvent packets rapidly to gain massive Power", State.AutoTap, function(val) State.AutoTap = val end) local speedBtn, speedDesc = addButton(pageFarm, "Tap Speed Mode", "Current: " .. State.TapSpeed .. " (Normal / Fast / Hyper)", "Change Speed", function() if State.TapSpeed == "Hyper" then State.TapSpeed = "Normal" elseif State.TapSpeed == "Normal" then State.TapSpeed = "Fast" else State.TapSpeed = "Hyper" end speedDesc.Text = "Current: " .. State.TapSpeed .. " (Normal / Fast / Hyper)" end) addButton(pageFarm, "TP To Best Training Bag", "Teleports character inside highest unlocked multiplier bag", "Teleport", function() tpToBestBag() end) addSection(pageFarm, "Wins Farming (Stage Exploiter)") local currentRewardFormatted = NumberUtils:FormatNumber(StageRewards[State.WinStage] or 50000000000000) local winBtn, winDesc addToggle(pageFarm, "Auto Claim Wins", "Repeatedly claims selected stage wins via Packet", State.AutoWins, function(val) State.AutoWins = val end) winBtn, winDesc = addButton(pageFarm, "Selected Win Stage", "Stage " .. tostring(State.WinStage) .. " (+" .. currentRewardFormatted .. " Wins)", "Change Stage", function() State.WinStage = (State.WinStage % 11) + 1 local rwd = NumberUtils:FormatNumber(StageRewards[State.WinStage] or 0) winDesc.Text = "Stage " .. tostring(State.WinStage) .. " (+" .. rwd .. " Wins)" end) addSection(pageFarm, "Rebirth Automation") addToggle(pageFarm, "Auto Rebirth", "Instantly rebirths when max level is reached to gain multipliers", State.AutoRebirth, function(val) State.AutoRebirth = val end) addButton(pageFarm, "Manual Rebirth Now", "Attempts instant rebirth if eligible", "Rebirth", function() Packets.Rebirth:Fire() end) addToggle(pageFarm, "Server AutoClicker", "Toggles built-in game server auto clicker", State.ServerAutoClick, function(val) State.ServerAutoClick = val Packets.AutoClick:Fire(val) end) -- ==================================================================== -- TAB 2: SHOP & UPGRADES -- ==================================================================== local pageShop = createTab("Upgrades", "💎") addSection(pageShop, "Stat Upgrades (Costs Wins)") addToggle(pageShop, "Auto Buy Upgrades", "Repeatedly upgrades Speed, Luck, and TrainingRate", State.AutoUpgrades, function(val) State.AutoUpgrades = val end) addButton(pageShop, "Max Out All Upgrades", "Fires 10 upgrade batches for Speed, Luck & TrainingRate", "Max Upgrades", function() for _ = 1, 10 do Packets.Upgrade:Fire("Speed") Packets.Upgrade:Fire("Luck") Packets.Upgrade:Fire("TrainingRate") task.wait(0.05) end end) addSection(pageShop, "Auras & Morphs") addToggle(pageShop, "Auto Buy & Equip Auras", "Automatically buys Aura1 through Aura10 & equips best", State.AutoBuyAuras, function(val) State.AutoBuyAuras = val end) addButton(pageShop, "Buy & Equip Limitless Aura", "Attempts to purchase & equip Aura10 (50x Multiplier)", "Buy Aura 10", function() Packets.PurchaseAura:Fire("Aura10") task.wait(0.3) Packets.ChangeAura:Fire("Aura10", true) end) addToggle(pageShop, "Auto Buy & Equip Morphs", "Buys all affordable Morphs (1-41) and equips best multiplier", State.AutoBuyMorphs, function(val) State.AutoBuyMorphs = val State.AutoEquipBestMorph = val end) addButton(pageShop, "Equip Best Owned Morph", "Scans unlocked morphs and equips highest multiplier", "Equip Best", function() if Replica and Replica.Data and Replica.Data.UnlockedMorphs then local bestKey = nil local bestM = 0 for mKey, val in pairs(Replica.Data.UnlockedMorphs) do if val == true then local cfg = MorphConfig.Morphs[mKey] if cfg and (cfg.Multiplier or 0) > bestM then bestM = cfg.Multiplier bestKey = mKey end end end if bestKey then Packets.EquipMorph:Fire(bestKey) end end end) -- ==================================================================== -- TAB 3: TITLES & ROLLS -- ==================================================================== local pageTitles = createTab("Titles", "🎲") addSection(pageTitles, "Title Roll System (10 Wins / Roll)") addToggle(pageTitles, "Auto Roll Titles (Fast)", "Repeatedly rolls titles via Packet without UI delays", State.AutoRollTitles, function(val) State.AutoRollTitles = val end) addToggle(pageTitles, "Auto Equip Best Title", "Automatically equips highest multiplier title when rolled", State.AutoEquipBestTitle, function(val) State.AutoEquipBestTitle = val end) addButton(pageTitles, "Roll 1x Title", "Single instant title roll", "Roll 1x", function() local t, _ = RollResponseCaller:Fire() if t and State.AutoEquipBestTitle then Packets.EquipTitle:Fire(t) end end) addButton(pageTitles, "Roll 10x Titles", "Batch 10 instant title rolls", "Roll 10x", function() for _ = 1, 10 do RollResponseCaller:Fire() task.wait(0.08) end end) addButton(pageTitles, "Equip Highest Owned Title", "Equips your strongest title from inventory", "Equip Strongest", function() if Replica and Replica.Data and Replica.Data.Titles then local bestTitle = nil local bestM = 0 for tName, val in pairs(Replica.Data.Titles) do if val == true then local cfg = TitleConfig[tName] if cfg and (cfg.Multiplier or 0) > bestM then bestM = cfg.Multiplier bestTitle = tName end end end if bestTitle then Packets.EquipTitle:Fire(bestTitle) end end end) -- ==================================================================== -- TAB 4: TELEPORTS -- ==================================================================== local pageTP = createTab("Teleports", "🚀") addSection(pageTP, "World & Special Locations") addButton(pageTP, "Spawn Location", "Teleport back to the game spawn", "Teleport", function() local sp = workspace:FindFirstChild("SpawnLocation") if sp then teleportTo(sp.CFrame + Vector3.new(0, 3, 0)) end end) addButton(pageTP, "Next World Portal", "Fires Teleport packet to next world (Rebirth required)", "Enter Portal", function() Packets.Teleport:Fire() end) addButton(pageTP, "PVP Zone (King of the Hill)", "Teleports to the PVP combat arena", "Teleport", function() local pvp = workspace:FindFirstChild("PvpZone") if pvp and pvp:FindFirstChild("KingZone") then teleportTo(pvp.KingZone.Position + Vector3.new(0, 4, 0)) end end) addSection(pageTP, "Training Bags (Multipliers)") local trainingZones = getTrainingZones() for _, z in ipairs(trainingZones) do if z.pos then addButton(pageTP, z.name .. " (" .. tostring(z.mult) .. "x)", "Rebirths: " .. tostring(z.rebirths) .. (z.product and " [Product]" or ""), "TP Bag", function() teleportTo(z.pos + Vector3.new(0, 3, 0)) end) end end addSection(pageTP, "Wall Stages (Current World)") local currentStages = getStages() for _, s in ipairs(currentStages) do if s.pos then local rwd = NumberUtils:FormatNumber(s.reward) addButton(pageTP, "Stage " .. tostring(s.stage) .. " (+" .. rwd .. " Wins)", "Teleport directly to stage reward zone", "TP Stage", function() teleportTo(s.pos + Vector3.new(0, 4, 0)) end) end end -- ==================================================================== -- TAB 5: PLAYER & MOVEMENT -- ==================================================================== local pagePlayer = createTab("Player", "🏃") addSection(pagePlayer, "Movement Modifications") addToggle(pagePlayer, "Custom WalkSpeed (60)", "Increases character walking speed", State.CustomSpeedEnabled, function(val) State.CustomSpeedEnabled = val State.WalkSpeed = val and 60 or 16 local char = LocalPlayer.Character local hum = char and char:FindFirstChildOfClass("Humanoid") if hum then hum.WalkSpeed = State.WalkSpeed end end) addToggle(pagePlayer, "Custom JumpPower (120)", "Increases jump height", State.CustomJumpEnabled, function(val) State.CustomJumpEnabled = val State.JumpPower = val and 120 or 50 local char = LocalPlayer.Character local hum = char and char:FindFirstChildOfClass("Humanoid") if hum then hum.JumpPower = State.JumpPower end end) addToggle(pagePlayer, "Infinite Jump", "Jump as many times as you want in mid-air", State.InfJump, function(val) State.InfJump = val end) addToggle(pagePlayer, "Noclip", "Walk through walls and obstacles effortlessly", State.Noclip, function(val) State.Noclip = val end) addSection(pagePlayer, "Safety & AFK Protection") addToggle(pagePlayer, "Anti-AFK Protection", "Prevents Roblox 20-minute idle disconnect", State.AntiAFK, function(val) State.AntiAFK = val end) -- ==================================================================== -- TAB 6: REMOTE SPY & EVENT EXPLORER -- ==================================================================== local pageRemotes = createTab("Remotes", "📡") addSection(pageRemotes, "Discovered Packet Events (Network Protocol)") local remoteList = { { name = "TapEvent (Packet ID: 7)", desc = "Fire() -> Instant Power gain (unthrottled)" }, { name = "ClaimWins (Packet ID: 11)", desc = "Fire(NumberS8 stage) -> Instant Wins (World 2 Stage 11 = 50T!)" }, { name = "Rebirth (Packet ID: 8)", desc = "Fire() -> Rebirth player when max level is reached" }, { name = "Upgrade (Packet ID: 13)", desc = "Fire(String stat) -> 'Speed', 'Luck', 'TrainingRate'" }, { name = "PurchaseAura (Packet ID: 3)", desc = "Fire(String aura) -> 'Aura1' to 'Aura10'" }, { name = "ChangeAura (Packet ID: 4)", desc = "Fire(String aura, Boolean8 equip) -> Equips Aura" }, { name = "RequestRoll (Packet ID: 1)", desc = "Fire() -> Returns (titleName, multiplier) for 10 Wins" }, { name = "EquipTitle (Packet ID: 15)", desc = "Fire(String title) -> Equips selected Title" }, { name = "ChangeTitleState (Packet ID: 2)", desc = "Fire(String title, Boolean8 lockState)" }, { name = "PurchaseMorph (Packet ID: 5)", desc = "Fire(String morph) -> 'Morph1' to 'Morph41'" }, { name = "EquipMorph (Packet ID: 6)", desc = "Fire(String morph) -> Equips selected Morph" }, { name = "Teleport (Packet ID: 17)", desc = "Fire() -> Teleports to next world" }, { name = "AutoClick (Packet ID: 9)", desc = "Fire(Boolean8 enabled) -> Server AutoClicker" }, { name = "SkipStage (Packet ID: 16)", desc = "OnClientEvent(NumberU8 stage) -> Wall skip listener" } } for _, item in ipairs(remoteList) do local card = Instance.new("Frame") card.Size = UDim2.new(1, 0, 0, 44) card.BackgroundColor3 = Color3.fromRGB(20, 18, 32) card.Parent = pageRemotes local cCorner = Instance.new("UICorner") cCorner.CornerRadius = UDim.new(0, 8) cCorner.Parent = card local titleLbl = Instance.new("TextLabel") titleLbl.Size = UDim2.new(1, -20, 0, 20) titleLbl.Position = UDim2.new(0, 12, 0, 4) titleLbl.BackgroundTransparency = 1 titleLbl.Text = "⚡ " .. item.name titleLbl.TextColor3 = Color3.fromRGB(167, 139, 250) titleLbl.Font = Enum.Font.GothamBold titleLbl.TextSize = 12 titleLbl.TextXAlignment = Enum.TextXAlignment.Left titleLbl.Parent = card local descLbl = Instance.new("TextLabel") descLbl.Size = UDim2.new(1, -20, 0, 16) descLbl.Position = UDim2.new(0, 12, 0, 24) descLbl.BackgroundTransparency = 1 descLbl.Text = item.desc descLbl.TextColor3 = Color3.fromRGB(156, 163, 175) descLbl.Font = Enum.Font.Gotham descLbl.TextSize = 10.5 descLbl.TextXAlignment = Enum.TextXAlignment.Left descLbl.Parent = card end -- Default active tab TabButtons["Auto Farm"].BackgroundColor3 = Color3.fromRGB(88, 28, 135) TabButtons["Auto Farm"].TextColor3 = Color3.fromRGB(255, 255, 255) Tabs["Auto Farm"].Visible = true -- Global cleanup function for clean re-execution _G.JJKHubCleanup = function() Running = false pcall(function() antiAfkConn:Disconnect() end) pcall(function() noclipConn:Disconnect() end) pcall(function() infJumpConn:Disconnect() end) for _, t in ipairs(ActiveThreads) do pcall(function() task.cancel(t) end) end pcall(function() ScreenGui:Destroy() end) end print("⚡ [JJK MASTER HUB] Universal Loaded for: " .. PlaceName)