Esp / tp to obj    (AI maded)
Key Required

Esp / tp to obj (AI maded)

[NEW] FIXATIONPDrillaPDrilla 912 views 927 executesUpdated Sep 20, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•1333 lines (23472 chars)
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local UserInputService = game:GetService("UserInputService")

local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

local POLAROID_ESP_NAME = "FixationPolaroidESP"
local SAFE_ESP_NAME = "FixationSafeESP"
local BONFIRE_ESP_NAME = "BonfireESP"
local WILLOW_ESP_NAME = "WillowESP"

local espEnabled = true
local safeEnabled = false
local bonfireEnabled = false
local willowEnabled = false

local espColor = Color3.fromRGB(255, 0, 0)

local destroyed = false
local descendantConnection
local removingConnection

local oldGui = playerGui:FindFirstChild("ESP_Teleport_Menu")

if oldGui then
    oldGui:Destroy()
end


local screenGui = Instance.new("ScreenGui")
screenGui.Name = "ESP_Teleport_Menu"
screenGui.ResetOnSpawn = false
screenGui.Parent = playerGui


local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 280, 0, 400)
mainFrame.Position = UDim2.new(0, 20, 0.5, -200)
mainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
mainFrame.BorderSizePixel = 0
mainFrame.Parent = screenGui

local mainCorner = Instance.new("UICorner")
mainCorner.CornerRadius = UDim.new(0, 10)
mainCorner.Parent = mainFrame


local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -45, 0, 40)
title.Position = UDim2.new(0, 10, 0, 0)
title.BackgroundTransparency = 1
title.Text = "ESP / Teleport"
title.TextColor3 = Color3.new(1, 1, 1)
title.TextSize = 20
title.Font = Enum.Font.GothamBold
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = mainFrame

local closeButton = Instance.new("TextButton")
closeButton.Size = UDim2.new(0, 35, 0, 35)
closeButton.Position = UDim2.new(1, -40, 0, 3)
closeButton.BackgroundColor3 = Color3.fromRGB(180, 50, 50)
closeButton.Text = "X"
closeButton.TextColor3 = Color3.new(1, 1, 1)
closeButton.TextSize = 18
closeButton.Font = Enum.Font.GothamBold
closeButton.Parent = mainFrame

local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(0, 8)
closeCorner.Parent = closeButton

local function createButton(text, y)

    local button = Instance.new("TextButton")

    button.Size = UDim2.new(1, -20, 0, 40)
    button.Position = UDim2.new(0, 10, 0, y)

    button.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
    button.TextColor3 = Color3.new(1, 1, 1)

    button.Text = text
    button.TextSize = 16
    button.Font = Enum.Font.GothamBold

    button.Parent = mainFrame

    local corner = Instance.new("UICorner")
    corner.CornerRadius = UDim.new(0, 7)
    corner.Parent = button

    return button
end

local function removeHighlight(object, highlightName)

    if not object then
        return
    end

    local highlight = object:FindFirstChild(highlightName)

    if highlight and highlight:IsA("Highlight") then
        highlight:Destroy()
    end
end

local function createHighlight(object, highlightName)

    if not object then
        return nil
    end

    if not (
        object:IsA("Model")
        or object:IsA("BasePart")
    ) then
        return nil
    end

    local existing = object:FindFirstChild(highlightName)

    if existing and existing:IsA("Highlight") then

        existing.FillColor = espColor

        return existing
    end

    local highlight = Instance.new("Highlight")

    highlight.Name = highlightName
    highlight.Adornee = object

    highlight.FillColor = espColor
    highlight.OutlineColor = Color3.new(1, 1, 1)

    highlight.FillTransparency = 0.5
    highlight.OutlineTransparency = 0

    highlight.DepthMode =
        Enum.HighlightDepthMode.AlwaysOnTop

    highlight.Parent = object

    return highlight
end


local polaroids = {}

local function addPolaroid(object)

    if object.Name ~= "FixationPolaroid" then
        return
    end

    if polaroids[object] then
        return
    end

    polaroids[object] = true

    if espEnabled then

        createHighlight(
            object,
            POLAROID_ESP_NAME
        )
    end
end

local function removePolaroid(object)

    if not polaroids[object] then
        return
    end

    polaroids[object] = nil

    removeHighlight(
        object,
        POLAROID_ESP_NAME
    )
end

local function scanPolaroids()

    for _, obj in ipairs(
        Workspace:GetDescendants()
    ) do

        if obj.Name == "FixationPolaroid" then
            addPolaroid(obj)
        end
    end
end

local function updatePolaroidESP()

    for object in pairs(polaroids) do

        if object.Parent then

            if espEnabled then

                createHighlight(
                    object,
                    POLAROID_ESP_NAME
                )

            else

                removeHighlight(
                    object,
                    POLAROID_ESP_NAME
                )
            end

        else

            polaroids[object] = nil
        end
    end
end

local function getSafeObject()

    local fixationSafe =
        Workspace:FindFirstChild("FixationSafe")

    if not fixationSafe then
        return nil
    end

    local sketchfab =
        fixationSafe:FindFirstChild("Sketchfab_model")

    if not sketchfab then
        return nil
    end

    local material =
        sketchfab:FindFirstChild(
            "Safe.obj.cleaner.materialmerger.gles"
        )

    if not material then
        return nil
    end

    local object2 =
        material:FindFirstChild("Object_2")

    if not object2 then
        return nil
    end

    return object2:FindFirstChild("Object_0")
end

local function addSafeESP()

    local safe = getSafeObject()

    if not safe then
        return
    end

    if safeEnabled then

        createHighlight(
            safe,
            SAFE_ESP_NAME
        )

    else

        removeHighlight(
            safe,
            SAFE_ESP_NAME
        )
    end
end

local function getBonfireObject()

    local map =
        Workspace:FindFirstChild("Map")

    if not map then
        return nil
    end

    local bonfires =
        map:FindFirstChild("Bonfires")

    if not bonfires then
        return nil
    end

    local fire =
        bonfires:FindFirstChild("Fire")

    if not fire then
        return nil
    end

    return fire:FindFirstChild(
        "Meshes/meshPart"
    )
end

local function addBonfireESP()

    local bonfire =
        getBonfireObject()

    if not bonfire then
        return
    end

    if bonfireEnabled then

        createHighlight(
            bonfire,
            BONFIRE_ESP_NAME
        )

    else

        removeHighlight(
            bonfire,
            BONFIRE_ESP_NAME
        )
    end
end

local willows = {}

local function addWillow(object)

    if object.Name ~= "FixationWillowBox" then
        return
    end

    if willows[object] then
        return
    end

    willows[object] = true

    if willowEnabled then

        createHighlight(
            object,
            WILLOW_ESP_NAME
        )
    end
end

local function removeWillow(object)

    if not willows[object] then
        return
    end

    willows[object] = nil

    removeHighlight(
        object,
        WILLOW_ESP_NAME
    )
end

local function scanWillows()

    for _, obj in ipairs(
        Workspace:GetDescendants()
    ) do

        if obj.Name == "FixationWillowBox" then
            addWillow(obj)
        end
    end
end

local function updateWillowESP()

    for object in pairs(willows) do

        if object.Parent then

            if willowEnabled then

                createHighlight(
                    object,
                    WILLOW_ESP_NAME
                )

            else

                removeHighlight(
                    object,
                    WILLOW_ESP_NAME
                )
            end

        else

            willows[object] = nil
        end
    end
end

local function teleportTo(object)

    if not object then
        return
    end

    local character =
        player.Character

    if not character then
        return
    end

    local root =
        character:FindFirstChild(
            "HumanoidRootPart"
        )

    if not root then
        return
    end

    local targetPart = nil

    if object:IsA("BasePart") then

        targetPart = object

    elseif object:IsA("Model") then

        if object.PrimaryPart then

            targetPart =
                object.PrimaryPart

        else

            targetPart =
                object:FindFirstChildWhichIsA(
                    "BasePart",
                    true
                )
        end
    end

    if targetPart then

        root.CFrame =
            targetPart.CFrame
            + Vector3.new(0, 4, 0)
    end
end

local polaroidButton =
    createButton(
        "Polaroid: ON",
        50
    )

local safeButton =
    createButton(
        "Safe: OFF",
        95
    )

local bonfireButton =
    createButton(
        "Bonfire: OFF",
        140
    )

local willowButton =
    createButton(
        "Willow: OFF",
        185
    )

local listButton =
    createButton(
        "Obj Hightlit",
        230
    )

--==================================================
-- COLOR PALETTE
--==================================================

local colorLabel =
    Instance.new("TextLabel")

colorLabel.Size =
    UDim2.new(1, -20, 0, 25)

colorLabel.Position =
    UDim2.new(0, 10, 0, 280)

colorLabel.BackgroundTransparency = 1

colorLabel.Text =
    "Цвет подсветки"

colorLabel.TextColor3 =
    Color3.new(1, 1, 1)

colorLabel.TextSize = 15

colorLabel.Font =
    Enum.Font.GothamBold

colorLabel.Parent =
    mainFrame

local colors = {

    {"Красный", Color3.fromRGB(255, 0, 0)},
    {"Зелёный", Color3.fromRGB(0, 255, 0)},
    {"Синий", Color3.fromRGB(0, 100, 255)},
    {"Жёлтый", Color3.fromRGB(255, 255, 0)},
    {"Фиолетовый", Color3.fromRGB(170, 0, 255)},
    {"Голубой", Color3.fromRGB(0, 255, 255)},
    {"Белый", Color3.fromRGB(255, 255, 255)},
    {"Оранжевый", Color3.fromRGB(255, 120, 0)},
    {"Розовый", Color3.fromRGB(255, 0, 150)},
    {"Салатовый", Color3.fromRGB(120, 255, 0)}
}

for i, data in ipairs(colors) do

    local color = data[2]

    local row =
        math.floor((i - 1) / 5)

    local column =
        (i - 1) % 5

    local colorButton =
        Instance.new("TextButton")

    colorButton.Size =
        UDim2.new(0, 45, 0, 25)

    colorButton.Position =
        UDim2.new(
            0,
            10 + column * 52,
            0,
            305 + row * 30
        )

    colorButton.BackgroundColor3 =
        color

    colorButton.Text = ""

    colorButton.Parent =
        mainFrame

    local corner =
        Instance.new("UICorner")

    corner.CornerRadius =
        UDim.new(0, 5)

    corner.Parent =
        colorButton

    colorButton.MouseButton1Click:Connect(function()

        espColor = color

        for object in pairs(polaroids) do

            local h =
                object:FindFirstChild(
                    POLAROID_ESP_NAME
                )

            if h and h:IsA("Highlight") then
                h.FillColor = espColor
            end
        end

        for object in pairs(willows) do

            local h =
                object:FindFirstChild(
                    WILLOW_ESP_NAME
                )

            if h and h:IsA("Highlight") then
                h.FillColor = espColor
            end
        end

        local safe =
            getSafeObject()

        if safe then

            local h =
                safe:FindFirstChild(
                    SAFE_ESP_NAME
                )

            if h and h:IsA("Highlight") then
                h.FillColor = espColor
            end
        end

        local bonfire =
            getBonfireObject()

        if bonfire then

            local h =
                bonfire:FindFirstChild(
                    BONFIRE_ESP_NAME
                )

            if h and h:IsA("Highlight") then
                h.FillColor = espColor
            end
        end
    end)
end

local listFrame =
    Instance.new("Frame")

listFrame.Size =
    UDim2.new(0, 350, 0, 450)

listFrame.Position =
    UDim2.new(0, 310, 0.5, -225)

listFrame.BackgroundColor3 =
    Color3.fromRGB(25, 25, 25)

listFrame.BorderSizePixel = 0

listFrame.Visible = false

listFrame.Parent =
    screenGui

local listCorner =
    Instance.new("UICorner")

listCorner.CornerRadius =
    UDim.new(0, 10)

listCorner.Parent =
    listFrame

local listTitle =
    Instance.new("TextLabel")

listTitle.Size =
    UDim2.new(1, -50, 0, 40)

listTitle.Position =
    UDim2.new(0, 10, 0, 0)

listTitle.BackgroundTransparency = 1

listTitle.Text =
    "Подсвечиваемые объекты"

listTitle.TextColor3 =
    Color3.new(1, 1, 1)

listTitle.TextSize = 18

listTitle.Font =
    Enum.Font.GothamBold

listTitle.TextXAlignment =
    Enum.TextXAlignment.Left

listTitle.Parent =
    listFrame

local listClose =
    Instance.new("TextButton")

listClose.Size =
    UDim2.new(0, 35, 0, 35)

listClose.Position =
    UDim2.new(1, -40, 0, 3)

listClose.BackgroundColor3 =
    Color3.fromRGB(180, 50, 50)

listClose.Text = "X"

listClose.TextColor3 =
    Color3.new(1, 1, 1)

listClose.TextSize = 18

listClose.Font =
    Enum.Font.GothamBold

listClose.Parent =
    listFrame

local listCloseCorner =
    Instance.new("UICorner")

listCloseCorner.CornerRadius =
    UDim.new(0, 8)

listCloseCorner.Parent =
    listClose

local scroll =
    Instance.new("ScrollingFrame")

scroll.Size =
    UDim2.new(1, -20, 1, -50)

scroll.Position =
    UDim2.new(0, 10, 0, 45)

scroll.BackgroundTransparency = 1

scroll.BorderSizePixel = 0

scroll.ScrollBarThickness = 6

scroll.CanvasSize =
    UDim2.new(0, 0, 0, 0)

scroll.Parent =
    listFrame

local layout =
    Instance.new("UIListLayout")

layout.Padding =
    UDim.new(0, 5)

layout.SortOrder =
    Enum.SortOrder.LayoutOrder

layout.Parent =
    scroll

local function createSection(text, order)

    local label =
        Instance.new("TextLabel")

    label.Size =
        UDim2.new(1, -5, 0, 30)

    label.BackgroundTransparency = 1

    label.Text = text

    label.TextColor3 =
        Color3.new(1, 1, 1)

    label.TextSize = 16

    label.Font =
        Enum.Font.GothamBold

    label.TextXAlignment =
        Enum.TextXAlignment.Left

    label.LayoutOrder =
        order

    label.Parent =
        scroll

    return label
end

local function createObjectButton(
    text,
    object,
    order
)

    local button =
        Instance.new("TextButton")

    button.Size =
        UDim2.new(1, -5, 0, 35)

    button.BackgroundColor3 =
        Color3.fromRGB(45, 45, 45)

    button.Text = text

    button.TextColor3 =
        Color3.new(1, 1, 1)

    button.TextSize = 14

    button.Font =
        Enum.Font.Gotham

    button.LayoutOrder =
        order

    button.Parent =
        scroll

    local corner =
        Instance.new("UICorner")

    corner.CornerRadius =
        UDim.new(0, 6)

    corner.Parent =
        button

    button.MouseButton1Click:Connect(function()

        if object and object.Parent then
            teleportTo(object)
        end
    end)

    return button
end

local function updateObjectList()

    for _, child in ipairs(
        scroll:GetChildren()
    ) do

        if child:IsA("TextButton")
            or child:IsA("TextLabel") then

            child:Destroy()
        end
    end

    local order = 0

    createSection(
        "POLAROID",
        order
    )

    order += 1

    local polaroidIndex = 0

    for object in pairs(polaroids) do

        if object.Parent then

            polaroidIndex += 1

            createObjectButton(
                "Polaroid " .. polaroidIndex,
                object,
                order
            )

            order += 1
        end
    end

    --==================================================
    -- SAFE
    --==================================================

    local safe =
        getSafeObject()

    if safe then

        createSection(
            "SAFE",
            order
        )

        order += 1

        createObjectButton(
            "Safe",
            safe,
            order
        )

        order += 1
    end

    local bonfire =
        getBonfireObject()

    if bonfire then

        createSection(
            "BONFIRE",
            order
        )

        order += 1

        createObjectButton(
            "Bonfire",
            bonfire,
            order
        )

        order += 1
    end

    local willowCount = 0

    for object in pairs(willows) do

        if object.Parent then
            willowCount += 1
        end
    end

    if willowCount > 0 then

        createSection(
            "WILLOW",
            order
        )

        order += 1

        local willowIndex = 0

        for object in pairs(willows) do

            if object.Parent then

                willowIndex += 1

                createObjectButton(
                    "Willow " .. willowIndex,
                    object,
                    order
                )

                order += 1
            end
        end
    end

    scroll.CanvasSize =
        UDim2.new(
            0,
            0,
            0,
            layout.AbsoluteContentSize.Y + 10
        )
end

polaroidButton.MouseButton1Click:Connect(function()

    espEnabled =
        not espEnabled

    if espEnabled then

        polaroidButton.Text =
            "Polaroid: ON"

    else

        polaroidButton.Text =
            "Polaroid: OFF"
    end

    updatePolaroidESP()

    if listFrame.Visible then
        updateObjectList()
    end
end)

safeButton.MouseButton1Click:Connect(function()

    safeEnabled =
        not safeEnabled

    if safeEnabled then

        safeButton.Text =
            "Safe: ON"

    else

        safeButton.Text =
            "Safe: OFF"
    end

    addSafeESP()

    if listFrame.Visible then
        updateObjectList()
    end
end)

bonfireButton.MouseButton1Click:Connect(function()

    bonfireEnabled =
        not bonfireEnabled

    if bonfireEnabled then

        bonfireButton.Text =
            "Bonfire: ON"

    else

        bonfireButton.Text =
            "Bonfire: OFF"
    end

    addBonfireESP()

    if listFrame.Visible then
        updateObjectList()
    end
end)

willowButton.MouseButton1Click:Connect(function()

    willowEnabled =
        not willowEnabled

    if willowEnabled then

        willowButton.Text =
            "Willow: ON"

    else

        willowButton.Text =
            "Willow: OFF"
    end

    updateWillowESP()

    if listFrame.Visible then
        updateObjectList()
    end
end)

listButton.MouseButton1Click:Connect(function()

    listFrame.Visible =
        not listFrame.Visible

    if listFrame.Visible then

        -- Полностью обновляем список
        updateObjectList()
    end
end)

listClose.MouseButton1Click:Connect(function()

    listFrame.Visible = false
end)

descendantConnection =
    Workspace.DescendantAdded:Connect(function(obj)

        if destroyed then
            return
        end

        if obj.Name == "FixationPolaroid" then

            addPolaroid(obj)

            if listFrame.Visible then

                task.defer(function()

                    if not destroyed
                        and listFrame.Visible then

                        updateObjectList()
                    end
                end)
            end

            return
        end

        if obj.Name == "FixationWillowBox" then

            addWillow(obj)

            if listFrame.Visible then

                task.defer(function()

                    if not destroyed
                        and listFrame.Visible then

                        updateObjectList()
                    end
                end)
            end

            return
        end

        if obj.Name == "Object_0" then

            task.defer(function()

                if destroyed then
                    return
                end

                if safeEnabled then
                    addSafeESP()
                end

                if listFrame.Visible then
                    updateObjectList()
                end
            end)

            return
        end

        if obj.Name == "Meshes/meshPart" then

            task.defer(function()

                if destroyed then
                    return
                end

                if bonfireEnabled then
                    addBonfireESP()
                end

                if listFrame.Visible then
                    updateObjectList()
                end
            end)

            return
        end
    end)

removingConnection =
    Workspace.DescendantRemoving:Connect(function(obj)

        if destroyed then
            return
        end

        local changed = false

        if polaroids[obj] then

            removePolaroid(obj)

            changed = true
        end

        if willows[obj] then

            removeWillow(obj)

            changed = true
        end

        if changed
            and listFrame.Visible then

            task.defer(function()

                if not destroyed
                    and listFrame.Visible then

                    updateObjectList()
                end
            end)
        end
    end)

scanPolaroids()
scanWillows()

addSafeESP()
addBonfireESP()

local function makeDraggable(frame)

    local dragging = false
    local dragStart
    local startPos

    frame.InputBegan:Connect(function(input)

        if input.UserInputType ==
            Enum.UserInputType.MouseButton1 then

            dragging = true

            dragStart =
                input.Position

            startPos =
                frame.Position

            input.Changed:Connect(function()

                if input.UserInputState ==
                    Enum.UserInputState.End then

                    dragging = false
                end
            end)
        end
    end)

    UserInputService.InputChanged:Connect(function(input)

        if not dragging then
            return
        end

        if input.UserInputType ==
            Enum.UserInputType.MouseMovement then

            local delta =
                input.Position -
                dragStart

            frame.Position =
                UDim2.new(
                    startPos.X.Scale,
                    startPos.X.Offset + delta.X,

                    startPos.Y.Scale,
                    startPos.Y.Offset + delta.Y
                )
        end
    end)
end

makeDraggable(mainFrame)
makeDraggable(listFrame)

closeButton.MouseButton1Click:Connect(function()

    destroyed = true

    if descendantConnection then
        descendantConnection:Disconnect()
        descendantConnection = nil
    end

    if removingConnection then
        removingConnection:Disconnect()
        removingConnection = nil
    end

    for object in pairs(polaroids) do

        removeHighlight(
            object,
            POLAROID_ESP_NAME
        )
    end

    for object in pairs(willows) do

        removeHighlight(
            object,
            WILLOW_ESP_NAME
        )
    end

    -- Safe
    local safe =
        getSafeObject()

    if safe then

        removeHighlight(
            safe,
            SAFE_ESP_NAME
        )
    end

    -- Bonfire
    local bonfire =
        getBonfireObject()

    if bonfire then

        removeHighlight(
            bonfire,
            BONFIRE_ESP_NAME
        )
    end

    screenGui:Destroy()
end)

Features & Information

esp / tp to obj and bla bla bla

Community Comments (0)

No comments yet for this script.