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)