-- LocalScript

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local TweenService = game:GetService("TweenService")
local UIS = game:GetService("UserInputService")
local RS = game:GetService("RunService")

task.wait(3)

local winPart = workspace:WaitForChild("WINSYSTEMMMM"):WaitForChild("WinSystem"):WaitForChild("WParts"):WaitForChild("WinPart")

-- =====================
-- SPACE UI
-- =====================
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "AutoWinUI"
screenGui.ResetOnSpawn = false
screenGui.Parent = playerGui

local bgFrame = Instance.new("Frame")
bgFrame.Size = UDim2.new(0, 280, 0, 200)
bgFrame.Position = UDim2.new(0.5, -140, 0.5, -100)
bgFrame.BackgroundColor3 = Color3.fromRGB(2, 2, 15)
bgFrame.BorderSizePixel = 0
bgFrame.Active = true
bgFrame.Draggable = true
bgFrame.ClipsDescendants = true
bgFrame.Parent = screenGui

local bgCorner = Instance.new("UICorner")
bgCorner.CornerRadius = UDim.new(0, 14)
bgCorner.Parent = bgFrame

local bgStroke = Instance.new("UIStroke")
bgStroke.Color = Color3.fromRGB(80, 120, 255)
bgStroke.Thickness = 1.5
bgStroke.Parent = bgFrame

-- Stars
math.randomseed(42)
for i = 1, 60 do
    local star = Instance.new("Frame")
    local size = math.random(1, 3)
    star.Size = UDim2.new(0, size, 0, size)
    star.Position = UDim2.new(math.random(), 0, math.random(), 0)
    star.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
    star.BackgroundTransparency = math.random(0, 6) / 10
    star.BorderSizePixel = 0
    star.Parent = bgFrame
    Instance.new("UICorner", star).CornerRadius = UDim.new(1, 0)
    task.spawn(function()
        while star.Parent do
            TweenService:Create(star, TweenInfo.new(math.random(10, 30)/10), {
                BackgroundTransparency = math.random(0, 8)/10
            }):Play()
            task.wait(math.random(10, 30)/10)
        end
    end)
end

-- Nebula
local nebula1 = Instance.new("Frame")
nebula1.Size = UDim2.new(0, 150, 0, 150)
nebula1.Position = UDim2.new(0, -30, 0, -30)
nebula1.BackgroundColor3 = Color3.fromRGB(40, 0, 80)
nebula1.BackgroundTransparency = 0.7
nebula1.BorderSizePixel = 0
nebula1.ZIndex = 0
nebula1.Parent = bgFrame
Instance.new("UICorner", nebula1).CornerRadius = UDim.new(1, 0)

local nebula2 = Instance.new("Frame")
nebula2.Size = UDim2.new(0, 120, 0, 120)
nebula2.Position = UDim2.new(1, -90, 1, -90)
nebula2.BackgroundColor3 = Color3.fromRGB(0, 30, 80)
nebula2.BackgroundTransparency = 0.7
nebula2.BorderSizePixel = 0
nebula2.ZIndex = 0
nebula2.Parent = bgFrame
Instance.new("UICorner", nebula2).CornerRadius = UDim.new(1, 0)

-- Shooting stars
task.spawn(function()
    while bgFrame.Parent do
        task.wait(math.random(2, 5))
        local ss = Instance.new("Frame")
        ss.Size = UDim2.new(0, 40, 0, 2)
        ss.Position = UDim2.new(math.random(), 0, math.random(), 0)
        ss.BackgroundColor3 = Color3.fromRGB(200, 220, 255)
        ss.BorderSizePixel = 0
        ss.Rotation = -30
        ss.Parent = bgFrame
        Instance.new("UICorner", ss).CornerRadius = UDim.new(1, 0)
        TweenService:Create(ss, TweenInfo.new(0.5), {
            Position = UDim2.new(ss.Position.X.Scale + 0.3, 0, ss.Position.Y.Scale + 0.3, 0),
            BackgroundTransparency = 1
        }):Play()
        task.delay(0.5, function() ss:Destroy() end)
    end
end)

-- Planet
local planet = Instance.new("Frame")
planet.Size = UDim2.new(0, 45, 0, 45)
planet.Position = UDim2.new(1, -55, 0, 10)
planet.BackgroundColor3 = Color3.fromRGB(100, 60, 200)
planet.BackgroundTransparency = 0.2
planet.BorderSizePixel = 0
planet.Parent = bgFrame
Instance.new("UICorner", planet).CornerRadius = UDim.new(1, 0)

local ring = Instance.new("Frame")
ring.Size = UDim2.new(0, 65, 0, 12)
ring.Position = UDim2.new(0.5, -32, 0.5, -6)
ring.BackgroundColor3 = Color3.fromRGB(150, 100, 255)
ring.BackgroundTransparency = 0.5
ring.BorderSizePixel = 0
ring.Rotation = -20
ring.ZIndex = 0
ring.Parent = planet
Instance.new("UICorner", ring).CornerRadius = UDim.new(1, 0)

-- Title bar
local titleBar = Instance.new("Frame")
titleBar.Size = UDim2.new(1, 0, 0, 42)
titleBar.BackgroundTransparency = 1
titleBar.BorderSizePixel = 0
titleBar.Parent = bgFrame

local titleLabel = Instance.new("TextLabel")
titleLabel.Size = UDim2.new(1, -80, 1, 0)
titleLabel.Position = UDim2.new(0, 12, 0, 0)
titleLabel.BackgroundTransparency = 1
titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
titleLabel.Text = "🚀 Auto Win"
titleLabel.Font = Enum.Font.GothamBold
titleLabel.TextSize = 16
titleLabel.TextXAlignment = Enum.TextXAlignment.Left
titleLabel.Parent = titleBar

local titleStroke = Instance.new("UIStroke")
titleStroke.Color = Color3.fromRGB(100, 150, 255)
titleStroke.Thickness = 1
titleStroke.Parent = titleLabel

-- Minimize button - sleek style
local minBtn = Instance.new("TextButton")
minBtn.Size = UDim2.new(0, 26, 0, 26)
minBtn.Position = UDim2.new(1, -60, 0.5, -13)
minBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 60)
minBtn.TextColor3 = Color3.fromRGB(180, 200, 255)
minBtn.Text = "━"
minBtn.Font = Enum.Font.GothamBold
minBtn.TextSize = 14
minBtn.BorderSizePixel = 0
minBtn.Parent = titleBar
Instance.new("UICorner", minBtn).CornerRadius = UDim.new(0, 6)
Instance.new("UIStroke", minBtn).Color = Color3.fromRGB(80, 100, 200)

-- Close button - sleek style
local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 26, 0, 26)
closeBtn.Position = UDim2.new(1, -30, 0.5, -13)
closeBtn.BackgroundColor3 = Color3.fromRGB(60, 20, 20)
closeBtn.TextColor3 = Color3.fromRGB(255, 150, 150)
closeBtn.Text = "✕"
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 12
closeBtn.BorderSizePixel = 0
closeBtn.Parent = titleBar
Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0, 6)
Instance.new("UIStroke", closeBtn).Color = Color3.fromRGB(180, 60, 60)

-- Divider
local divider = Instance.new("Frame")
divider.Size = UDim2.new(1, -20, 0, 1)
divider.Position = UDim2.new(0, 10, 0, 44)
divider.BackgroundColor3 = Color3.fromRGB(80, 120, 255)
divider.BackgroundTransparency = 0.5
divider.BorderSizePixel = 0
divider.Parent = bgFrame

-- Content
local content = Instance.new("Frame")
content.Size = UDim2.new(1, 0, 1, -46)
content.Position = UDim2.new(0, 0, 0, 46)
content.BackgroundTransparency = 1
content.Parent = bgFrame

-- Wins card
local winsCard = Instance.new("Frame")
winsCard.Size = UDim2.new(1, -20, 0, 50)
winsCard.Position = UDim2.new(0, 10, 0, 8)
winsCard.BackgroundColor3 = Color3.fromRGB(10, 10, 30)
winsCard.BackgroundTransparency = 0.3
winsCard.BorderSizePixel = 0
winsCard.Parent = content
Instance.new("UICorner", winsCard).CornerRadius = UDim.new(0, 10)
local ws = Instance.new("UIStroke", winsCard)
ws.Color = Color3.fromRGB(80, 120, 255)
ws.Transparency = 0.5
ws.Thickness = 1

local winsIcon = Instance.new("TextLabel")
winsIcon.Size = UDim2.new(0, 40, 1, 0)
winsIcon.Position = UDim2.new(0, 8, 0, 0)
winsIcon.BackgroundTransparency = 1
winsIcon.Text = "🏆"
winsIcon.TextSize = 22
winsIcon.Font = Enum.Font.GothamBold
winsIcon.Parent = winsCard

local winsLabel = Instance.new("TextLabel")
winsLabel.Size = UDim2.new(1, -50, 0.5, 0)
winsLabel.Position = UDim2.new(0, 48, 0, 4)
winsLabel.BackgroundTransparency = 1
winsLabel.TextColor3 = Color3.fromRGB(180, 200, 255)
winsLabel.Text = "Total Wins"
winsLabel.Font = Enum.Font.Gotham
winsLabel.TextSize = 11
winsLabel.TextXAlignment = Enum.TextXAlignment.Left
winsLabel.Parent = winsCard

local winsValue = Instance.new("TextLabel")
winsValue.Size = UDim2.new(1, -50, 0.5, 0)
winsValue.Position = UDim2.new(0, 48, 0.5, 0)
winsValue.BackgroundTransparency = 1
winsValue.TextColor3 = Color3.fromRGB(255, 255, 255)
winsValue.Text = "0"
winsValue.Font = Enum.Font.GothamBold
winsValue.TextSize = 16
winsValue.TextXAlignment = Enum.TextXAlignment.Left
winsValue.Parent = winsCard

-- Session card
local sessionCard = Instance.new("Frame")
sessionCard.Size = UDim2.new(1, -20, 0, 40)
sessionCard.Position = UDim2.new(0, 10, 0, 65)
sessionCard.BackgroundColor3 = Color3.fromRGB(10, 10, 30)
sessionCard.BackgroundTransparency = 0.3
sessionCard.BorderSizePixel = 0
sessionCard.Parent = content
Instance.new("UICorner", sessionCard).CornerRadius = UDim.new(0, 10)
local ss2 = Instance.new("UIStroke", sessionCard)
ss2.Color = Color3.fromRGB(80, 120, 255)
ss2.Transparency = 0.5
ss2.Thickness = 1

local sessionLabel = Instance.new("TextLabel")
sessionLabel.Size = UDim2.new(0.5, 0, 1, 0)
sessionLabel.Position = UDim2.new(0, 10, 0, 0)
sessionLabel.BackgroundTransparency = 1
sessionLabel.TextColor3 = Color3.fromRGB(180, 200, 255)
sessionLabel.Text = "⭐ Session: 0"
sessionLabel.Font = Enum.Font.GothamBold
sessionLabel.TextSize = 12
sessionLabel.TextXAlignment = Enum.TextXAlignment.Left
sessionLabel.Parent = sessionCard

local wpsLabel = Instance.new("TextLabel")
wpsLabel.Size = UDim2.new(0.5, 0, 1, 0)
wpsLabel.Position = UDim2.new(0.5, 0, 0, 0)
wpsLabel.BackgroundTransparency = 1
wpsLabel.TextColor3 = Color3.fromRGB(180, 200, 255)
wpsLabel.Text = "âš¡ W/s: 0"
wpsLabel.Font = Enum.Font.GothamBold
wpsLabel.TextSize = 12
wpsLabel.TextXAlignment = Enum.TextXAlignment.Left
wpsLabel.Parent = sessionCard

-- Toggle card
local toggleCard = Instance.new("Frame")
toggleCard.Size = UDim2.new(1, -20, 0, 42)
toggleCard.Position = UDim2.new(0, 10, 0, 112)
toggleCard.BackgroundColor3 = Color3.fromRGB(10, 10, 30)
toggleCard.BackgroundTransparency = 0.3
toggleCard.BorderSizePixel = 0
toggleCard.Parent = content
Instance.new("UICorner", toggleCard).CornerRadius = UDim.new(0, 10)
local ts = Instance.new("UIStroke", toggleCard)
ts.Color = Color3.fromRGB(80, 120, 255)
ts.Transparency = 0.5
ts.Thickness = 1

local toggleIcon = Instance.new("TextLabel")
toggleIcon.Size = UDim2.new(0, 30, 1, 0)
toggleIcon.Position = UDim2.new(0, 10, 0, 0)
toggleIcon.BackgroundTransparency = 1
toggleIcon.Text = "🎯"
toggleIcon.TextSize = 16
toggleIcon.Font = Enum.Font.GothamBold
toggleIcon.Parent = toggleCard

local toggleName = Instance.new("TextLabel")
toggleName.Size = UDim2.new(0.5, 0, 1, 0)
toggleName.Position = UDim2.new(0, 44, 0, 0)
toggleName.BackgroundTransparency = 1
toggleName.TextColor3 = Color3.fromRGB(200, 210, 255)
toggleName.Text = "Auto Win"
toggleName.Font = Enum.Font.GothamBold
toggleName.TextSize = 13
toggleName.TextXAlignment = Enum.TextXAlignment.Left
toggleName.Parent = toggleCard

local pill = Instance.new("Frame")
pill.Size = UDim2.new(0, 46, 0, 24)
pill.Position = UDim2.new(1, -56, 0.5, -12)
pill.BackgroundColor3 = Color3.fromRGB(40, 40, 70)
pill.BorderSizePixel = 0
pill.Parent = toggleCard
Instance.new("UICorner", pill).CornerRadius = UDim.new(1, 0)

local dot = Instance.new("Frame")
dot.Size = UDim2.new(0, 18, 0, 18)
dot.Position = UDim2.new(0, 3, 0.5, -9)
dot.BackgroundColor3 = Color3.fromRGB(100, 100, 140)
dot.BorderSizePixel = 0
dot.Parent = pill
Instance.new("UICorner", dot).CornerRadius = UDim.new(1, 0)

local toggleHitbox = Instance.new("TextButton")
toggleHitbox.Size = UDim2.new(1, 0, 1, 0)
toggleHitbox.BackgroundTransparency = 1
toggleHitbox.Text = ""
toggleHitbox.Parent = toggleCard

-- Slider card
local sliderCard = Instance.new("Frame")
sliderCard.Size = UDim2.new(1, -20, 0, 50)
sliderCard.Position = UDim2.new(0, 10, 0, 161)
sliderCard.BackgroundColor3 = Color3.fromRGB(10, 10, 30)
sliderCard.BackgroundTransparency = 0.3
sliderCard.BorderSizePixel = 0
sliderCard.Parent = content
Instance.new("UICorner", sliderCard).CornerRadius = UDim.new(0, 10)
local scs = Instance.new("UIStroke", sliderCard)
scs.Color = Color3.fromRGB(80, 120, 255)
scs.Transparency = 0.5
scs.Thickness = 1

local sliderTitle = Instance.new("TextLabel")
sliderTitle.Size = UDim2.new(1, -16, 0, 20)
sliderTitle.Position = UDim2.new(0, 10, 0, 4)
sliderTitle.BackgroundTransparency = 1
sliderTitle.TextColor3 = Color3.fromRGB(200, 210, 255)
sliderTitle.Text = "âš¡ Speed: Medium"
sliderTitle.Font = Enum.Font.GothamBold
sliderTitle.TextSize = 12
sliderTitle.TextXAlignment = Enum.TextXAlignment.Left
sliderTitle.Parent = sliderCard

local track = Instance.new("Frame")
track.Size = UDim2.new(1, -20, 0, 6)
track.Position = UDim2.new(0, 10, 0, 32)
track.BackgroundColor3 = Color3.fromRGB(40, 40, 70)
track.BorderSizePixel = 0
track.Parent = sliderCard
Instance.new("UICorner", track).CornerRadius = UDim.new(1, 0)

local fill = Instance.new("Frame")
fill.Size = UDim2.new(0.5, 0, 1, 0)
fill.BackgroundColor3 = Color3.fromRGB(80, 120, 255)
fill.BorderSizePixel = 0
fill.Parent = track
Instance.new("UICorner", fill).CornerRadius = UDim.new(1, 0)

local handle = Instance.new("TextButton")
handle.Size = UDim2.new(0, 18, 0, 18)
handle.Position = UDim2.new(0.5, -9, 0.5, -9)
handle.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
handle.Text = ""
handle.BorderSizePixel = 0
handle.Parent = track
Instance.new("UICorner", handle).CornerRadius = UDim.new(1, 0)

-- Variables
local autoWin = false
local sliderValue = 0.5
local winDelay = 0.5
local sessionWins = 0
local winTimes = {}
local minimized = false
local savedPos = nil
local justWon = false

local function tween(obj, props, t)
    TweenService:Create(obj, TweenInfo.new(t or 0.25, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), props):Play()
end

-- Rainbow border
task.spawn(function()
    local h = 0
    while bgFrame.Parent do
        h = (h + 1) % 360
        bgStroke.Color = Color3.fromHSV(h/360, 0.8, 1)
        task.wait(0.05)
    end
end)

-- Button hover effects
minBtn.MouseEnter:Connect(function()
    tween(minBtn, {BackgroundColor3 = Color3.fromRGB(50, 50, 100)})
end)
minBtn.MouseLeave:Connect(function()
    tween(minBtn, {BackgroundColor3 = Color3.fromRGB(30, 30, 60)})
end)

closeBtn.MouseEnter:Connect(function()
    tween(closeBtn, {BackgroundColor3 = Color3.fromRGB(100, 30, 30)})
end)
closeBtn.MouseLeave:Connect(function()
    tween(closeBtn, {BackgroundColor3 = Color3.fromRGB(60, 20, 20)})
end)

-- Toggle
toggleHitbox.MouseButton1Click:Connect(function()
    autoWin = not autoWin
    if autoWin then
        tween(pill, {BackgroundColor3 = Color3.fromRGB(80, 120, 255)})
        tween(dot, {Position = UDim2.new(1, -21, 0.5, -9), BackgroundColor3 = Color3.fromRGB(255, 255, 255)})
    else
        tween(pill, {BackgroundColor3 = Color3.fromRGB(40, 40, 70)})
        tween(dot, {Position = UDim2.new(0, 3, 0.5, -9), BackgroundColor3 = Color3.fromRGB(100, 100, 140)})
    end
end)

-- Minimize
minBtn.MouseButton1Click:Connect(function()
    minimized = not minimized
    if minimized then
        tween(bgFrame, {Size = UDim2.new(0, 280, 0, 42)}, 0.3)
        minBtn.Text = "+"
    else
        tween(bgFrame, {Size = UDim2.new(0, 280, 0, 200)}, 0.3)
        minBtn.Text = "━"
    end
end)

-- Close
closeBtn.MouseButton1Click:Connect(function()
    tween(bgFrame, {Size = UDim2.new(0, 0, 0, 0)}, 0.3)
    task.wait(0.3)
    screenGui:Destroy()
end)

-- Slider
local dragging = false
handle.MouseButton1Down:Connect(function() dragging = true end)
UIS.InputEnded:Connect(function(i)
    if i.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end
end)

RS.RenderStepped:Connect(function()
    if dragging then
        local mx = UIS:GetMouseLocation().X
        local bp = track.AbsolutePosition.X
        local bs = track.AbsoluteSize.X
        sliderValue = math.clamp((mx - bp) / bs, 0, 1)
        handle.Position = UDim2.new(sliderValue, -9, 0.5, -9)
        fill.Size = UDim2.new(sliderValue, 0, 1, 0)
        winDelay = 2 - (sliderValue * 1.9)
        if sliderValue < 0.33 then
            sliderTitle.Text = "âš¡ Speed: Slow"
            fill.BackgroundColor3 = Color3.fromRGB(80, 120, 255)
        elseif sliderValue < 0.66 then
            sliderTitle.Text = "âš¡ Speed: Medium"
            fill.BackgroundColor3 = Color3.fromRGB(180, 130, 50)
        else
            sliderTitle.Text = "âš¡ Speed: Fast"
            fill.BackgroundColor3 = Color3.fromRGB(220, 60, 60)
        end
    end
end)

-- Wins tracker
local leaderstats = player:WaitForChild("leaderstats")
local winsData = leaderstats:WaitForChild("Wins")

winsData.Changed:Connect(function(val)
    winsValue.Text = tostring(val)
    sessionWins = sessionWins + 1
    sessionLabel.Text = "⭐ Session: " .. sessionWins
    table.insert(winTimes, tick())
    if #winTimes > 10 then table.remove(winTimes, 1) end
    justWon = true
end)

task.spawn(function()
    while true do
        local now = tick()
        local recent = 0
        for _, t in ipairs(winTimes) do
            if now - t < 10 then recent = recent + 1 end
        end
        wpsLabel.Text = "âš¡ W/s: " .. string.format("%.1f", recent/10)
        winsValue.Text = tostring(winsData.Value)
        task.wait(1)
    end
end)

-- Spawn fix - intercept teleport back to spawn
task.spawn(function()
    while true do
        if autoWin then
            local character = player.Character
            local root = character and character:FindFirstChild("HumanoidRootPart")
            if root then
                -- Save position constantly
                local currentPos = root.Position
                local spawnPos = Vector3.new(-15, 21, -110)
                local distToSpawn = (currentPos - spawnPos).Magnitude

                -- If teleported to spawn area teleport back
                if distToSpawn < 30 and justWon then
                    justWon = false
                    if savedPos then
                        task.wait(0.1)
                        root.CFrame = savedPos
                    end
                else
                    -- Save current pos as long as not near spawn
                    if distToSpawn > 30 then
                        savedPos = root.CFrame
                    end
                end
            end
        end
        task.wait(0.05)
    end
end)

-- Main win loop
task.spawn(function()
    while true do
        if autoWin then
            local character = player.Character
            local root = character and character:FindFirstChild("HumanoidRootPart")
            if root then
                winPart.CanCollide = false
                winPart.Anchored = true
                winPart.CFrame = CFrame.new(root.Position)
            end
        end
        task.wait(0.05)
    end
end)

print("=== Auto Win UI Loaded ===")
[UPD] Short But Hard Wallhop Tower Auto Win & Teleport
Mobile Friendly
1,500 views
5 months ago

Auto Win & Teleport

WORKING
Free

Description

Looking for an easy way to conquer the Short But Hard Wallhop Tower? This newly updated script allows you to bypass the most difficult stages and reach the top instantly! Whether you are struggling with precise wallhops or just want to farm wins, this script has everything you need.

Features

  • Auto Win

Related Scripts