SPTS GEN BT
Key RequiredUniversal

SPTS GEN BT

Universal Scriptinvaliduser1432invaliduser1432 2.3K views 145 executesUpdated Aug 24, 2025
Unrated
00
Lua Script•90 lines (2643 chars)
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local player = Players.LocalPlayer

local lastSafePosition = nil
local humanoid = nil
local connections = {}
local running = true

-- GUI
local screenGui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui"))
screenGui.ResetOnSpawn = false

local button = Instance.new("TextButton")
button.Size = UDim2.new(0, 150, 0, 50)
button.Position = UDim2.new(0, 20, 0, 20)
button.Text = "STOP SCRIPT"
button.TextColor3 = Color3.fromRGB(255, 255, 255)
button.Font = Enum.Font.SourceSansBold
button.TextSize = 20
button.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
button.AutoButtonColor = false
button.Parent = screenGui

-- rounded corners
local corner = Instance.new("UICorner", button)
corner.CornerRadius = UDim.new(0, 12)

-- subtle shadow
local shadow = Instance.new("Frame", button)
shadow.Size = UDim2.new(1, 4, 1, 4)
shadow.Position = UDim2.new(0, 2, 0, 2)
shadow.BackgroundColor3 = Color3.fromRGB(100, 0, 0)
shadow.BorderSizePixel = 0
shadow.ZIndex = button.ZIndex - 1
local shadowCorner = Instance.new("UICorner", shadow)
shadowCorner.CornerRadius = UDim.new(0, 12)

-- hover effect
button.MouseEnter:Connect(function()
    button.BackgroundColor3 = Color3.fromRGB(255, 70, 70)
end)
button.MouseLeave:Connect(function()
    button.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
end)

button.MouseButton1Click:Connect(function()
    running = false
    for _, conn in ipairs(connections) do
        conn:Disconnect()
    end
    screenGui:Destroy()
    print("Respawn/teleport script stopped.")
end)

-- logic
local function trackCharacter(char)
    humanoid = char:WaitForChild("Humanoid")
    local root = char:WaitForChild("HumanoidRootPart")

    local conn = humanoid.HealthChanged:Connect(function(health)
        if not running then return end

        if health > 20 then
            lastSafePosition = root.Position
        else
            local args = {
                [1] = {
                    [1] = "Respawn"
                }
            }
            ReplicatedStorage.RemoteEvent:FireServer(unpack(args))

            player.CharacterAdded:Wait()
            local newChar = player.Character or player.CharacterAdded:Wait()
            local newRoot = newChar:WaitForChild("HumanoidRootPart")
            task.wait(0.5)
            if lastSafePosition then
                newRoot.CFrame = CFrame.new(lastSafePosition)
            end
        end
    end)

    table.insert(connections, conn)
end

if player.Character then
    trackCharacter(player.Character)
end
player.CharacterAdded:Connect(trackCharacter)

Features & Information

BT TRAINING SCRIPT

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts