-- 🧠 Full Developer GUI System (Jann’s Hub + Jay’s Hub + Fly + Noclip + Walkspeed) -- Safe for Studio Play Mode — all movement logic is client-side only -- // Local Player Setup local player = game.Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") -- // GUI references local jannsHubGui, jaysHubGui, flyGui, noclipGui, walkGui -------------------------------------------------------------------- -- 🟩 NEON BACKGROUND CREATOR -------------------------------------------------------------------- local function createNeonBackground(parent) local bg = Instance.new("Frame") bg.Size = UDim2.new(1, 0, 1, 0) bg.BackgroundColor3 = Color3.fromRGB(0, 255, 0) bg.ZIndex = 0 bg.BorderSizePixel = 0 bg.Parent = parent end -------------------------------------------------------------------- -- 🖱️ BUTTON CREATION UTILITY -------------------------------------------------------------------- local function createButton(parent, size, position, text, callback) local button = Instance.new("TextButton") button.Size = size button.Position = position button.BackgroundColor3 = Color3.fromRGB(20, 20, 20) button.TextColor3 = Color3.fromRGB(255, 255, 255) button.TextSize = 20 button.Font = Enum.Font.GothamBold button.Text = text button.AutoButtonColor = false button.ZIndex = 2 button.Parent = parent button.MouseEnter:Connect(function() button.BackgroundColor3 = Color3.fromRGB(50, 50, 50) end) button.MouseLeave:Connect(function() button.BackgroundColor3 = Color3.fromRGB(20, 20, 20) end) button.MouseButton1Click:Connect(callback) return button end -------------------------------------------------------------------- -- 🧲 DRAGGABLE FRAMES -------------------------------------------------------------------- local function makeDraggable(frame) local dragToggle, dragStart, startPos local dragInput local function update(input) local delta = input.Position - dragStart frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragToggle = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragToggle = false end end) end end) frame.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragToggle then update(input) end end) end -------------------------------------------------------------------- -- ✨ FADE IN ANIMATION -------------------------------------------------------------------- local function fadeIn(gui) gui.Enabled = true gui.ResetOnSpawn = false gui.IgnoreGuiInset = true gui.Parent = playerGui for _, obj in pairs(gui:GetDescendants()) do if obj:IsA("GuiObject") then obj.BackgroundTransparency = 1 obj.TextTransparency = 1 local tween = TweenService:Create(obj, TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { BackgroundTransparency = 0, TextTransparency = 0 }) tween:Play() end end end -------------------------------------------------------------------- -- 💥 DESTROY ALL GUIS -------------------------------------------------------------------- local function destroyAllGuis() if jannsHubGui then jannsHubGui:Destroy() jannsHubGui = nil end if jaysHubGui then jaysHubGui:Destroy() jaysHubGui = nil end if flyGui then flyGui:Destroy() flyGui = nil end if noclipGui then noclipGui:Destroy() noclipGui = nil end if walkGui then walkGui:Destroy() walkGui = nil end end -------------------------------------------------------------------- -- 🚀 FLY SYSTEM -------------------------------------------------------------------- local flying = false local flySpeed = 16 local bodyGyro, bodyVelocity local function toggleFly(state) local char = player.Character or player.CharacterAdded:Wait() local root = char:WaitForChild("HumanoidRootPart") local humanoid = char:WaitForChild("Humanoid") if state then flying = true bodyGyro = Instance.new("BodyGyro") bodyVelocity = Instance.new("BodyVelocity") bodyGyro.MaxTorque = Vector3.new(400000, 400000, 400000) bodyGyro.P = 10000 bodyGyro.CFrame = root.CFrame bodyVelocity.Velocity = Vector3.zero bodyVelocity.MaxForce = Vector3.new(400000, 400000, 400000) bodyGyro.Parent = root bodyVelocity.Parent = root RunService.Heartbeat:Connect(function() if flying then local moveDir = humanoid.MoveDirection bodyVelocity.Velocity = moveDir * flySpeed + Vector3.new(0, 0, 0) bodyGyro.CFrame = CFrame.lookAt(root.Position, root.Position + moveDir + Vector3.new(0, 0, -1)) end end) else flying = false if bodyGyro then bodyGyro:Destroy() end if bodyVelocity then bodyVelocity:Destroy() end end end -------------------------------------------------------------------- -- 🟩 FLY GUI -------------------------------------------------------------------- function loadFlyGui() destroyAllGuis() flyGui = Instance.new("ScreenGui") flyGui.Name = "FlyGui" createNeonBackground(flyGui) local frame = Instance.new("Frame", flyGui) frame.Size = UDim2.new(0, 300, 0, 250) frame.Position = UDim2.new(0.5, -150, 0.8, -125) frame.BackgroundColor3 = Color3.fromRGB(0, 255, 0) frame.BorderSizePixel = 0 frame.Active = true makeDraggable(frame) local label = Instance.new("TextLabel", frame) label.Size = UDim2.new(1, 0, 0, 40) label.BackgroundTransparency = 1 label.Text = "FLY" label.TextSize = 28 label.Font = Enum.Font.GothamBold label.TextColor3 = Color3.new(0, 0, 0) local flyButton = createButton(frame, UDim2.new(0, 120, 0, 50), UDim2.new(0, 20, 0, 70), "Fly: Disabled", function() flying = not flying flyButton.Text = "Fly: " .. (flying and "Enabled" or "Disabled") toggleFly(flying) end) createButton(frame, UDim2.new(0, 120, 0, 50), UDim2.new(0, 160, 0, 70), "Unfly", function() flying = false flyButton.Text = "Fly: Disabled" toggleFly(false) end) createButton(frame, UDim2.new(0, 260, 0, 40), UDim2.new(0, 20, 0, 180), "← Return to Hub", function() loadJaysHub() end) fadeIn(flyGui) end -------------------------------------------------------------------- -- 🧱 NOCLIP GUI -------------------------------------------------------------------- function loadNoclipGui() destroyAllGuis() noclipGui = Instance.new("ScreenGui") noclipGui.Name = "NoclipGui" createNeonBackground(noclipGui) local frame = Instance.new("Frame", noclipGui) frame.Size = UDim2.new(0, 300, 0, 250) frame.Position = UDim2.new(0.5, -150, 0.5, -125) frame.BackgroundColor3 = Color3.fromRGB(0, 255, 0) frame.Active = true makeDraggable(frame) local label = Instance.new("TextLabel", frame) label.Size = UDim2.new(1, 0, 0, 40) label.BackgroundTransparency = 1 label.Text = "NOCLIP" label.TextSize = 28 label.Font = Enum.Font.GothamBold label.TextColor3 = Color3.new(0, 0, 0) local noclipEnabled = false local char = player.Character or player.CharacterAdded:Wait() local noclipButton = createButton(frame, UDim2.new(0, 120, 0, 50), UDim2.new(0, 20, 0, 70), "Noclip: Disabled", function() noclipEnabled = not noclipEnabled noclipButton.Text = "Noclip: " .. (noclipEnabled and "Enabled" or "Disabled") for _, part in pairs(char:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = not noclipEnabled end end end) createButton(frame, UDim2.new(0, 260, 0, 40), UDim2.new(0, 20, 0, 180), "← Return to Hub", function() loadJaysHub() end) fadeIn(noclipGui) end -------------------------------------------------------------------- -- 🏃‍♂️ WALKSPEED GUI -------------------------------------------------------------------- function loadWalkGui() destroyAllGuis() walkGui = Instance.new("ScreenGui") walkGui.Name = "WalkGui" createNeonBackground(walkGui) local frame = Instance.new("Frame", walkGui) frame.Size = UDim2.new(0, 300, 0, 250) frame.Position = UDim2.new(0.5, -150, 0.5, -125) frame.BackgroundColor3 = Color3.fromRGB(0, 255, 0) frame.Active = true makeDraggable(frame) local label = Instance.new("TextLabel", frame) label.Size = UDim2.new(1, 0, 0, 40) label.BackgroundTransparency = 1 label.Text = "WALKSPEED" label.TextSize = 28 label.Font = Enum.Font.GothamBold label.TextColor3 = Color3.new(0, 0, 0) local speedEnabled = false local humanoid = player.Character and player.Character:FindFirstChildOfClass("Humanoid") local speedButton = createButton(frame, UDim2.new(0, 120, 0, 50), UDim2.new(0, 20, 0, 70), "Speed: Normal", function() speedEnabled = not speedEnabled if humanoid then humanoid.WalkSpeed = speedEnabled and 50 or 16 end speedButton.Text = "Speed: " .. (speedEnabled and "Fast" or "Normal") end) createButton(frame, UDim2.new(0, 260, 0, 40), UDim2.new(0, 20, 0, 180), "← Return to Hub", function() loadJaysHub() end) fadeIn(walkGui) end -------------------------------------------------------------------- -- 💻 JAY’S HUB -------------------------------------------------------------------- function loadJaysHub() destroyAllGuis() jaysHubGui = Instance.new("ScreenGui") jaysHubGui.Name = "JaysHub" createNeonBackground(jaysHubGui) local frame = Instance.new("Frame", jaysHubGui) frame.Size = UDim2.new(0, 400, 0, 400) frame.Position = UDim2.new(0.5, -200, 0.5, -200) frame.BackgroundColor3 = Color3.fromRGB(0, 0, 0) frame.BorderColor3 = Color3.fromRGB(255, 255, 255) frame.Active = true makeDraggable(frame) local label = Instance.new("TextLabel", frame) label.Size = UDim2.new(1, 0, 0, 50) label.BackgroundTransparency = 1 label.Text = "Jay's Hub [BETA]" label.TextSize = 26 label.Font = Enum.Font.GothamBold label.TextColor3 = Color3.fromRGB(255, 255, 255) createButton(frame, UDim2.new(0, 150, 0, 50), UDim2.new(0, 20, 0, 70), "NOCLIP", loadNoclipGui) createButton(frame, UDim2.new(0, 150, 0, 50), UDim2.new(0, 200, 0, 70), "UNNOCLIP", function() local char = player.Character or player.CharacterAdded:Wait() for _, part in pairs(char:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = true end end end) createButton(frame, UDim2.new(0, 150, 0, 50), UDim2.new(0, 20, 0, 150), "WALKSPEED", loadWalkGui) createButton(frame, UDim2.new(0, 150, 0, 50), UDim2.new(0, 200, 0, 150), "UNWALKSPEED", function() local humanoid = player.Character and player.Character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.WalkSpeed = 16 end end) createButton(frame, UDim2.new(0, 360, 0, 40), UDim2.new(0, 20, 0, 330), "← Return to Jann’s Hub", loadJannsHub) fadeIn(jaysHubGui) end -------------------------------------------------------------------- -- 🟢 JANN’S HUB -------------------------------------------------------------------- function loadJannsHub() destroyAllGuis() jannsHubGui = Instance.new("ScreenGui") jannsHubGui.Name = "JannsHub" createNeonBackground(jannsHubGui) local frame = Instance.new("Frame", jannsHubGui) frame.Size = UDim2.new(0, 400, 0, 400) frame.Position = UDim2.new(0.5, -200, 0.5, -200) frame.BackgroundColor3 = Color3.fromRGB(0, 255, 0) frame.BorderSizePixel = 2 frame.Active = true makeDraggable(frame) local label = Instance.new("TextLabel", frame) label.Size = UDim2.new(1, 0, 0, 50) label.BackgroundTransparency = 1 label.Text = "Jann’s Hub [BETA]" label.TextSize = 26 label.Font = Enum.Font.GothamBold label.TextColor3 = Color3.fromRGB(0, 0, 0) createButton(frame, UDim2.new(0, 150, 0, 50), UDim2.new(0, 20, 0, 80), "Fly", loadFlyGui) createButton(frame, UDim2.new(0, 150, 0, 50), UDim2.new(0, 20, 0, 150), "Jay’s Hub", loadJaysHub) createButton(frame, UDim2.new(0, 150, 0, 50), UDim2.new(0, 20, 0, 220), "Fling", function() print("Placeholder for fling") end) fadeIn(jannsHubGui) end -------------------------------------------------------------------- -- 🟢 START -------------------------------------------------------------------- loadJannsHub()