
Keyless
Auto win keyless
Lua Script•214 lines (7513 chars)
-- auto win (end) - HairWorld StageX12
local env = (getgenv and getgenv()) or _G
if env.AutoWinCleanup then pcall(env.AutoWinCleanup) end
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local TS = game:GetService("TweenService")
local WS = game:GetService("Workspace")
local LP = Players.LocalPlayer
local alive, loopOn = true, false
local conns = {}
local function track(c) table.insert(conns, c) return c end
-- ===== finding the pad =====
local function findPad()
local o = WS
for _, name in ipairs({"HairWorld", "StageX12", "WinPads", "WinPad"}) do
o = o and o:FindFirstChild(name)
end
return o
end
local function padPart(pad)
if pad:IsA("BasePart") then return pad end
return pad:FindFirstChildWhichIsA("BasePart", true)
end
local function autoWin()
local pad = findPad()
if not pad then warn("[autowin] pad not found at workspace.HairWorld.StageX12.WinPads.WinPad") return false end
local part = padPart(pad)
local char = LP.Character
local root = char and char:FindFirstChild("HumanoidRootPart")
if not part or not root then return false end
root.CFrame = part.CFrame + Vector3.new(0, part.Size.Y / 2 + 3, 0)
root.AssemblyLinearVelocity = Vector3.zero
if firetouchinterest then
for _, p in ipairs(pad:IsA("BasePart") and {pad} or pad:GetDescendants()) do
if p:IsA("BasePart") then
pcall(firetouchinterest, root, p, 0)
pcall(firetouchinterest, root, p, 1)
end
end
end
return true
end
-- ===== gui =====
local C = {
bg = Color3.fromRGB(14, 14, 20), panel = Color3.fromRGB(20, 20, 29),
row = Color3.fromRGB(26, 26, 38), rowHi = Color3.fromRGB(36, 36, 52),
off = Color3.fromRGB(48, 48, 66), text = Color3.fromRGB(230, 230, 245),
a1 = Color3.fromRGB(150, 100, 255), a2 = Color3.fromRGB(70, 180, 255),
red = Color3.fromRGB(255, 90, 110),
}
local function new(class, props, parent)
local o = Instance.new(class)
for k, v in pairs(props) do o[k] = v end
if parent then o.Parent = parent end
return o
end
local function corner(o, r) return new("UICorner", {CornerRadius = UDim.new(0, r)}, o) end
local function gradient(o, rot)
return new("UIGradient", {Color = ColorSequence.new(C.a1, C.a2), Rotation = rot or 0}, o)
end
local gui = new("ScreenGui", {
Name = tostring(math.random(100000, 999999)),
ResetOnSpawn = false, DisplayOrder = 999,
ZIndexBehavior = Enum.ZIndexBehavior.Sibling,
})
local mounted = false
for _, fn in ipairs({
function() return gethui and gethui() end,
function() return game:GetService("CoreGui") end,
function() return LP:WaitForChild("PlayerGui", 5) end,
}) do
local ok, p = pcall(fn)
if ok and p then
local ok2 = pcall(function() gui.Parent = p end)
if ok2 and gui.Parent == p then mounted = true break end
end
end
if not mounted then warn("[autowin] couldn't mount gui") return end
local main = new("Frame", {
AnchorPoint = Vector2.new(0.5, 0.5),
Size = UDim2.new(0, 260, 0, 170),
Position = UDim2.new(0.5, 0, 0.5, 0),
BackgroundColor3 = C.bg, BorderSizePixel = 0,
}, gui)
corner(main, 14)
gradient(new("UIStroke", {Thickness = 1.5, Color = Color3.new(1, 1, 1)}, main), 45)
local header = new("Frame", {
Size = UDim2.new(1, 0, 0, 36), BackgroundColor3 = C.panel, BorderSizePixel = 0,
}, main)
corner(header, 14)
new("Frame", {
Size = UDim2.new(1, 0, 0, 14), Position = UDim2.new(0, 0, 1, -14),
BackgroundColor3 = C.panel, BorderSizePixel = 0,
}, header)
for n = 1, 3 do
local d = new("Frame", {
Size = UDim2.new(0, 8, 0, 8), Position = UDim2.new(0, 14 + (n - 1) * 14, 0.5, -4),
BackgroundColor3 = Color3.new(1, 1, 1), BorderSizePixel = 0,
}, header)
corner(d, 4)
gradient(d, 45 * n)
end
-- drag
do
header.Active = true
local dragging, start, startPos
track(header.InputBegan:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then
dragging, start, startPos = true, i.Position, main.Position
end
end))
track(UIS.InputChanged:Connect(function(i)
if dragging and (i.UserInputType == Enum.UserInputType.MouseMovement or i.UserInputType == Enum.UserInputType.Touch) then
local d = i.Position - start
main.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + d.X, startPos.Y.Scale, startPos.Y.Offset + d.Y)
end
end))
track(UIS.InputEnded:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then
dragging = false
end
end))
end
local list = new("Frame", {
Size = UDim2.new(1, -24, 1, -50), Position = UDim2.new(0, 12, 0, 44),
BackgroundTransparency = 1,
}, main)
new("UIListLayout", {Padding = UDim.new(0, 8)}, list)
-- Auto Win (end) button
local winBtn = new("TextButton", {
Size = UDim2.new(1, 0, 0, 40), BackgroundColor3 = C.row,
Text = "Auto Win (end)", TextColor3 = C.text,
Font = Enum.Font.GothamBold, TextSize = 13,
AutoButtonColor = false, BorderSizePixel = 0,
}, list)
corner(winBtn, 8)
gradient(new("UIStroke", {Thickness = 1.5, Color = Color3.new(1, 1, 1)}, winBtn), 0)
track(winBtn.MouseEnter:Connect(function() winBtn.BackgroundColor3 = C.rowHi end))
track(winBtn.MouseLeave:Connect(function() winBtn.BackgroundColor3 = C.row end))
track(winBtn.MouseButton1Click:Connect(function()
local ok = autoWin()
winBtn.Text = ok and "Teleported!" or "Pad not found"
task.delay(1.5, function() winBtn.Text = "Auto Win (end)" end)
end))
-- Loop toggle
local row = new("TextButton", {
Size = UDim2.new(1, 0, 0, 36), BackgroundColor3 = C.row,
Text = "", AutoButtonColor = false, BorderSizePixel = 0,
}, list)
corner(row, 8)
new("TextLabel", {
Size = UDim2.new(1, -64, 1, 0), Position = UDim2.new(0, 12, 0, 0),
BackgroundTransparency = 1, Text = "Loop Auto Win", TextColor3 = C.text,
Font = Enum.Font.GothamMedium, TextSize = 12, TextXAlignment = Enum.TextXAlignment.Left,
}, row)
local sw = new("Frame", {
Size = UDim2.new(0, 38, 0, 20), Position = UDim2.new(1, -50, 0.5, -10),
BackgroundColor3 = C.off, BorderSizePixel = 0,
}, row)
corner(sw, 10)
local sg = gradient(sw, 0)
sg.Enabled = false
local knob = new("Frame", {
Size = UDim2.new(0, 14, 0, 14), Position = UDim2.new(0, 3, 0.5, -7),
BackgroundColor3 = Color3.new(1, 1, 1), BorderSizePixel = 0,
}, sw)
corner(knob, 7)
track(row.MouseButton1Click:Connect(function()
loopOn = not loopOn
sg.Enabled = loopOn
sw.BackgroundColor3 = loopOn and Color3.new(1, 1, 1) or C.off
TS:Create(knob, TweenInfo.new(0.15), {
Position = loopOn and UDim2.new(1, -17, 0.5, -7) or UDim2.new(0, 3, 0.5, -7)
}):Play()
end))
task.spawn(function()
while alive do
task.wait(1)
if loopOn then pcall(autoWin) end
end
end)
-- RightShift to hide/show
track(UIS.InputBegan:Connect(function(i)
if i.KeyCode == Enum.KeyCode.RightShift and not UIS:GetFocusedTextBox() then
main.Visible = not main.Visible
end
end))
env.AutoWinCleanup = function()
alive, loopOn = false, false
for _, c in ipairs(conns) do pcall(function() c:Disconnect() end) end
pcall(function() gui:Destroy() end)
env.AutoWinCleanup = nil
end
print("[autowin] loaded - RightShift hides/shows")Features & Information
Auto win im lazy btw
Community Comments (0)
No comments yet for this script.
