
KeylessUniversal

--[[
Project: StepixHub v4.0 - Universal Mega Edition (99+ Games)
Author: Stepix | Status: KEYLESS & SECURE
--]]
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
local Lighting = game:GetService("Lighting")
local CoreGui = game:GetService("CoreGui")
local LocalPlayer = Players.LocalPlayer
local Camera = Workspace.CurrentCamera
local PlayerGui = LocalPlayer:FindFirstChild("PlayerGui") or CoreGui
-- Cleanup old GUI
if PlayerGui:FindFirstChild("StepixHub_UniversalV4") then
PlayerGui.StepixHub_UniversalV4:Destroy()
end
-- Main ScreenGui
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "StepixHub_UniversalV4"
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = PlayerGui
-- Main Frame (Luxurious UI)
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Parent = ScreenGui
MainFrame.Size = UDim2.new(0, 580, 0, 440)
MainFrame.Position = UDim2.new(0.5, -290, 0.5, -220)
MainFrame.BackgroundColor3 = Color3.fromRGB(12, 12, 18)
MainFrame.BorderSizePixel = 0
local MainCorner = Instance.new("UICorner")
MainCorner.CornerRadius = UDim.new(0, 12)
MainCorner.Parent = MainFrame
local MainStroke = Instance.new("UIStroke")
MainStroke.Color = Color3.fromRGB(130, 80, 240)
MainStroke.Thickness = 2
MainStroke.Parent = MainFrame
-- Title Bar
local TitleBar = Instance.new("Frame")
TitleBar.Parent = MainFrame
TitleBar.Size = UDim2.new(1, 0, 0, 42)
TitleBar.BackgroundColor3 = Color3.fromRGB(18, 18, 28)
TitleBar.BorderSizePixel = 0
Instance.new("UICorner", TitleBar).CornerRadius = UDim.new(0, 12)
local TitleLabel = Instance.new("TextLabel")
TitleLabel.Parent = TitleBar
TitleLabel.Size = UDim2.new(1, -90, 1, 0)
TitleLabel.Position = UDim2.new(0, 16, 0, 0)
TitleLabel.BackgroundTransparency = 1
TitleLabel.Text = "⚡ StepixHub v4.0 — Universal Mega Hub [99+ Games]"
TitleLabel.TextColor3 = Color3.fromRGB(235, 235, 255)
TitleLabel.Font = Enum.Font.GothamBold
TitleLabel.TextSize = 13
TitleLabel.TextXAlignment = Enum.TextXAlignment.Left
-- Close & Minimize
local CloseBtn = Instance.new("TextButton")
CloseBtn.Parent = TitleBar
CloseBtn.Size = UDim2.new(0, 28, 0, 28)
CloseBtn.Position = UDim2.new(1, -36, 0.5, -14)
CloseBtn.BackgroundColor3 = Color3.fromRGB(230, 50, 50)
CloseBtn.Text = "✕"
CloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
CloseBtn.Font = Enum.Font.GothamBold
CloseBtn.TextSize = 12
Instance.new("UICorner", CloseBtn).CornerRadius = UDim.new(0, 6)
local MinBtn = Instance.new("TextButton")
MinBtn.Parent = TitleBar
MinBtn.Size = UDim2.new(0, 28, 0, 28)
MinBtn.Position = UDim2.new(1, -70, 0.5, -14)
MinBtn.BackgroundColor3 = Color3.fromRGB(240, 160, 20)
MinBtn.Text = "🗕"
MinBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
MinBtn.Font = Enum.Font.GothamBold
MinBtn.TextSize = 12
Instance.new("UICorner", MinBtn).CornerRadius = UDim.new(0, 6)
-- Draggable window
local dragging, dragInput, mousePos, framePos
TitleBar.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
mousePos = input.Position
framePos = MainFrame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then dragging = false end
end)
end
end)
TitleBar.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
dragInput = input
end
end)
UserInputService.InputChanged:Connect(function(input)
if input == dragInput and dragging then
local delta = input.Position - mousePos
MainFrame.Position = UDim2.new(framePos.X.Scale, framePos.X.Offset + delta.X, framePos.Y.Scale, framePos.Y.Offset + delta.Y)
end
end)
-- Sidebar Tabs
local TabsBar = Instance.new("Frame")
TabsBar.Parent = MainFrame
TabsBar.Size = UDim2.new(0, 145, 1, -54)
TabsBar.Position = UDim2.new(0, 8, 0, 46)
TabsBar.BackgroundColor3 = Color3.fromRGB(15, 15, 22)
TabsBar.BorderSizePixel = 0
Instance.new("UICorner", TabsBar).CornerRadius = UDim.new(0, 8)
local TabsLayout = Instance.new("UIListLayout")
TabsLayout.Parent = TabsBar
TabsLayout.SortOrder = Enum.SortOrder.LayoutOrder
TabsLayout.Padding = UDim.new(0, 5)
-- Pages Container
local PagesContainer = Instance.new("Frame")
PagesContainer.Parent = MainFrame
PagesContainer.Size = UDim2.new(1, -162, 1, -54)
PagesContainer.Position = UDim2.new(0, 158, 0, 46)
PagesContainer.BackgroundTransparency = 1
local pages = {}
local tabButtons = {}
local function createTab(name)
local btn = Instance.new("TextButton")
btn.Parent = TabsBar
btn.Size = UDim2.new(1, 0, 0, 38)
btn.BackgroundColor3 = Color3.fromRGB(20, 20, 30)
btn.BorderSizePixel = 0
btn.Font = Enum.Font.GothamBold
btn.Text = name
btn.TextColor3 = Color3.fromRGB(150, 150, 180)
btn.TextSize = 11
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6)
local page = Instance.new("ScrollingFrame")
page.Parent = PagesContainer
page.Size = UDim2.new(1, 0, 1, 0)
page.BackgroundTransparency = 1
page.BorderSizePixel = 0
page.CanvasSize = UDim2.new(0, 0, 0, 650)
page.ScrollBarThickness = 3
page.Visible = false
local layout = Instance.new("UIListLayout")
layout.Parent = page
layout.SortOrder = Enum.SortOrder.LayoutOrder
layout.Padding = UDim.new(0, 6)
table.insert(pages, page)
table.insert(tabButtons, btn)
btn.MouseButton1Click:Connect(function()
for _, p in ipairs(pages) do p.Visible = false end
for _, b in ipairs(tabButtons) do
b.BackgroundColor3 = Color3.fromRGB(20, 20, 30)
b.TextColor3 = Color3.fromRGB(150, 150, 180)
end
page.Visible = true
btn.BackgroundColor3 = Color3.fromRGB(90, 50, 200)
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
end)
return page
end
-- Tabs creation
local CombatTab = createTab("🎯 Combat & Aim")
local PlayerTab = createTab("🏃 Player & Move")
local VisualTab = createTab("👁️ ESP & Visuals")
local WorldTab = createTab("🌍 World & Troll")
local SettingsTab = createTab("⚙️ Settings & Misc")
pages[1].Visible = true
tabButtons[1].BackgroundColor3 = Color3.fromRGB(90, 50, 200)
tabButtons[1].TextColor3 = Color3.fromRGB(255, 255, 255)
-- Helper Functions for UI elements
local function addToggle(tab, name, callback)
local btn = Instance.new("TextButton")
btn.Parent = tab
btn.Size = UDim2.new(1, 0, 0, 34)
btn.BackgroundColor3 = Color3.fromRGB(22, 22, 34)
btn.BorderSizePixel = 0
btn.Font = Enum.Font.GothamMedium
btn.Text = " [ OFF ] " .. name
btn.TextColor3 = Color3.fromRGB(170, 170, 195)
btn.TextSize, btn.TextXAlignment = 11, Enum.TextXAlignment.Left
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6)
local active = false
btn.MouseButton1Click:Connect(function()
active = not active
if active then
btn.BackgroundColor3 = Color3.fromRGB(40, 170, 95)
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
btn.Text = " [ ON ] " .. name
else
btn.BackgroundColor3 = Color3.fromRGB(22, 22, 34)
btn.TextColor3 = Color3.fromRGB(170, 170, 195)
btn.Text = " [ OFF ] " .. name
end
callback(active)
end)
end
local function addSlider(tab, name, defaultVal, minVal, maxVal, callback)
local container = Instance.new("Frame")
container.Parent = tab
container.Size = UDim2.new(1, 0, 0, 50)
container.BackgroundColor3 = Color3.fromRGB(22, 22, 34)
container.BorderSizePixel = 0
Instance.new("UICorner", container).CornerRadius = UDim.new(0, 6)
local label = Instance.new("TextLabel")
label.Parent = container
label.Size = UDim2.new(1, -12, 0, 22)
label.Position = UDim2.new(0, 8, 0, 4)
label.BackgroundTransparency = 1
label.Font = Enum.Font.GothamBold
label.Text = name .. ": " .. tostring(defaultVal)
label.TextColor3 = Color3.fromRGB(200, 200, 220)
label.TextSize = 11
label.TextXAlignment = Enum.TextXAlignment.Left
local valBox = Instance.new("TextBox")
valBox.Parent = container
valBox.Size = UDim2.new(0, 70, 0, 20)
valBox.Position = UDim2.new(1, -78, 0, 6)
valBox.BackgroundColor3 = Color3.fromRGB(30, 30, 45)
valBox.BorderSizePixel = 0
valBox.Font = Enum.Font.GothamBold
valBox.Text = tostring(defaultVal)
valBox.TextColor3 = Color3.fromRGB(0, 255, 150)
valBox.TextSize = 11
Instance.new("UICorner", valBox).CornerRadius = UDim.new(0, 4)
valBox.FocusLost:Connect(function()
local val = tonumber(valBox.Text)
if val then
val = math.clamp(val, minVal, maxVal)
valBox.Text = tostring(val)
label.Text = name .. ": " .. tostring(val)
callback(val)
else
valBox.Text = tostring(defaultVal)
end
end)
end
local function addButton(tab, name, callback)
local btn = Instance.new("TextButton")
btn.Parent = tab
btn.Size = UDim2.new(1, 0, 0, 34)
btn.BackgroundColor3 = Color3.fromRGB(32, 32, 48)
btn.BorderSizePixel = 0
btn.Font = Enum.Font.GothamMedium
btn.Text = " ⚡ " .. name
btn.TextColor3 = Color3.fromRGB(230, 230, 250)
btn.TextSize, btn.TextXAlignment = 11, Enum.TextXAlignment.Left
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6)
btn.MouseButton1Click:Connect(callback)
end
-- === 1. COMBAT & AIM TAB ===
_G.AimAssist = false
_G.AimSmooth = 0.15
_G.FovSize = 150
addToggle(CombatTab, "AimAssist (Smooth Lock to Nearest Player)", function(state)
_G.AimAssist = state
end)
addSlider(CombatTab, "AimAssist Smoothness", 0.15, 0.01, 1, function(val)
_G.AimSmooth = val
end)
addToggle(CombatTab, "HitBox Expander (Enlarge Enemy Hitboxes)", function(state)
_G.HitBox = state
task.spawn(function()
while _G.HitBox do
pcall(function()
for _, p in ipairs(Players:GetPlayers()) do
if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
p.Character.HumanoidRootPart.Size = Vector3.new(5, 5, 5)
p.Character.HumanoidRootPart.Transparency = 0.7
p.Character.HumanoidRootPart.CanCollide = false
end
end
end)
task.wait(1)
end
end)
end)
-- Main AimAssist Loop
RunService.RenderStepped:Connect(function()
if _G.AimAssist then
pcall(function()
local closestTarget = nil
local shortestDist = math.huge
local mousePos = UserInputService:GetMouseLocation()
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("Head") and player.Character:FindFirstChild("Humanoid") and player.Character.Humanoid.Health > 0 then
local head = player.Character.Head
local screenPos, onScreen = Camera:WorldToViewportPoint(head.Position)
if onScreen then
local dist = (Vector2.new(screenPos.X, screenPos.Y) - mousePos).Magnitude
if dist < shortestDist and dist < 300 then
shortestDist = dist
closestTarget = head
end
end
end
end
if closestTarget then
local targetCF = CFrame.new(Camera.CFrame.Position, closestTarget.Position)
Camera.CFrame = Camera.CFrame:Lerp(targetCF, _G.AimSmooth)
end
end)
end
end)
-- === 2. PLAYER & MOVE TAB ===
_G.SpeedVal = 16
_G.JumpVal = 50
addToggle(PlayerTab, "Enable Custom WalkSpeed", function(state)
_G.CustomSpeed = state
task.spawn(function()
while _G.CustomSpeed do
pcall(function() LocalPlayer.Character.Humanoid.WalkSpeed = _G.SpeedVal end)
task.wait(0.2)
end
pcall(function() LocalPlayer.Character.Humanoid.WalkSpeed = 16 end)
end)
end)
addSlider(PlayerTab, "WalkSpeed Multiplier", 16, 16, 250, function(val)
_G.SpeedVal = val
end)
addToggle(PlayerTab, "Enable Custom JumpPower", function(state)
_G.CustomJump = state
task.spawn(function()
while _G.CustomJump do
pcall(function() LocalPlayer.Character.Humanoid.JumpPower = _G.JumpVal end)
task.wait(0.2)
end
pcall(function() LocalPlayer.Character.Humanoid.JumpPower = 50 end)
end)
end)
addSlider(PlayerTab, "JumpPower Multiplier", 50, 50, 300, function(val)
_G.JumpVal = val
end)
addToggle(PlayerTab, "Infinite Jump (Fly / Space to rise)", function(state)
_G.InfJump = state
end)
UserInputService.JumpRequest:Connect(function()
if _G.InfJump then
pcall(function() LocalPlayer.Character.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end)
end
end)
addToggle(PlayerTab, "Noclip (Walk through walls)", function(state)
_G.Noclip = state
RunService.Stepped:Connect(function()
if _G.Noclip and LocalPlayer.Character then
for _, part in ipairs(LocalPlayer.Character:GetDescendants()) do
if part:IsA("BasePart") then part.CanCollide = false end
end
end
end)
end)
-- === 3. ESP & VISUALS TAB ===
addToggle(VisualTab, "Player ESP (Names & Health Bars)", function(state)
_G.PlayerESP = state
task.spawn(function()
while _G.PlayerESP do
pcall(function()
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("Head") then
local head = player.Character.Head
if not head:FindFirstChild("StepixESP") then
local bg = Instance.new("BillboardGui")
bg.Name = "StepixESP"
bg.Size = UDim2.new(0, 120, 0, 40)
bg.StudsOffset = Vector3.new(0, 2.5, 0)
bg.AlwaysOnTop = true
bg.Parent = head
local txt = Instance.new("TextLabel")
txt.Size = UDim2.fromScale(1, 1)
txt.BackgroundTransparency = 1
txt.TextColor3 = Color3.fromRGB(255, 50, 50)
txt.TextScaled = true
txt.Font = Enum.Font.GothamBold
txt.Text = player.Name
txt.Parent = bg
end
end
end
end)
task.wait(2)
end
pcall(function()
for _, p in ipairs(Players:GetPlayers()) do
if p.Character and p.Character:FindFirstChild("Head") and p.Character.Head:FindFirstChild("StepixESP") then
p.Character.Head.StepixESP:Destroy()
end
end
end)
end)
end)
addToggle(VisualTab, "FullBright (Remove Darkness)", function(state)
Lighting.Brightness = state and 2 or 1
Lighting.GlobalShadows = not state
Lighting.ClockTime = state and 14 or 12
end)
addSlider(VisualTab, "Field of View (FOV Changer)", 70, 70, 120, function(val)
Camera.FieldOfView = val
end)
-- === 4. WORLD & TROLL TAB ===
addButton(WorldTab, "Blink Teleport (Click to TP with Tool)", function()
pcall(function()
local mouse = LocalPlayer:GetMouse()
local tool = Instance.new("Tool")
tool.RequiresHandle = false
tool.Name = "Stepix Blink Tool"
tool.Activated:Connect(function()
if mouse.Target and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(mouse.Hit.Position + Vector3.new(0, 3, 0))
end
end)
tool.Parent = LocalPlayer.Backpack
end)
end)
addToggle(WorldTab, "Spinbot (Spin fast around)", function(state)
_G.Spinning = state
task.spawn(function()
while _G.Spinning do
pcall(function()
local root = LocalPlayer.Character.HumanoidRootPart
root.CFrame = root.CFrame * CFrame.Angles(0, math.rad(45), 0)
end)
RunService.RenderStepped:Wait()
end
end)
end)
addButton(WorldTab, "Rejoin Server (Quick Restart)", function()
game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId, game.JobId, LocalPlayer)
end)
-- === 5. SETTINGS & MISC TAB ===
addButton(SettingsTab, "Potato Mode (Boost FPS / Remove Lag)", function()
pcall(function()
settings().Rendering.QualityLevel = Enum.QualityLevel.Level01
for _, v in ipairs(Lighting:GetChildren()) do
if v:IsA("PostEffect") or v:IsA("Sky") then v:Destroy() end
end
for _, part in ipairs(Workspace:GetDescendants()) do
if part:IsA("BasePart") then
part.Material = Enum.Material.SmoothPlastic
part.Reflectance = 0
end
end
end)
end)
addButton(SettingsTab, "Anti-AFK (Prevent Kick)", function()
pcall(function()
local vu = game:GetService("VirtualUser")
LocalPlayer.Idled:Connect(function()
vu:Button2Down(Vector2.new(0,0), Camera.CFrame)
task.wait(1)
vu:Button2Up(Vector2.new(0,0), Camera.CFrame)
end)
end)
end)
-- UI Closing & Minimizing logic
CloseBtn.MouseButton1Click:Connect(function()
ScreenGui:Destroy()
end)
MinBtn.MouseButton1Click:Connect(function()
MainFrame.Visible = false
local ico = Instance.new("TextButton")
ico.Parent = ScreenGui
ico.Size = UDim2.new(0, 44, 0, 44)
ico.Position = UDim2.new(0, 15, 0, 15)
ico.BackgroundColor3 = Color3.fromRGB(18, 18, 28)
ico.Text = "S"
ico.TextColor3 = Color3.fromRGB(255, 255, 255)
ico.Font = Enum.Font.GothamBold
ico.TextSize = 22
Instance.new("UICorner", ico).CornerRadius = UDim.new(0, 10)
Instance.new("UIStroke", ico).Color = Color3.fromRGB(130, 80, 240)
ico.MouseButton1Click:Connect(function()
MainFrame.Visible = true
ico:Destroy()
end)
end)
print("StepixHub v4.0 Universal Mega loaded successfully!")No comments yet for this script.



