–– Made by @kers0nerz on discord local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local Workspace = game:GetService("Workspace") local player = Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local humanoid = character:WaitForChild("Humanoid") -- Settings local desyncEnabled = false local speedBoostEnabled = false local speedBoostValue = 50 local highJumpEnabled = false local highJumpPower = 75 -- Desync effect variables local desyncConnection = nil -- High Jump variables local originalJumpPower = nil -- UI state local guiVisible = true -- Auto Steal Config local autoStealConfig = { AUTO_STEAL = true, RADIUS = 0.08, HOLD_TIME = 0.1 } -- Auto Steal variables local autoStealBusy = false -- Create Main ScreenGui local screenGui = Instance.new("ScreenGui") screenGui.Name = "IllustratorHubHelper" screenGui.Parent = player:WaitForChild("PlayerGui") screenGui.ResetOnSpawn = false -- ========== FLOATING BUTTON ========== local floatingButton = Instance.new("ImageButton") floatingButton.Size = UDim2.new(0, 50, 0, 50) floatingButton.Position = UDim2.new(0, 20, 0, 100) floatingButton.BackgroundColor3 = Color3.fromRGB(0, 0, 0) floatingButton.BackgroundTransparency = 0 floatingButton.Image = "rbxassetid://3926305904" floatingButton.ImageColor3 = Color3.fromRGB(255, 215, 0) floatingButton.ScaleType = Enum.ScaleType.Fit floatingButton.Parent = screenGui local floatingCorner = Instance.new("UICorner") floatingCorner.CornerRadius = UDim.new(1, 0) floatingCorner.Parent = floatingButton local floatingStroke = Instance.new("UIStroke") floatingStroke.Color = Color3.fromRGB(255, 215, 0) floatingStroke.Thickness = 2 floatingStroke.Parent = floatingButton -- Make floating button draggable local dragging = false local dragStart, startPos floatingButton.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = floatingButton.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) floatingButton.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement and dragging then local delta = input.Position - dragStart floatingButton.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) -- ========== MAIN GUI (Gold and Black Theme) ========== local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 280, 0, 470) mainFrame.Position = UDim2.new(0.5, -140, 0.5, -235) mainFrame.BackgroundColor3 = Color3.fromRGB(0, 0, 0) mainFrame.BackgroundTransparency = 0 mainFrame.BorderSizePixel = 0 mainFrame.ClipsDescendants = true mainFrame.Visible = true mainFrame.Parent = screenGui -- Gold border outline local border = Instance.new("UIStroke") border.Color = Color3.fromRGB(255, 215, 0) border.Thickness = 2 border.Parent = mainFrame -- Corner rounding local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = mainFrame -- Title Bar (Gold) local titleBar = Instance.new("Frame") titleBar.Size = UDim2.new(1, 0, 0, 40) titleBar.BackgroundColor3 = Color3.fromRGB(255, 215, 0) titleBar.BorderSizePixel = 0 titleBar.Parent = mainFrame local titleCorner = Instance.new("UICorner") titleCorner.CornerRadius = UDim.new(0, 8) titleCorner.Parent = titleBar local titleLabel = Instance.new("TextLabel") titleLabel.Size = UDim2.new(1, -40, 1, 0) titleLabel.Position = UDim2.new(0, 10, 0, 0) titleLabel.BackgroundTransparency = 1 titleLabel.Text = "Illustrator Hub Helper" titleLabel.TextColor3 = Color3.fromRGB(0, 0, 0) titleLabel.Font = Enum.Font.GothamBold titleLabel.TextSize = 14 titleLabel.TextXAlignment = Enum.TextXAlignment.Left titleLabel.Parent = titleBar -- Close button local closeButton = Instance.new("TextButton") closeButton.Size = UDim2.new(0, 30, 0, 30) closeButton.Position = UDim2.new(1, -35, 0.5, -15) closeButton.BackgroundTransparency = 1 closeButton.Text = "X" closeButton.TextColor3 = Color3.fromRGB(0, 0, 0) closeButton.Font = Enum.Font.GothamBold closeButton.TextSize = 16 closeButton.Parent = titleBar closeButton.MouseButton1Click:Connect(function() mainFrame.Visible = false guiVisible = false end) -- Floating button toggle floatingButton.MouseButton1Click:Connect(function() mainFrame.Visible = not mainFrame.Visible guiVisible = mainFrame.Visible end) -- ========== DESYNC TOGGLE ========== local desyncFrame = Instance.new("Frame") desyncFrame.Size = UDim2.new(1, -20, 0, 45) desyncFrame.Position = UDim2.new(0, 10, 0, 55) desyncFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20) desyncFrame.BackgroundTransparency = 0 desyncFrame.BorderSizePixel = 0 desyncFrame.Parent = mainFrame local desyncCorner = Instance.new("UICorner") desyncCorner.CornerRadius = UDim.new(0, 6) desyncCorner.Parent = desyncFrame local desyncStroke = Instance.new("UIStroke") desyncStroke.Color = Color3.fromRGB(255, 215, 0) desyncStroke.Thickness = 1 desyncStroke.Parent = desyncFrame local desyncLabel = Instance.new("TextLabel") desyncLabel.Size = UDim2.new(0, 120, 1, 0) desyncLabel.Position = UDim2.new(0, 12, 0, 0) desyncLabel.BackgroundTransparency = 1 desyncLabel.Text = "Desync" desyncLabel.TextColor3 = Color3.fromRGB(255, 215, 0) desyncLabel.Font = Enum.Font.Gotham desyncLabel.TextSize = 13 desyncLabel.TextXAlignment = Enum.TextXAlignment.Left desyncLabel.Parent = desyncFrame local desyncToggle = Instance.new("TextButton") desyncToggle.Size = UDim2.new(0, 55, 0, 28) desyncToggle.Position = UDim2.new(1, -65, 0.5, -14) desyncToggle.BackgroundColor3 = Color3.fromRGB(40, 40, 40) desyncToggle.Text = "OFF" desyncToggle.TextColor3 = Color3.fromRGB(255, 215, 0) desyncToggle.Font = Enum.Font.GothamBold desyncToggle.TextSize = 12 desyncToggle.BorderSizePixel = 0 desyncToggle.Parent = desyncFrame local desyncToggleCorner = Instance.new("UICorner") desyncToggleCorner.CornerRadius = UDim.new(1, 0) desyncToggleCorner.Parent = desyncToggle -- ========== SPEED BOOST TOGGLE ========== local speedFrame = Instance.new("Frame") speedFrame.Size = UDim2.new(1, -20, 0, 45) speedFrame.Position = UDim2.new(0, 10, 0, 110) speedFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20) speedFrame.BackgroundTransparency = 0 speedFrame.BorderSizePixel = 0 speedFrame.Parent = mainFrame local speedCorner = Instance.new("UICorner") speedCorner.CornerRadius = UDim.new(0, 6) speedCorner.Parent = speedFrame local speedStroke = Instance.new("UIStroke") speedStroke.Color = Color3.fromRGB(255, 215, 0) speedStroke.Thickness = 1 speedStroke.Parent = speedFrame local speedLabel = Instance.new("TextLabel") speedLabel.Size = UDim2.new(0, 100, 1, 0) speedLabel.Position = UDim2.new(0, 12, 0, 0) speedLabel.BackgroundTransparency = 1 speedLabel.Text = "Speed Boost" speedLabel.TextColor3 = Color3.fromRGB(255, 215, 0) speedLabel.Font = Enum.Font.Gotham speedLabel.TextSize = 13 speedLabel.TextXAlignment = Enum.TextXAlignment.Left speedLabel.Parent = speedFrame local speedToggle = Instance.new("TextButton") speedToggle.Size = UDim2.new(0, 55, 0, 28) speedToggle.Position = UDim2.new(1, -65, 0.5, -14) speedToggle.BackgroundColor3 = Color3.fromRGB(40, 40, 40) speedToggle.Text = "OFF" speedToggle.TextColor3 = Color3.fromRGB(255, 215, 0) speedToggle.Font = Enum.Font.GothamBold speedToggle.TextSize = 12 speedToggle.BorderSizePixel = 0 speedToggle.Parent = speedFrame local speedToggleCorner = Instance.new("UICorner") speedToggleCorner.CornerRadius = UDim.new(1, 0) speedToggleCorner.Parent = speedToggle -- ========== SPEED VALUE INPUT ========== local speedInputFrame = Instance.new("Frame") speedInputFrame.Size = UDim2.new(1, -20, 0, 45) speedInputFrame.Position = UDim2.new(0, 10, 0, 160) speedInputFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20) speedInputFrame.BackgroundTransparency = 0 speedInputFrame.BorderSizePixel = 0 speedInputFrame.Parent = mainFrame local speedInputCorner = Instance.new("UICorner") speedInputCorner.CornerRadius = UDim.new(0, 6) speedInputCorner.Parent = speedInputFrame local speedInputStroke = Instance.new("UIStroke") speedInputStroke.Color = Color3.fromRGB(255, 215, 0) speedInputStroke.Thickness = 1 speedInputStroke.Parent = speedInputFrame local speedInputLabel = Instance.new("TextLabel") speedInputLabel.Size = UDim2.new(0, 90, 1, 0) speedInputLabel.Position = UDim2.new(0, 12, 0, 0) speedInputLabel.BackgroundTransparency = 1 speedInputLabel.Text = "Speed Value" speedInputLabel.TextColor3 = Color3.fromRGB(255, 215, 0) speedInputLabel.Font = Enum.Font.Gotham speedInputLabel.TextSize = 13 speedInputLabel.TextXAlignment = Enum.TextXAlignment.Left speedInputLabel.Parent = speedInputFrame local speedInput = Instance.new("TextBox") speedInput.Size = UDim2.new(0, 70, 0, 30) speedInput.Position = UDim2.new(1, -80, 0.5, -15) speedInput.BackgroundColor3 = Color3.fromRGB(0, 0, 0) speedInput.Text = "50" speedInput.TextColor3 = Color3.fromRGB(255, 215, 0) speedInput.Font = Enum.Font.Gotham speedInput.TextSize = 13 speedInput.ClearTextOnFocus = false speedInput.BorderSizePixel = 0 speedInput.Parent = speedInputFrame local speedInputCorner2 = Instance.new("UICorner") speedInputCorner2.CornerRadius = UDim.new(0, 4) speedInputCorner2.Parent = speedInput local speedInputStroke2 = Instance.new("UIStroke") speedInputStroke2.Color = Color3.fromRGB(255, 215, 0) speedInputStroke2.Thickness = 1 speedInputStroke2.Parent = speedInput -- ========== HIGH JUMP TOGGLE ========== local jumpFrame = Instance.new("Frame") jumpFrame.Size = UDim2.new(1, -20, 0, 45) jumpFrame.Position = UDim2.new(0, 10, 0, 215) jumpFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20) jumpFrame.BackgroundTransparency = 0 jumpFrame.BorderSizePixel = 0 jumpFrame.Parent = mainFrame local jumpCorner = Instance.new("UICorner") jumpCorner.CornerRadius = UDim.new(0, 6) jumpCorner.Parent = jumpFrame local jumpStroke = Instance.new("UIStroke") jumpStroke.Color = Color3.fromRGB(255, 215, 0) jumpStroke.Thickness = 1 jumpStroke.Parent = jumpFrame local jumpLabel = Instance.new("TextLabel") jumpLabel.Size = UDim2.new(0, 100, 1, 0) jumpLabel.Position = UDim2.new(0, 12, 0, 0) jumpLabel.BackgroundTransparency = 1 jumpLabel.Text = "High Jump" jumpLabel.TextColor3 = Color3.fromRGB(255, 215, 0) jumpLabel.Font = Enum.Font.Gotham jumpLabel.TextSize = 13 jumpLabel.TextXAlignment = Enum.TextXAlignment.Left jumpLabel.Parent = jumpFrame local jumpToggle = Instance.new("TextButton") jumpToggle.Size = UDim2.new(0, 55, 0, 28) jumpToggle.Position = UDim2.new(1, -65, 0.5, -14) jumpToggle.BackgroundColor3 = Color3.fromRGB(40, 40, 40) jumpToggle.Text = "OFF" jumpToggle.TextColor3 = Color3.fromRGB(255, 215, 0) jumpToggle.Font = Enum.Font.GothamBold jumpToggle.TextSize = 12 jumpToggle.BorderSizePixel = 0 jumpToggle.Parent = jumpFrame local jumpToggleCorner = Instance.new("UICorner") jumpToggleCorner.CornerRadius = UDim.new(1, 0) jumpToggleCorner.Parent = jumpToggle -- ========== JUMP POWER INPUT ========== local jumpInputFrame = Instance.new("Frame") jumpInputFrame.Size = UDim2.new(1, -20, 0, 45) jumpInputFrame.Position = UDim2.new(0, 10, 0, 265) jumpInputFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20) jumpInputFrame.BackgroundTransparency = 0 jumpInputFrame.BorderSizePixel = 0 jumpInputFrame.Parent = mainFrame local jumpInputCorner = Instance.new("UICorner") jumpInputCorner.CornerRadius = UDim.new(0, 6) jumpInputCorner.Parent = jumpInputFrame local jumpInputStroke = Instance.new("UIStroke") jumpInputStroke.Color = Color3.fromRGB(255, 215, 0) jumpInputStroke.Thickness = 1 jumpInputStroke.Parent = jumpInputFrame local jumpInputLabel = Instance.new("TextLabel") jumpInputLabel.Size = UDim2.new(0, 90, 1, 0) jumpInputLabel.Position = UDim2.new(0, 12, 0, 0) jumpInputLabel.BackgroundTransparency = 1 jumpInputLabel.Text = "Jump Power" jumpInputLabel.TextColor3 = Color3.fromRGB(255, 215, 0) jumpInputLabel.Font = Enum.Font.Gotham jumpInputLabel.TextSize = 13 jumpInputLabel.TextXAlignment = Enum.TextXAlignment.Left jumpInputLabel.Parent = jumpInputFrame local jumpInput = Instance.new("TextBox") jumpInput.Size = UDim2.new(0, 70, 0, 30) jumpInput.Position = UDim2.new(1, -80, 0.5, -15) jumpInput.BackgroundColor3 = Color3.fromRGB(0, 0, 0) jumpInput.Text = "75" jumpInput.TextColor3 = Color3.fromRGB(255, 215, 0) jumpInput.Font = Enum.Font.Gotham jumpInput.TextSize = 13 jumpInput.ClearTextOnFocus = false jumpInput.BorderSizePixel = 0 jumpInput.Parent = jumpInputFrame local jumpInputCorner2 = Instance.new("UICorner") jumpInputCorner2.CornerRadius = UDim.new(0, 4) jumpInputCorner2.Parent = jumpInput local jumpInputStroke2 = Instance.new("UIStroke") jumpInputStroke2.Color = Color3.fromRGB(255, 215, 0) jumpInputStroke2.Thickness = 1 jumpInputStroke2.Parent = jumpInput -- ========== AUTO STEAL TOGGLE ========== local stealFrame = Instance.new("Frame") stealFrame.Size = UDim2.new(1, -20, 0, 45) stealFrame.Position = UDim2.new(0, 10, 0, 320) stealFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20) stealFrame.BackgroundTransparency = 0 stealFrame.BorderSizePixel = 0 stealFrame.Parent = mainFrame local stealCorner = Instance.new("UICorner") stealCorner.CornerRadius = UDim.new(0, 6) stealCorner.Parent = stealFrame local stealStroke = Instance.new("UIStroke") stealStroke.Color = Color3.fromRGB(255, 215, 0) stealStroke.Thickness = 1 stealStroke.Parent = stealFrame local stealLabel = Instance.new("TextLabel") stealLabel.Size = UDim2.new(0, 100, 1, 0) stealLabel.Position = UDim2.new(0, 12, 0, 0) stealLabel.BackgroundTransparency = 1 stealLabel.Text = "Auto Steal" stealLabel.TextColor3 = Color3.fromRGB(255, 215, 0) stealLabel.Font = Enum.Font.Gotham stealLabel.TextSize = 13 stealLabel.TextXAlignment = Enum.TextXAlignment.Left stealLabel.Parent = stealFrame local stealToggle = Instance.new("TextButton") stealToggle.Size = UDim2.new(0, 55, 0, 28) stealToggle.Position = UDim2.new(1, -65, 0.5, -14) stealToggle.BackgroundColor3 = Color3.fromRGB(40, 40, 40) stealToggle.Text = "ON" stealToggle.TextColor3 = Color3.fromRGB(255, 215, 0) stealToggle.Font = Enum.Font.GothamBold stealToggle.TextSize = 12 stealToggle.BorderSizePixel = 0 stealToggle.Parent = stealFrame local stealToggleCorner = Instance.new("UICorner") stealToggleCorner.CornerRadius = UDim.new(1, 0) stealToggleCorner.Parent = stealToggle -- Auto Steal UI Button Color (starts ON) stealToggle.BackgroundColor3 = Color3.fromRGB(0, 120, 0) -- ========== FUNCTIONS ========== -- Desync function local function updateDesync() if desyncEnabled then if desyncConnection then desyncConnection:Disconnect() end desyncConnection = RunService.RenderStepped:Connect(function() if character and character.PrimaryPart then local randomOffset = Vector3.new( math.sin(tick() * 30) * 0.05, 0, math.cos(tick() * 30) * 0.05 ) character:SetPrimaryPartCFrame(character.PrimaryPart.CFrame + randomOffset) end end) else if desyncConnection then desyncConnection:Disconnect() desyncConnection = nil end end end -- Speed Boost function local function updateSpeedBoost() if speedBoostEnabled and humanoid then humanoid.WalkSpeed = speedBoostValue elseif humanoid and not speedBoostEnabled then humanoid.WalkSpeed = 16 end end -- High Jump function local function updateHighJump() if highJumpEnabled and humanoid then if originalJumpPower == nil then originalJumpPower = humanoid.JumpPower end humanoid.JumpPower = highJumpPower elseif humanoid and not highJumpEnabled and originalJumpPower then humanoid.JumpPower = originalJumpPower end end -- ========== AUTO STEAL CORE ========== local function GetNearestPrompt() local char = player.Character if not char then return end local hrp = char:FindFirstChild("HumanoidRootPart") if not hrp then return end local closest local dist = autoStealConfig.RADIUS for _, obj in ipairs(Workspace:GetDescendants()) do if obj:IsA("ProximityPrompt") and obj.Enabled then local parent = obj.Parent if parent and (parent:IsA("BasePart") or parent:IsA("Attachment")) then local pos = parent:IsA("Attachment") and parent.WorldPosition or parent.Position local mag = (hrp.Position - pos).Magnitude if mag < dist then dist = mag closest = obj end end end end return closest end -- Auto Steal loop RunService.Heartbeat:Connect(function() if not autoStealConfig.AUTO_STEAL then return end if autoStealBusy then return end local prompt = GetNearestPrompt() if prompt then autoStealBusy = true task.spawn(function() if fireproximityprompt then fireproximityprompt(prompt, 1, autoStealConfig.HOLD_TIME) else prompt:InputHoldBegin() task.wait(autoStealConfig.HOLD_TIME) prompt:InputHoldEnd() end task.wait(0.15) autoStealBusy = false end) end end) -- ========== TOGGLE BUTTON LOGIC ========== -- Desync Toggle desyncToggle.MouseButton1Click:Connect(function() desyncEnabled = not desyncEnabled desyncToggle.Text = desyncEnabled and "ON" or "OFF" desyncToggle.BackgroundColor3 = desyncEnabled and Color3.fromRGB(255, 215, 0) or Color3.fromRGB(40, 40, 40) desyncToggle.TextColor3 = desyncEnabled and Color3.fromRGB(0, 0, 0) or Color3.fromRGB(255, 215, 0) updateDesync() end) -- Speed Boost Toggle speedToggle.MouseButton1Click:Connect(function() speedBoostEnabled = not speedBoostEnabled speedToggle.Text = speedBoostEnabled and "ON" or "OFF" speedToggle.BackgroundColor3 = speedBoostEnabled and Color3.fromRGB(255, 215, 0) or Color3.fromRGB(40, 40, 40) speedToggle.TextColor3 = speedBoostEnabled and Color3.fromRGB(0, 0, 0) or Color3.fromRGB(255, 215, 0) updateSpeedBoost() end) -- Speed Input speedInput.FocusLost:Connect(function(enterPressed) local newValue = tonumber(speedInput.Text) if newValue then speedBoostValue = math.clamp(newValue, 16, 250) speedInput.Text = tostring(speedBoostValue) if speedBoostEnabled then updateSpeedBoost() end else speedInput.Text = tostring(speedBoostValue) end end) -- High Jump Toggle jumpToggle.MouseButton1Click:Connect(function() highJumpEnabled = not highJumpEnabled jumpToggle.Text = highJumpEnabled and "ON" or "OFF" jumpToggle.BackgroundColor3 = highJumpEnabled and Color3.fromRGB(255, 215, 0) or Color3.fromRGB(40, 40, 40) jumpToggle.TextColor3 = highJumpEnabled and Color3.fromRGB(0, 0, 0) or Color3.fromRGB(255, 215, 0) updateHighJump() end) -- Jump Power Input jumpInput.FocusLost:Connect(function(enterPressed) local newValue = tonumber(jumpInput.Text) if newValue then highJumpPower = math.clamp(newValue, 50, 500) jumpInput.Text = tostring(highJumpPower) if highJumpEnabled then updateHighJump() end else jumpInput.Text = tostring(highJumpPower) end end) -- Auto Steal Toggle stealToggle.MouseButton1Click:Connect(function() autoStealConfig.AUTO_STEAL = not autoStealConfig.AUTO_STEAL if autoStealConfig.AUTO_STEAL then stealToggle.Text = "ON" stealToggle.BackgroundColor3 = Color3.fromRGB(0, 120, 0) else stealToggle.Text = "OFF" stealToggle.BackgroundColor3 = Color3.fromRGB(40, 40, 40) end stealToggle.TextColor3 = Color3.fromRGB(255, 215, 0) end) -- ========== CHARACTER RESPAWN HANDLER ========== local function onCharacterAdded(newChar) character = newChar humanoid = character:WaitForChild("Humanoid") originalJumpPower = nil updateSpeedBoost() updateHighJump() end player.CharacterAdded:Connect(onCharacterAdded) -- ========== INITIALIZE ========== updateSpeedBoost() updateHighJump() -- Make GUI draggable local guiDragging = false local guiDragInput, guiDragStart, guiStartPos titleBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then guiDragging = true guiDragStart = input.Position guiStartPos = mainFrame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then guiDragging = false end end) end end) titleBar.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then guiDragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == guiDragInput and guiDragging then local delta = input.Position - guiDragStart mainFrame.Position = UDim2.new(guiStartPos.X.Scale, guiStartPos.X.Offset + delta.X, guiStartPos.Y.Scale, guiStartPos.Y.Offset + delta.Y) end end) print("Illustrator Hub Helper Loaded Successfully!") print("Features: Desync | Speed Boost | High Jump | Auto Steal")