OPEN SOURCE Teleports And Esp
Key Required

OPEN SOURCE Teleports And Esp

[UPD] Asylum Life 🔊maskmask 11.4K views 106 executesUpdated Jul 7, 2025
1.0/ 5(5 votes)
1420% Positive
Lua Script•174 lines (6098 chars)
local WindUI = loadstring(game:HttpGet("https://github.com/Footagesus/WindUI/releases/latest/download/main.lua"))()

 
function gradient(text, startColor, endColor)
    local result = ""
    local length = #text
    for i = 1, length do
        local t = (i - 1) / math.max(length - 1, 1)
        local r = math.floor((startColor.R + (endColor.R - startColor.R) * t) * 255)
        local g = math.floor((startColor.G + (endColor.G - startColor.G) * t) * 255)
        local b = math.floor((startColor.B + (endColor.B - startColor.B) * t) * 255)
        local char = text:sub(i, i)
        result = result .. "<font color=\"rgb(" .. r .. ", " .. g .. ", " .. b .. ")\">" .. char .. "</font>"
    end
    return result
end


local TEAM_COLORS = {
    ["Inmates"] = Color3.fromRGB(255, 165, 0),
    ["Guards"] = Color3.fromRGB(0, 0, 255),
    ["Escapists"] = Color3.fromRGB(255, 0, 0)
}

local playerConnections = {}


local function managePlayerHighlight(player, teamName, state)
    if player and player.Character and player ~= game.Players.LocalPlayer then
        local highlightName = "TeamHighlight_" .. teamName
        local existingHighlight = player.Character:FindFirstChild(highlightName)

        if state and not existingHighlight then
            local h = Instance.new("Highlight")
            h.Name = highlightName
            h.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
            h.FillColor = TEAM_COLORS[teamName] or Color3.new(1, 1, 1)
            h.FillTransparency = 0.4
            h.OutlineTransparency = 0.4
            h.Parent = player.Character
        elseif not state and existingHighlight then
            existingHighlight:Destroy()
        end
    end
end


local function handleTeamESP(teamName, state)
    if playerConnections[teamName] then
        for _, conn in ipairs(playerConnections[teamName]) do
            conn:Disconnect()
        end
    end
    playerConnections[teamName] = {}

    for _, player in pairs(game.Players:GetPlayers()) do
        managePlayerHighlight(player, teamName, false)
    end

    if state then
        for _, player in pairs(game.Players:GetPlayers()) do
            if player.Team and player.Team.Name == teamName then
                managePlayerHighlight(player, teamName, true)

                table.insert(playerConnections[teamName], player.CharacterAdded:Connect(function()
                    managePlayerHighlight(player, teamName, true)
                end))

                table.insert(playerConnections[teamName], player:GetPropertyChangedSignal("Team"):Connect(function()
                    if player.Team and player.Team.Name == teamName then
                        managePlayerHighlight(player, teamName, true)
                    else
                        managePlayerHighlight(player, teamName, false)
                    end
                end))
            end
        end

        table.insert(playerConnections[teamName], game.Players.PlayerAdded:Connect(function(player)
            table.insert(playerConnections[teamName], player.CharacterAdded:Connect(function()
                if player.Team and player.Team.Name == teamName then
                    managePlayerHighlight(player, teamName, true)
                end
            end))

            table.insert(playerConnections[teamName], player:GetPropertyChangedSignal("Team"):Connect(function()
                if player.Team and player.Team.Name == teamName then
                    managePlayerHighlight(player, teamName, true)
                else
                    managePlayerHighlight(player, teamName, false)
                end
            end))
        end))

        table.insert(playerConnections[teamName], game.Players.PlayerRemoving:Connect(function(player)
            managePlayerHighlight(player, teamName, false)
        end))
    end
end


local Window = WindUI:CreateWindow({
    Title = "Asylum Life",
    Icon = "rbxassetid://129260712070622",
    IconThemed = true,
    Author = "v1.0",
    Folder = "AsylumLife",
    Size = UDim2.fromOffset(580, 460),
    Transparent = true,
    Theme = "Dark",
    User = {
        Enabled = true,
        Callback = function() print("clicked") end,
        Anonymous = true
    },
    SideBarWidth = 200,
    ScrollBarEnabled = true,
})

local ESPTab = Window:Tab({ Title = "ESP", Icon = "zap", ShowTabTitle = true })
local TeleportsTab = Window:Tab({ Title = "Teleports", Icon = "footprints", ShowTabTitle = true })


for _, team in ipairs({"Inmates", "Guards", "Escapists"}) do
    ESPTab:Toggle({
        Title = team .. " ESP",
        Value = false,
        Callback = function(state)
            print(team .. " ESP enabled: " .. tostring(state))
            handleTeamESP(team, state)
        end
    })
end


TeleportsTab:Button({
    Title = "Guard's Room",
    Desc = "Teleports you to the guards' spawn point.",
    Callback = function()
        local pos = Vector3.new(20.563, 3.942, -108.951)
        local hrp = game.Players.LocalPlayer.Character and game.Players.LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
        if hrp then hrp.CFrame = CFrame.new(pos) end
    end
})

TeleportsTab:Button({
    Title = "Escapists' Base",
    Desc = "Teleports you to the escapists' spawn point.",
    Callback = function()
        local pos = Vector3.new(-298.426, 14.42, -1139.374)
        local hrp = game.Players.LocalPlayer.Character and game.Players.LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
        if hrp then hrp.CFrame = CFrame.new(pos) end
    end
})

TeleportsTab:Button({
    Title = "Medic Room",
    Desc = "Teleports you to the Medic Room (No Gamepass Required).",
    Callback = function()
        local pos = Vector3.new(-60.065, 3.942, -11.764)
        local hrp = game.Players.LocalPlayer.Character and game.Players.LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
        if hrp then hrp.CFrame = CFrame.new(pos) end
    end
})


Window:SelectTab(ESPTab)

Window:OnClose(function()
    print("UI Successfully closed.")
    for teamName in pairs(TEAM_COLORS) do
        handleTeamESP(teamName, false)
    end
end)

Features & Information

Simple Open Source script for asylum life.

Community Comments (4)

AustajamesAustajamesJul 10, 2025

This script doesn't work

avoxkokki7avoxkokki7Aug 10, 2025

yeah esp dont work and tp too

avoxkokki7avoxkokki7Aug 10, 2025

this script was made with chat gpt

asdasdfsdfasdasdfsdfAug 20, 2025

got me banned

More Scripts for [UPD] Asylum Life 🔊