Auto Teleport GUI
Key Required

Auto Teleport GUI

Blue Tower (300+ STAGES!)IrfannnnnIrfannnnn 533 views 162 executesUpdated Dec 31, 2025
4.0/ 5(5 votes)
4180% Positive
Lua Script•216 lines (7550 chars)
-- Blue Tower (300+ STAGES!) (PlaceID: 90892766023213)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local CoreGui = game:GetService("CoreGui")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")

local LocalPlayer = Players.LocalPlayer
local Workspace = game:GetService("Workspace")

--------------------------------------------------------------------------------
-- CONFIGURATION
--------------------------------------------------------------------------------
local Config = {
    MaxStage = 350,
    StagesPath = Workspace:WaitForChild("Stages"),
    TeleportDelay = 0.1, -- Time between teleports to ensure server registers it
    
    Colors = {
        Accent = Color3.fromRGB(232, 84, 84),
        BgDark = Color3.fromRGB(12, 12, 15),
        BgCard = Color3.fromRGB(18, 18, 22),
        TextPrimary = Color3.fromRGB(245, 245, 250),
        TextSecondary = Color3.fromRGB(160, 160, 175),
        Success = Color3.fromRGB(72, 199, 142)
    }
}

--------------------------------------------------------------------------------
-- GUI CREATION (Xan Style)
--------------------------------------------------------------------------------
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "AutoStage"
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

pcall(function() ScreenGui.Parent = CoreGui end)
if not ScreenGui.Parent then ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") end

local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.BackgroundColor3 = Config.Colors.BgCard
MainFrame.BorderSizePixel = 0
MainFrame.Position = UDim2.new(0.5, -125, 0.85, 0)
MainFrame.Size = UDim2.new(0, 250, 0, 80)
MainFrame.Parent = ScreenGui

local Corner = Instance.new("UICorner")
Corner.CornerRadius = UDim.new(0, 12)
Corner.Parent = MainFrame

local Stroke = Instance.new("UIStroke")
Stroke.Color = Color3.fromRGB(35, 35, 42)
Stroke.Thickness = 1
Stroke.Parent = MainFrame

local Title = Instance.new("TextLabel")
Title.Name = "Title"
Title.BackgroundTransparency = 1
Title.Position = UDim2.new(0, 15, 0, 10)
Title.Size = UDim2.new(1, -30, 0, 20)
Title.Font = Enum.Font.GothamBold
Title.Text = "Auto-Stage"
Title.TextColor3 = Config.Colors.TextPrimary
Title.TextSize = 16
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Parent = MainFrame

local Status = Instance.new("TextLabel")
Status.Name = "Status"
Status.BackgroundTransparency = 1
Status.Position = UDim2.new(0, 15, 0, 30)
Status.Size = UDim2.new(1, -30, 0, 15)
Status.Font = Enum.Font.Gotham
Status.Text = "Ready."
Status.TextColor3 = Config.Colors.TextSecondary
Status.TextSize = 12
Status.TextXAlignment = Enum.TextXAlignment.Left
Status.Parent = MainFrame

local ToggleBtn = Instance.new("TextButton")
ToggleBtn.Name = "Toggle"
ToggleBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 40)
ToggleBtn.AnchorPoint = Vector2.new(1, 0.5)
ToggleBtn.Position = UDim2.new(1, -15, 0.5, 0)
ToggleBtn.Size = UDim2.new(0, 60, 0, 30)
ToggleBtn.Font = Enum.Font.GothamBold
ToggleBtn.Text = "START"
ToggleBtn.TextColor3 = Config.Colors.Accent
ToggleBtn.TextSize = 11
ToggleBtn.AutoButtonColor = false
ToggleBtn.Parent = MainFrame

local BtnCorner = Instance.new("UICorner")
BtnCorner.CornerRadius = UDim.new(0, 6)
BtnCorner.Parent = ToggleBtn

local BtnStroke = Instance.new("UIStroke")
BtnStroke.Color = Config.Colors.Accent
BtnStroke.Thickness = 1
BtnStroke.Parent = ToggleBtn

--------------------------------------------------------------------------------
-- LOGIC
--------------------------------------------------------------------------------
local Farming = false

local function TweenObj(obj, props, time)
    TweenService:Create(obj, TweenInfo.new(time or 0.3, Enum.EasingStyle.Quint), props):Play()
end

local function GetCurrentStage()
    local stats = LocalPlayer:FindFirstChild("playerstats")
    if stats then
        local stage = stats:GetAttribute("Stage")
        if stage then
            return tonumber(stage)
        end
    end
    return 1
end

local function DoTeleport()
    task.spawn(function()
        while Farming and ScreenGui.Parent do
            local currentStage = GetCurrentStage()
            local nextStageNum = currentStage + 1
            
            if currentStage >= Config.MaxStage then
                Farming = false
                Status.Text = "Max stage reached!"
                TweenObj(ToggleBtn, {BackgroundColor3 = Config.Colors.BgDark})
                ToggleBtn.Text = "DONE"
                break
            end

            local targetPartName = tostring(nextStageNum)
            local targetPart = Config.StagesPath:FindFirstChild(targetPartName)
            
            if targetPart and targetPart:IsA("BasePart") then
                local char = LocalPlayer.Character
                if char and char:FindFirstChild("HumanoidRootPart") then
                    Status.Text = "Farming: Stage " .. tostring(nextStageNum) .. "/" .. Config.MaxStage
                    
                    local targetCFrame = targetPart.CFrame + Vector3.new(0, 3, 0)
                    
                    char:PivotTo(targetCFrame)
                    
                    if char:FindFirstChild("HumanoidRootPart") then
                        char.HumanoidRootPart.AssemblyLinearVelocity = Vector3.zero
                        char.HumanoidRootPart.AssemblyAngularVelocity = Vector3.zero
                    end
                end
            else
                Status.Text = "Waiting for Stage " .. targetPartName .. "..."
            end
            
            task.wait(Config.TeleportDelay)
        end
        
        if not Farming then
            TweenObj(ToggleBtn, {BackgroundColor3 = Color3.fromRGB(35, 35, 40), TextColor3 = Config.Colors.Accent})
            TweenObj(BtnStroke, {Color = Config.Colors.Accent})
            ToggleBtn.Text = "START"
            if GetCurrentStage() < Config.MaxStage then
                Status.Text = "Paused at Stage " .. GetCurrentStage()
            end
        end
    end)
end

ToggleBtn.MouseButton1Click:Connect(function()
    Farming = not Farming
    
    if Farming then
        ToggleBtn.Text = "STOP"
        TweenObj(ToggleBtn, {BackgroundColor3 = Config.Colors.Accent, TextColor3 = Color3.new(1,1,1)})
        TweenObj(BtnStroke, {Color = Config.Colors.Accent})
        DoTeleport()
    else
        ToggleBtn.Text = "STOPPING..."
    end
end)

local Dragging, DragInput, DragStart, StartPos

local function Update(input)
    local delta = input.Position - DragStart
    MainFrame.Position = UDim2.new(StartPos.X.Scale, StartPos.X.Offset + delta.X, StartPos.Y.Scale, StartPos.Y.Offset + delta.Y)
end

MainFrame.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        Dragging = true
        DragStart = input.Position
        StartPos = MainFrame.Position
        
        input.Changed:Connect(function()
            if input.UserInputState == Enum.UserInputState.End then
                Dragging = false
            end
        end)
    end
end)

MainFrame.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
        Update(input)
    end
end)

Features & Information

Auto Stage GUI Only For 1 Game
#autostage#stage#tower

Community Comments (0)

No comments yet for this script.