-- [[ CREDITS: nagizaronagi ]] -- local Players = game:GetService("Players") local RS = game:GetService("RunService") local UIS = game:GetService("UserInputService") local LocalPlayer = Players.LocalPlayer local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") local State = { Master = nil, Active = false, Mode = "Idle", Target = nil, Loop = nil, ChatConn = nil, AnimConn = nil, IsMobile = UIS.TouchEnabled and not UIS.KeyboardEnabled } -- [[ 1. CLEANUP SYSTEM ]] local function FullCleanup(gui) State.Active = false if State.Loop then State.Loop:Disconnect(); State.Loop = nil end if State.ChatConn then State.ChatConn:Disconnect(); State.ChatConn = nil end if State.AnimConn then State.AnimConn:Disconnect(); State.AnimConn = nil end local char = LocalPlayer.Character if char then for _, v in pairs(char:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = true end end end if gui then gui:Destroy() end end -- [[ 2. LOADING SCREEN ]] local function ShowLoading() local loadSg = Instance.new("ScreenGui", PlayerGui) local loadFrame = Instance.new("Frame", loadSg) loadFrame.Size = UDim2.new(1, 0, 1, 0) loadFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 10) local loadTxt = Instance.new("TextLabel", loadFrame) loadTxt.Size = UDim2.new(1, 0, 1, 0) loadTxt.BackgroundTransparency = 1 loadTxt.Text = "JJS ULTIMATE HUB\nCredits: nagizaronagi\nDetecting Device: " .. (State.IsMobile and "MOBILE" or "PC") loadTxt.TextColor3 = Color3.new(1, 1, 1) loadTxt.Font = Enum.Font.GothamBold loadTxt.TextSize = State.IsMobile and 20 or 25 task.wait(2) loadSg:Destroy() end -- [[ 3. GLOBAL SCANNER ]] local function ForceUnlockEverything() local keywords = {"ps", "plus", "host", "admin", "panel", "control", "menu", "gui", "ui"} for _, v in ipairs(game:GetDescendants()) do pcall(function() local n = v.Name:lower() for _, key in ipairs(keywords) do if n:find(key) then if v:IsA("ScreenGui") then v.Enabled = true v.DisplayOrder = 9999 elseif v:IsA("GuiObject") then v.Visible = true v.Active = true v.Transparency = 0 end end end end) end end -- [[ 4. STAND LOGIC ]] local function GetRoot(char) return char and char:FindFirstChild("HumanoidRootPart") end local function Fling(targetRoot) local root = GetRoot(LocalPlayer.Character) if root and targetRoot then root.CFrame = targetRoot.CFrame root.Velocity = Vector3.new(9e7, 9e7, 9e7) root.RotVelocity = Vector3.new(9e7, 9e7, 9e7) end end local function StartStandLoop() if State.Loop then State.Loop:Disconnect() end State.Loop = RS.Heartbeat:Connect(function() if not State.Active or not State.Master or not State.Master.Character then return end local char = LocalPlayer.Character local root = GetRoot(char) local mRoot = GetRoot(State.Master.Character) if not (root and mRoot) then return end for _, v in pairs(char:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = false end end local dist = (root.Position - mRoot.Position).Magnitude if dist > 40 then State.Mode = "Idle"; State.Target = nil end if State.Mode == "Block" then for _, p in pairs(Players:GetPlayers()) do if p ~= State.Master and p ~= LocalPlayer and p.Character then local pRoot = GetRoot(p.Character) if pRoot and (pRoot.Position - mRoot.Position).Magnitude < 10 then Fling(pRoot) end end end root.CFrame = mRoot.CFrame * CFrame.new(0, 0, -3) elseif State.Mode == "Attack" then if not State.Target or not State.Target.Parent then for _, p in pairs(Players:GetPlayers()) do if p ~= State.Master and p ~= LocalPlayer and p.Character then local pRoot = GetRoot(p.Character) if pRoot and (pRoot.Position - mRoot.Position).Magnitude < 35 then State.Target = pRoot break end end end end if State.Target then Fling(State.Target) else root.CFrame = mRoot.CFrame * CFrame.new(3, 2, 2) end else root.CFrame = mRoot.CFrame * CFrame.new(3, 2, 2) end end) end -- [[ 5. UI SYSTEM (ADAPTIVE) ]] local sg = Instance.new("ScreenGui", PlayerGui) sg.ResetOnSpawn = false local main = Instance.new("Frame", sg) -- Mobile gets a wider, shorter UI for thumb reach; PC stays compact if State.IsMobile then main.Size = UDim2.new(0, 320, 0, 380) main.Position = UDim2.new(0.5, -160, 0.2, 0) else main.Size = UDim2.new(0, 260, 0, 340) main.Position = UDim2.new(0.5, -130, 0.3, 0) end main.BackgroundColor3 = Color3.fromRGB(15, 15, 15) main.Active = true main.Draggable = true Instance.new("UICorner", main) local title = Instance.new("TextLabel", main) title.Size = UDim2.new(1, 0, 0, 40) title.Text = "JJS HUB | " .. (State.IsMobile and "MOBILE" or "PC") title.TextColor3 = Color3.new(1, 1, 1) title.BackgroundColor3 = Color3.fromRGB(25, 25, 25) Instance.new("UICorner", title) local input = Instance.new("TextBox", main) input.Size = UDim2.new(0.9, 0, 0, 45) input.Position = UDim2.new(0.05, 0, 0.15, 0) input.PlaceholderText = "Master Name" input.BackgroundColor3 = Color3.fromRGB(30, 30, 30) input.TextColor3 = Color3.new(1, 1, 1) input.TextSize = State.IsMobile and 18 or 14 Instance.new("UICorner", input) local function CreateBtn(text, yPos, color, func) local b = Instance.new("TextButton", main) b.Size = UDim2.new(0.9, 0, 0, State.IsMobile and 45 or 35) b.Position = UDim2.new(0.05, 0, 0, yPos) b.Text = text b.BackgroundColor3 = color b.TextColor3 = Color3.new(1, 1, 1) b.Font = Enum.Font.GothamBold b.TextSize = State.IsMobile and 16 or 14 Instance.new("UICorner", b) b.MouseButton1Click:Connect(func) end local offset = State.IsMobile and 60 or 45 CreateBtn("START STAND SYSTEM", 110, Color3.fromRGB(0, 120, 255), function() for _, p in pairs(Players:GetPlayers()) do if p.Name:lower():find(input.Text:lower()) then State.Master = p State.ChatConn = p.Chatted:Connect(function(msg) local m = msg:lower() if m == "summon" then State.Active = true elseif m == "vanish" then State.Active = false; GetRoot(LocalPlayer.Character).CFrame *= CFrame.new(0, 40, 0) elseif m == "attack" then State.Mode = "Attack" elseif m == "block" then State.Mode = "Block" elseif m == "stop" then State.Mode = "Idle"; State.Target = nil end end) State.AnimConn = p.Character.Humanoid.AnimationPlayed:Connect(function(anim) if State.Active and anim.Name:lower():find("attack") then for _, t in pairs(Players:GetPlayers()) do if t ~= p and t ~= LocalPlayer and t.Character then local tr = GetRoot(t.Character) if tr and (tr.Position - GetRoot(p.Character).Position).Magnitude < 15 then LocalPlayer.Character:PivotTo(tr.CFrame * CFrame.new(0, 0, 3)) end end end end end) StartStandLoop() break end end end) CreateBtn("STOP SYSTEM", 110 + offset, Color3.fromRGB(80, 80, 80), function() FullCleanup(nil) end) CreateBtn("SCAN & FORCE PS+", 110 + (offset*2), Color3.fromRGB(200, 50, 50), ForceUnlockEverything) CreateBtn("LOAD INF YIELD", 110 + (offset*3), Color3.fromRGB(100, 50, 150), function() loadstring(game:HttpGet('https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source'))() end) CreateBtn("DESTROY GUI", 110 + (offset*4), Color3.fromRGB(30, 30, 30), function() FullCleanup(sg) end) ShowLoading()