
Key Required VerifiedUniversal

local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local rootPart = character:WaitForChild("HumanoidRootPart")
local flying = false
local noclip = false
local infJump = false
local currentSpeed = 16
local flySpeed = 50
local increment = 10
local bodyVelocity, bodyGyro
local camera = workspace.CurrentCamera
local UIS = game:GetService("UserInputService")
local RS = game:GetService("RunService")
-- GUI
local screenGui = Instance.new("ScreenGui")
screenGui.ResetOnSpawn = false
screenGui.Parent = player.PlayerGui
-- Logo button (image)
local logoBtn = Instance.new("ImageButton")
logoBtn.Size = UDim2.new(0, 38, 0, 38)
logoBtn.Position = UDim2.new(0, 20, 0.5, -19)
logoBtn.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
logoBtn.Image = "rbxassetid://83542200342727"
logoBtn.BorderSizePixel = 0
logoBtn.Parent = screenGui
Instance.new("UICorner", logoBtn).CornerRadius = UDim.new(0, 10)
local logoStroke = Instance.new("UIStroke")
logoStroke.Color = Color3.fromRGB(100, 180, 255)
logoStroke.Thickness = 2
logoStroke.Parent = logoBtn
local logoDragging = false
local logoDragStart, logoStartPos
logoBtn.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch or
input.UserInputType == Enum.UserInputType.MouseButton1 then
logoDragging = true
logoDragStart = input.Position
logoStartPos = logoBtn.Position
end
end)
logoBtn.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch or
input.UserInputType == Enum.UserInputType.MouseButton1 then
logoDragging = false
end
end)
-- Main frame
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 220, 0, 290)
frame.Position = UDim2.new(0.5, -110, 0, 20)
frame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
frame.BackgroundTransparency = 0.2
frame.BorderSizePixel = 0
frame.Parent = screenGui
Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 16)
local stroke = Instance.new("UIStroke")
stroke.Color = Color3.fromRGB(60, 60, 60)
stroke.Thickness = 1.5
stroke.Parent = frame
local header = Instance.new("TextLabel")
header.Size = UDim2.new(1, 0, 0, 30)
header.Position = UDim2.new(0, 0, 0, 5)
header.BackgroundTransparency = 1
header.TextColor3 = Color3.fromRGB(255, 255, 255)
header.Text = "🎮 Crooksa Hub"
header.Font = Enum.Font.GothamBold
header.TextSize = 14
header.Parent = frame
local function makeDivider(yPos)
local d = Instance.new("Frame")
d.Size = UDim2.new(0, 190, 0, 1)
d.Position = UDim2.new(0.5, -95, 0, yPos)
d.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
d.BorderSizePixel = 0
d.Parent = frame
end
makeDivider(35)
makeDivider(82)
makeDivider(155)
makeDivider(182)
makeDivider(222)
local function makeToggleButton(text, yPos)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0, 190, 0, 30)
btn.Position = UDim2.new(0.5, -95, 0, yPos)
btn.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
btn.TextColor3 = Color3.fromRGB(180, 180, 180)
btn.Text = text .. ": OFF"
btn.Font = Enum.Font.GothamBold
btn.TextSize = 13
btn.BorderSizePixel = 0
btn.Parent = frame
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8)
return btn
end
local function makeAdjustRow(labelText, yPos, defaultVal)
local label = Instance.new("TextLabel")
label.Size = UDim2.new(0, 190, 0, 18)
label.Position = UDim2.new(0.5, -95, 0, yPos)
label.BackgroundTransparency = 1
label.TextColor3 = Color3.fromRGB(180, 180, 180)
label.Text = labelText .. " | " .. defaultVal
label.Font = Enum.Font.GothamBold
label.TextSize = 12
label.Parent = frame
local minus = Instance.new("TextButton")
minus.Size = UDim2.new(0, 45, 0, 26)
minus.Position = UDim2.new(0.5, -95, 0, yPos + 20)
minus.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
minus.TextColor3 = Color3.new(1, 1, 1)
minus.Text = "−"
minus.Font = Enum.Font.GothamBold
minus.TextSize = 18
minus.BorderSizePixel = 0
minus.Parent = frame
Instance.new("UICorner", minus).CornerRadius = UDim.new(0, 8)
local display = Instance.new("TextLabel")
display.Size = UDim2.new(0, 80, 0, 26)
display.Position = UDim2.new(0.5, -40, 0, yPos + 20)
display.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
display.TextColor3 = Color3.fromRGB(100, 180, 255)
display.Text = tostring(defaultVal)
display.Font = Enum.Font.GothamBold
display.TextSize = 14
display.BorderSizePixel = 0
display.Parent = frame
Instance.new("UICorner", display).CornerRadius = UDim.new(0, 8)
local plus = Instance.new("TextButton")
plus.Size = UDim2.new(0, 45, 0, 26)
plus.Position = UDim2.new(0.5, 50, 0, yPos + 20)
plus.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
plus.TextColor3 = Color3.new(1, 1, 1)
plus.Text = "+"
plus.Font = Enum.Font.GothamBold
plus.TextSize = 18
plus.BorderSizePixel = 0
plus.Parent = frame
Instance.new("UICorner", plus).CornerRadius = UDim.new(0, 8)
return label, minus, display, plus
end
local flyBtn = makeToggleButton("✈ Fly", 45)
local flySpeedLabel, flyMinus, flyDisplay, flyPlus = makeAdjustRow("✈ Fly Speed", 88, flySpeed)
local noclipBtn = makeToggleButton("👻 Noclip", 160)
local infJumpBtn = makeToggleButton("🦘 Inf Jump", 190)
local walkSpeedLabel, walkMinus, walkDisplay, walkPlus = makeAdjustRow("⚡ Walk Speed", 230, currentSpeed)
flyMinus.MouseButton1Click:Connect(function()
flySpeed = math.clamp(flySpeed - 10, 10, 500)
flyDisplay.Text = tostring(flySpeed)
flySpeedLabel.Text = "✈ Fly Speed | " .. flySpeed
end)
flyPlus.MouseButton1Click:Connect(function()
flySpeed = math.clamp(flySpeed + 10, 10, 500)
flyDisplay.Text = tostring(flySpeed)
flySpeedLabel.Text = "✈ Fly Speed | " .. flySpeed
end)
walkMinus.MouseButton1Click:Connect(function()
currentSpeed = math.clamp(currentSpeed - increment, 16, 500)
humanoid.WalkSpeed = currentSpeed
walkDisplay.Text = tostring(currentSpeed)
walkSpeedLabel.Text = "⚡ Walk Speed | " .. currentSpeed
end)
walkPlus.MouseButton1Click:Connect(function()
currentSpeed = math.clamp(currentSpeed + increment, 16, 500)
humanoid.WalkSpeed = currentSpeed
walkDisplay.Text = tostring(currentSpeed)
walkSpeedLabel.Text = "⚡ Walk Speed | " .. currentSpeed
end)
local upButton = Instance.new("TextButton")
upButton.Size = UDim2.new(0, 60, 0, 60)
upButton.Position = UDim2.new(1, -150, 1, -140)
upButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
upButton.TextColor3 = Color3.new(1, 1, 1)
upButton.Text = "▲"
upButton.Font = Enum.Font.GothamBold
upButton.TextSize = 22
upButton.BorderSizePixel = 0
upButton.Visible = false
upButton.Parent = screenGui
Instance.new("UICorner", upButton).CornerRadius = UDim.new(0, 10)
local downButton = Instance.new("TextButton")
downButton.Size = UDim2.new(0, 60, 0, 60)
downButton.Position = UDim2.new(1, -150, 1, -70)
downButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
downButton.TextColor3 = Color3.new(1, 1, 1)
downButton.Text = "▼"
downButton.Font = Enum.Font.GothamBold
downButton.TextSize = 22
downButton.BorderSizePixel = 0
downButton.Visible = false
downButton.Parent = screenGui
Instance.new("UICorner", downButton).CornerRadius = UDim.new(0, 10)
local goingUp = false
local goingDown = false
upButton.MouseButton1Down:Connect(function() goingUp = true end)
upButton.MouseButton1Up:Connect(function() goingUp = false end)
downButton.MouseButton1Down:Connect(function() goingDown = true end)
downButton.MouseButton1Up:Connect(function() goingDown = false end)
UIS.TouchStarted:Connect(function(touch, processed)
if processed then
local pos = touch.Position
local function hitting(btn)
local p = btn.AbsolutePosition
local s = btn.AbsoluteSize
return pos.X >= p.X and pos.X <= p.X + s.X and pos.Y >= p.Y and pos.Y <= p.Y + s.Y
end
if hitting(upButton) then goingUp = true end
if hitting(downButton) then goingDown = true end
end
end)
UIS.TouchEnded:Connect(function()
goingUp = false
goingDown = false
end)
local function startFly()
flying = true
flyBtn.Text = "✈ Fly: ON"
flyBtn.TextColor3 = Color3.fromRGB(100, 180, 255)
humanoid.PlatformStand = true
upButton.Visible = true
downButton.Visible = true
bodyVelocity = Instance.new("BodyVelocity")
bodyVelocity.Velocity = Vector3.zero
bodyVelocity.MaxForce = Vector3.new(1e5, 1e5, 1e5)
bodyVelocity.Parent = rootPart
bodyGyro = Instance.new("BodyGyro")
bodyGyro.MaxTorque = Vector3.new(1e5, 1e5, 1e5)
bodyGyro.CFrame = camera.CFrame
bodyGyro.Parent = rootPart
end
local function stopFly()
flying = false
flyBtn.Text = "✈ Fly: OFF"
flyBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
humanoid.PlatformStand = false
upButton.Visible = false
downButton.Visible = false
goingUp = false
goingDown = false
if bodyVelocity then bodyVelocity:Destroy() end
if bodyGyro then bodyGyro:Destroy() end
end
flyBtn.MouseButton1Click:Connect(function()
if flying then stopFly() else startFly() end
end)
noclipBtn.MouseButton1Click:Connect(function()
noclip = not noclip
if noclip then
noclipBtn.Text = "👻 Noclip: ON"
noclipBtn.TextColor3 = Color3.fromRGB(100, 180, 255)
else
noclipBtn.Text = "👻 Noclip: OFF"
noclipBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
for _, part in pairs(character:GetDescendants()) do
if part:IsA("BasePart") then part.CanCollide = true end
end
end
end)
infJumpBtn.MouseButton1Click:Connect(function()
infJump = not infJump
if infJump then
infJumpBtn.Text = "🦘 Inf Jump: ON"
infJumpBtn.TextColor3 = Color3.fromRGB(100, 180, 255)
else
infJumpBtn.Text = "🦘 Inf Jump: OFF"
infJumpBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
end
end)
UIS.JumpRequest:Connect(function()
if infJump and humanoid then
humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
end
end)
local guiOpen = true
logoBtn.MouseButton1Click:Connect(function()
guiOpen = not guiOpen
frame.Visible = guiOpen
end)
local dragging = false
local dragStart, startPos
frame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch or
input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = input.Position
startPos = frame.Position
end
end)
frame.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch or
input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = false
end
end)
UIS.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch or
input.UserInputType == Enum.UserInputType.MouseMove then
if logoDragging then
local delta = input.Position - logoDragStart
logoBtn.Position = UDim2.new(
logoStartPos.X.Scale, logoStartPos.X.Offset + delta.X,
logoStartPos.Y.Scale, logoStartPos.Y.Offset + delta.Y
)
end
if dragging then
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
end
end)
RS.RenderStepped:Connect(function()
if noclip then
for _, part in pairs(character:GetDescendants()) do
if part:IsA("BasePart") then part.CanCollide = false end
end
end
if flying then
bodyGyro.CFrame = camera.CFrame
local moveVector = Vector3.zero
local cf = camera.CFrame
if UIS:IsKeyDown(Enum.KeyCode.W) then moveVector = moveVector + cf.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.S) then moveVector = moveVector - cf.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.A) then moveVector = moveVector - cf.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.D) then moveVector = moveVector + cf.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.E) or UIS:IsKeyDown(Enum.KeyCode.Space) then
moveVector = moveVector + Vector3.new(0, 1, 0)
end
if UIS:IsKeyDown(Enum.KeyCode.Q) then
moveVector = moveVector - Vector3.new(0, 1, 0)
end
local mobileMove = humanoid.MoveDirection
if mobileMove.Magnitude > 0 then
moveVector = moveVector + Vector3.new(mobileMove.X, 0, mobileMove.Z)
end
if goingUp then moveVector = moveVector + Vector3.new(0, 1, 0) end
if goingDown then moveVector = moveVector - Vector3.new(0, 1, 0) end
bodyVelocity.Velocity = moveVector.Magnitude > 0 and moveVector.Unit * flySpeed or Vector3.zero
end
end)
player.CharacterAdded:Connect(function(newChar)
character = newChar
humanoid = newChar:WaitForChild("Humanoid")
rootPart = newChar:WaitForChild("HumanoidRootPart")
humanoid.WalkSpeed = currentSpeed
flying = false
noclip = false
infJump = false
flyBtn.Text = "✈ Fly: OFF"
flyBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
noclipBtn.Text = "👻 Noclip: OFF"
noclipBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
infJumpBtn.Text = "🦘 Inf Jump: OFF"
infJumpBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
upButton.Visible = false
downButton.Visible = false
end)No comments yet for this script.



