Huqsh
Key RequiredUniversal

Huqsh

Universal Script676767sisi676767sisi 487 views 357 executesUpdated Oct 1, 2026
Unrated
00
Lua Script•1344 lines (48039 chars)
-- ==========================================================
--  ТЕЛЕПОРТ (ПОЛНАЯ ВЕРСИЯ) + ЛОКАЛИЗАЦИЯ RU/EN
--  ТОЧКИ НЕ ПРОПАДАЮТ ПРИ РАЗВОРАЧИВАНИИ
--  + АНИМАЦИЯ ТЕЛЕПОРТА (ID: 134913783169182)
-- ==========================================================

local player = game.Players.LocalPlayer

-- ID анимации телепорта
local TELEPORT_ANIMATION_ID = "rbxassetid://134913783169182"

if player.PlayerGui:FindFirstChild("TeleportGUI") then
    player.PlayerGui.TeleportGUI:Destroy()
end

local gui = Instance.new("ScreenGui")
gui.Name = "TeleportGUI"
gui.Parent = player:WaitForChild("PlayerGui")
gui.ResetOnSpawn = false

-- ===== ЛОКАЛИЗАЦИЯ =====
local currentLang = "ru"

local texts = {
    ru = {
        title = "✦ ТЕЛЕПОРТ ✦",
        tabPoints = "📍 Точки",
        tabPlayers = "👥 Игроки",
        tabSlots = "💾 Слоты",
        tabSettings = "⚙️ Настройки",
        pointPrefix = "📍 Точка ",
        slotPrefix = "Слот ",
        speed = "⚡ Скорость",
        modeSmooth = "🐢 ПЛАВНО",
        modeInstant = "⚡ МГНОВЕННО",
        modeInstantName = "Мгновенный",
        modeSmoothName = "Плавный",
        highlightColor = "🌈 Цвет просветки",
        uiColor = "🎨 Цвет интерфейса",
        autoCriker = "🤖 АВТОКРИКЕР",
        autoToggleOn = "🟢 Вкл",
        autoToggleOff = "🔴 Выкл",
        threshold = "Порог",
        delay = "Задержка",
        seconds = "с",
        target = "Цель",
        notSelected = "Не выбрана",
        select = "Выбрать",
        close = "Закрыть",
        pointSaved = "✅ Точка сохранена! Всего: ",
        pointsCleared = "🗑️ Точки удалены!",
        instantTp = "⚡ Мгновенный телепорт!",
        smoothTp = "🐢 Плавный телепорт!",
        highlightOn = "👁️ Просветка включена! Цвет: ",
        highlightOff = "🔴 Просветка выключена",
        rainbowOn = "🌈 Радужная просветка включена НАВСЕГДА!",
        slotSaved = "✅ Слот ",
        slotLoaded = "✅ Слот ",
        slotEmpty = "❌ Слот пуст!",
        noPoints = "❌ Нет сохранённых точек!",
        selectTarget = "Выберите точку",
        autoCrikerEnabled = "🟢 Автокрикер включён (порог ",
        autoCrikerDisabled = "🔴 Автокрикер выключен",
        autoCrikerNoTarget = "❌ Не выбрана точка для автокрикера!",
        autoCrikerTeleport = "🔄 Автокрикер: игроков ",
        autoCrikerTeleport2 = " >= ",
        autoCrikerTeleport3 = " → телепорт!",
        targetSelected = "✅ Выбрана точка: ",
        guiLoaded = "✅ ТЕЛЕПОРТ ЗАГРУЖЕН!",
        pointsStay = "🔄 Точки НЕ ПРОПАДАЮТ после сворачивания!",
        modeChanged = "Режим изменён: ",
        saved = " сохранён!",
        loaded = " загружен!",
        refreshing = "🔄 Обновление списков...",
        listsUpdated = "✅ Списки обновлены. Точек: ",
        playersCount = ", игроков: ",
        coordinatesCopied = "📋 Координаты скопированы: ",
        copyCoordinates = "📋 Координаты скопированы!",
        copyError = "📋 ",
        langBtn = "🇷🇺 RU",
    },
    en = {
        title = "✦ TELEPORT ✦",
        tabPoints = "📍 Points",
        tabPlayers = "👥 Players",
        tabSlots = "💾 Slots",
        tabSettings = "⚙️ Settings",
        pointPrefix = "📍 Point ",
        slotPrefix = "Slot ",
        speed = "⚡ Speed",
        modeSmooth = "🐢 SMOOTH",
        modeInstant = "⚡ INSTANT",
        modeInstantName = "Instant",
        modeSmoothName = "Smooth",
        highlightColor = "🌈 Highlight Color",
        uiColor = "🎨 UI Color",
        autoCriker = "🤖 AUTO-CRICKER",
        autoToggleOn = "🟢 On",
        autoToggleOff = "🔴 Off",
        threshold = "Threshold",
        delay = "Delay",
        seconds = "s",
        target = "Target",
        notSelected = "Not selected",
        select = "Select",
        close = "Close",
        pointSaved = "✅ Point saved! Total: ",
        pointsCleared = "🗑️ Points cleared!",
        instantTp = "⚡ Instant teleport!",
        smoothTp = "🐢 Smooth teleport!",
        highlightOn = "👁️ Highlight enabled! Color: ",
        highlightOff = "🔴 Highlight disabled",
        rainbowOn = "🌈 Rainbow highlight enabled FOREVER!",
        slotSaved = "✅ Slot ",
        slotLoaded = "✅ Slot ",
        slotEmpty = "❌ Slot is empty!",
        noPoints = "❌ No saved points!",
        selectTarget = "Select Point",
        autoCrikerEnabled = "🟢 Auto-cricker enabled (threshold ",
        autoCrikerDisabled = "🔴 Auto-cricker disabled",
        autoCrikerNoTarget = "❌ No target point selected for auto-cricker!",
        autoCrikerTeleport = "🔄 Auto-cricker: players ",
        autoCrikerTeleport2 = " >= ",
        autoCrikerTeleport3 = " → teleport!",
        targetSelected = "✅ Target selected: ",
        guiLoaded = "✅ TELEPORT LOADED!",
        pointsStay = "🔄 Points DO NOT DISAPPEAR after minimizing!",
        modeChanged = "Mode changed: ",
        saved = " saved!",
        loaded = " loaded!",
        refreshing = "🔄 Refreshing lists...",
        listsUpdated = "✅ Lists updated. Points: ",
        playersCount = ", players: ",
        coordinatesCopied = "📋 Coordinates copied: ",
        copyCoordinates = "📋 Coordinates copied!",
        copyError = "📋 ",
        langBtn = "🇬🇧 EN",
    }
}

local function L(key)
    return texts[currentLang][key] or texts["en"][key] or key
end

-- ===== ДАННЫЕ =====
points = {}
pointId = 0
speed = 25
instant = false
uiSize = 0.85
isMinimized = false
activeTab = 1

-- Цвета интерфейса
uiColorIndex = 1
isUIRainbow = false
uiRainbowTask = nil
uiColors = {
    Color3.fromRGB(25, 25, 45),
    Color3.fromRGB(100, 40, 150),
    Color3.fromRGB(220, 40, 40),
    Color3.fromRGB(40, 100, 220),
    Color3.fromRGB(40, 220, 40),
    Color3.fromRGB(255, 150, 20),
    Color3.fromRGB(255, 50, 180),
    Color3.fromRGB(20, 220, 220),
}
currentColor = uiColors[1]

-- Просветка
highlightColorIndex = 1
isRainbow = false
highlightActive = false
highlightObjects = {}
highlightTask = nil
highlightConnections = {}
highlightColors = {
    {Color3.fromRGB(0, 255, 255), "🩵"},
    {Color3.fromRGB(255, 0, 0), "🔴"},
    {Color3.fromRGB(0, 255, 0), "🟢"},
    {Color3.fromRGB(255, 255, 0), "🟡"},
    {Color3.fromRGB(255, 0, 255), "🟣"},
    {Color3.fromRGB(255, 165, 0), "🟠"},
    {Color3.fromRGB(255, 255, 255), "⚪"},
    {Color3.fromRGB(0, 150, 255), "🔵"},
    {nil, "🌈"},
}
currentHighlightColor = highlightColors[1][1]

-- Автокрикер
autoCrikerEnabled = false
autoCrikerThreshold = 10
autoCrikerDelay = 5
autoCrikerTarget = nil
autoCrikerTask = nil
autoCrikerRunning = false

-- Слоты
slots = {}
for i = 1, 10 do slots[i] = {points = {}, pointId = 0} end

-- ==========================================================
--  ФУНКЦИЯ КОПИРОВАНИЯ
-- ==========================================================
local function copyToClipboard(text)
    local success = false
    if setclipboard then pcall(function() setclipboard(text) end) success = true
    elseif toclipboard then pcall(function() toclipboard(text) end) success = true
    elseif clipboard then pcall(function() clipboard(text) end) success = true
    elseif game:GetService("GuiService") and game:GetService("GuiService").SetClipboard then
        pcall(function() game:GetService("GuiService"):SetClipboard(text) end) success = true
    end
    return success
end

local function copyCoordinates(pos)
    local str = string.format("X: %.2f, Y: %.2f, Z: %.2f", pos.X, pos.Y, pos.Z)
    local ok = copyToClipboard(str)
    if ok then
        print(L("coordinatesCopied") .. str)
        local notif = Instance.new("TextLabel")
        notif.Size = UDim2.new(0, 300, 0, 40)
        notif.Position = UDim2.new(0.5, -150, 0.3, 0)
        notif.BackgroundColor3 = Color3.fromRGB(0, 200, 0)
        notif.BackgroundTransparency = 0.2
        notif.TextColor3 = Color3.fromRGB(255, 255, 255)
        notif.Font = Enum.Font.GothamBold
        notif.TextSize = 18
        notif.Text = L("copyCoordinates")
        notif.Parent = gui
        game:GetService("Debris"):AddItem(notif, 1.5)
    else
        print(L("copyError") .. str)
    end
end

-- ==========================================================
--  АНИМАЦИЯ ТЕЛЕПОРТА
-- ==========================================================
function playTeleportAnimation()
    local char = player.Character
    if not char then return nil, 0 end

    local humanoid = char:FindFirstChildOfClass("Humanoid")
    if not humanoid then return nil, 0 end

    local animator = humanoid:FindFirstChildOfClass("Animator")
    if not animator then
        animator = Instance.new("Animator")
        animator.Parent = humanoid
    end

    local animation = Instance.new("Animation")
    animation.AnimationId = TELEPORT_ANIMATION_ID

    local track
    local ok = pcall(function()
        track = animator:LoadAnimation(animation)
    end)

    if not ok or not track then
        return nil, 0
    end

    track.Priority = Enum.AnimationPriority.Action
    track:Play(0.1)

    return track, track.Length
end

-- ==========================================================
--  ФУНКЦИИ ТЕЛЕПОРТА
-- ==========================================================

function teleportToPosition(pos)
    local char = player.Character
    if not char then return end
    local hrp = char:FindFirstChild("HumanoidRootPart")
    if not hrp then return end

    -- Запускаем анимацию телепорта
    local animTrack, animDuration = playTeleportAnimation()

    if instant then
        -- Короткая задержка для начала анимации
        task.wait(0.15)
        hrp.CFrame = CFrame.new(pos)
        if animTrack then
            local waitTime = math.max(0, animDuration - 0.15)
            if waitTime > 0 then task.wait(waitTime) end
            pcall(function() animTrack:Stop(0.2) end)
        end
        print(L("instantTp"))
        return
    end

    local hum = char:FindFirstChild("Humanoid")
    if hum then
        hum.PlatformStand = true
        hum.AutoRotate = false
    end
    local dist = (hrp.Position - pos).Magnitude
    local dur = math.max(dist / speed, 0.1)
    pcall(function()
        local tween = game:GetService("TweenService"):Create(
            hrp,
            TweenInfo.new(dur, Enum.EasingStyle.Linear),
            {CFrame = CFrame.new(pos)}
        )
        local bv = Instance.new("BodyVelocity")
        bv.MaxForce = Vector3.new(1/0, 1/0, 1/0)
        bv.Velocity = Vector3.new(0, 0, 0)
        bv.Parent = hrp
        tween:Play()
        tween.Completed:Wait()
        bv:Destroy()
    end)
    if hum then
        hum.PlatformStand = false
        hum.AutoRotate = true
    end

    -- Дожидаемся окончания анимации
    if animTrack then
        local remaining = math.max(0, animDuration - dur - 0.15)
        if remaining > 0 then task.wait(remaining) end
        pcall(function() animTrack:Stop(0.2) end)
    end

    print(L("smoothTp"))
end

function savePoint()
    local char = player.Character
    if not char then return end
    local hrp = char:FindFirstChild("HumanoidRootPart")
    if not hrp then return end
    pointId = pointId + 1
    points[L("pointPrefix") .. pointId] = hrp.Position
    refreshAllLists()
    print(L("pointSaved") .. pointId)
end

function clearPoints()
    points = {}
    pointId = 0
    refreshAllLists()
    print(L("pointsCleared"))
end

function teleportToPlayer(targetPlayer)
    if not targetPlayer then return end
    local char = targetPlayer.Character
    if not char then return end
    local hrp = char:FindFirstChild("HumanoidRootPart")
    if hrp then teleportToPosition(hrp.Position) end
end

-- Просветка
function stopHighlight()
    if highlightTask then pcall(coroutine.close, highlightTask) highlightTask = nil end
    for _, conn in ipairs(highlightConnections) do if conn then conn:Disconnect() end end
    highlightConnections = {}
    for _, h in ipairs(highlightObjects) do if h and h.Parent then h:Destroy() end end
    highlightObjects = {}
    highlightActive = false
    print(L("highlightOff"))
end

function startHighlight()
    if highlightActive then stopHighlight() return end
    highlightActive = true
    highlightObjects = {}
    local function createHighlight(char)
        if not char then return end
        for _, h in ipairs(highlightObjects) do if h.Parent == char then return end end
        local h = Instance.new("Highlight")
        h.Parent = char
        h.FillTransparency = 0.4
        h.OutlineColor = Color3.fromRGB(255, 255, 255)
        h.OutlineTransparency = 0
        table.insert(highlightObjects, h)
        return h
    end
    local function updateAllHighlights(color)
        for _, h in ipairs(highlightObjects) do if h and h.Parent then h.FillColor = color end end
    end
    local function onPlayerAdded(p)
        local conn = p.CharacterAdded:Connect(function(char)
            task.wait(0.5)
            if highlightActive then
                local h = createHighlight(char)
                if not isRainbow and h then h.FillColor = currentHighlightColor end
            end
        end)
        table.insert(highlightConnections, conn)
        if p.Character then
            task.wait(0.5)
            if highlightActive then
                local h = createHighlight(p.Character)
                if not isRainbow and h then h.FillColor = currentHighlightColor end
            end
        end
    end
    local playerAddedConn = game:GetService("Players").PlayerAdded:Connect(onPlayerAdded)
    table.insert(highlightConnections, playerAddedConn)
    for _, p in ipairs(game:GetService("Players"):GetPlayers()) do
        if p ~= player and p.Character then createHighlight(p.Character) end
    end
    if isRainbow then
        local hue = 0
        highlightTask = coroutine.create(function()
            while highlightActive do
                hue = (hue + 0.015) % 1
                updateAllHighlights(Color3.fromHSV(hue, 1, 1))
                task.wait(0.05)
            end
        end)
        coroutine.resume(highlightTask)
        print(L("rainbowOn"))
    else
        updateAllHighlights(currentHighlightColor)
        print(L("highlightOn") .. highlightColors[highlightColorIndex][2])
    end
end

function toggleHighlight()
    if highlightActive then stopHighlight() else startHighlight() end
end

-- Радужный фон
function startUIRainbow()
    if isUIRainbow then return end
    isUIRainbow = true
    local hue = 0
    uiRainbowTask = coroutine.create(function()
        while isUIRainbow do
            hue = (hue + 0.008) % 1
            if main then main.BackgroundColor3 = Color3.fromHSV(hue, 1, 1) end
            task.wait(0.05)
        end
    end)
    coroutine.resume(uiRainbowTask)
end

function stopUIRainbow()
    isUIRainbow = false
    if uiRainbowTask then coroutine.close(uiRainbowTask) uiRainbowTask = nil end
    if main then
        if uiColorIndex <= #uiColors then
            main.BackgroundColor3 = uiColors[uiColorIndex]
        else
            main.BackgroundColor3 = uiColors[1]
        end
    end
end

-- ==========================================================
--  АВТОКРИКЕР
-- ==========================================================
function startAutoCriker()
    if autoCrikerRunning then return end
    if not autoCrikerTarget then
        print(L("autoCrikerNoTarget"))
        return
    end
    autoCrikerEnabled = true
    autoCrikerRunning = true
    autoCrikerTask = coroutine.create(function()
        while autoCrikerEnabled do
            local players = game:GetService("Players"):GetPlayers()
            local count = #players
            if count >= autoCrikerThreshold then
                print(L("autoCrikerTeleport") .. count .. L("autoCrikerTeleport2") .. autoCrikerThreshold .. L("autoCrikerTeleport3"))
                teleportToPosition(autoCrikerTarget)
            end
            task.wait(autoCrikerDelay)
        end
        autoCrikerRunning = false
    end)
    coroutine.resume(autoCrikerTask)
    print(L("autoCrikerEnabled") .. autoCrikerThreshold .. ", " .. L("delay") .. " " .. autoCrikerDelay .. L("seconds") .. ")")
    updateAutoUI()
end

function stopAutoCriker()
    autoCrikerEnabled = false
    if autoCrikerTask then
        coroutine.close(autoCrikerTask)
        autoCrikerTask = nil
    end
    autoCrikerRunning = false
    print(L("autoCrikerDisabled"))
    updateAutoUI()
end

function toggleAutoCriker()
    if autoCrikerEnabled then
        stopAutoCriker()
    else
        startAutoCriker()
    end
end

function selectAutoTarget()
    local pointNames = {}
    for name, _ in pairs(points) do table.insert(pointNames, name) end
    if #pointNames == 0 then
        print(L("noPoints"))
        return
    end
    local popup = Instance.new("Frame")
    popup.Size = UDim2.new(0, 300 * uiSize, 0, 300 * uiSize)
    popup.Position = UDim2.new(0.5, -150 * uiSize, 0.5, -150 * uiSize)
    popup.BackgroundColor3 = Color3.fromRGB(20, 20, 40)
    popup.BackgroundTransparency = 0.1
    popup.Active = true
    popup.Draggable = true
    popup.Parent = gui

    local corner = Instance.new("UICorner")
    corner.CornerRadius = UDim.new(0, 10)
    corner.Parent = popup

    local popupTitle = Instance.new("TextLabel")
    popupTitle.Size = UDim2.new(1, 0, 0, 35 * uiSize)
    popupTitle.BackgroundTransparency = 1
    popupTitle.Text = L("selectTarget")
    popupTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
    popupTitle.Font = Enum.Font.GothamBold
    popupTitle.TextSize = 18 * uiSize
    popupTitle.TextXAlignment = Enum.TextXAlignment.Center
    popupTitle.Parent = popup

    local scroll = Instance.new("ScrollingFrame")
    scroll.Size = UDim2.new(1, -10, 0, 220 * uiSize)
    scroll.Position = UDim2.new(0, 5, 0, 40 * uiSize)
    scroll.BackgroundTransparency = 1
    scroll.CanvasSize = UDim2.new(0, 0, 0, 0)
    scroll.ScrollBarThickness = 4
    scroll.Parent = popup

    local y = 0
    for _, name in ipairs(pointNames) do
        local btn = Instance.new("TextButton")
        btn.Size = UDim2.new(1, -8, 0, 32 * uiSize)
        btn.Position = UDim2.new(0, 4, 0, y)
        btn.BackgroundColor3 = Color3.fromRGB(45, 45, 65)
        btn.BorderSizePixel = 0
        btn.Text = name
        btn.TextColor3 = Color3.fromRGB(255, 255, 255)
        btn.Font = Enum.Font.Gotham
        btn.TextSize = 14 * uiSize
        btn.TextXAlignment = Enum.TextXAlignment.Left
        btn.Parent = scroll
        btn.MouseButton1Click:Connect(function()
            autoCrikerTarget = points[name]
            print(L("targetSelected") .. name)
            popup:Destroy()
            updateAutoUI()
        end)
        y = y + 36 * uiSize
    end
    scroll.CanvasSize = UDim2.new(0, 0, 0, y + 10)

    local closeBtn = Instance.new("TextButton")
    closeBtn.Size = UDim2.new(0.4, 0, 0, 35 * uiSize)
    closeBtn.Position = UDim2.new(0.3, 0, 0, 265 * uiSize)
    closeBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
    closeBtn.BorderSizePixel = 0
    closeBtn.Text = L("close")
    closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
    closeBtn.Font = Enum.Font.GothamBold
    closeBtn.TextSize = 14 * uiSize
    closeBtn.Parent = popup
    closeBtn.MouseButton1Click:Connect(function() popup:Destroy() end)
end

function updateAutoUI()
    if autoToggleBtn then
        autoToggleBtn.Text = autoCrikerEnabled and L("autoToggleOff") or L("autoToggleOn")
        autoToggleBtn.BackgroundColor3 = autoCrikerEnabled and Color3.fromRGB(200, 50, 50) or Color3.fromRGB(60, 200, 60)
    end
    if autoThresholdLabel then autoThresholdLabel.Text = L("threshold") .. ": " .. autoCrikerThreshold end
    if autoDelayLabel then autoDelayLabel.Text = L("delay") .. ": " .. autoCrikerDelay .. L("seconds") end
    if autoTargetLabel then
        local targetName = L("notSelected")
        for name, pos in pairs(points) do
            if pos == autoCrikerTarget then targetName = name break end
        end
        autoTargetLabel.Text = L("target") .. ": " .. targetName
    end
    if selectTargetBtn then selectTargetBtn.Text = L("select") end
end

-- Слоты
function saveToSlot(n)
    if not next(points) then print(L("noPoints")) return end
    slots[n] = {points = {}, pointId = pointId}
    for k, v in pairs(points) do slots[n].points[k] = v end
    print(L("slotSaved") .. n .. L("saved"))
    updateSlots()
end

function loadFromSlot(n)
    if not slots[n] or not next(slots[n].points) then print(L("slotEmpty")) return end
    points = {}
    for k, v in pairs(slots[n].points) do points[k] = v end
    pointId = slots[n].pointId or 0
    print(L("slotLoaded") .. n .. L("loaded"))
    refreshAllLists()
    updateSlots()
end

-- ==========================================================
--  СМЕНА ЯЗЫКА
-- ==========================================================
function toggleLanguage()
    currentLang = (currentLang == "ru") and "en" or "ru"
    langBtn.Text = L("langBtn")
    applyLanguage()
end

function applyLanguage()
    title.Text = L("title")
    speedLabel.Text = L("speed") .. ": " .. speed
    speedValue.Text = speed
    modeBtn.Text = instant and L("modeInstant") or L("modeSmooth")
    highlightColorLabel.Text = L("highlightColor") .. ":"
    uiColorLabel.Text = L("uiColor") .. ":"
    autoLabel.Text = L("autoCriker")
    
    for i = 1, 4 do
        tabs[i].Text = L("tabPoints")
        if i == 2 then tabs[i].Text = L("tabPlayers") end
        if i == 3 then tabs[i].Text = L("tabSlots") end
        if i == 4 then tabs[i].Text = L("tabSettings") end
    end
    
    updateAutoUI()
    refreshAllLists()
    if activeTab == 3 then updateSlots() end
end

-- ==========================================================
--  ОБНОВЛЕНИЕ СПИСКОВ
-- ==========================================================
function refreshAllLists()
    print(L("refreshing"))
    
    -- Точки
    for _, child in ipairs(pointsList:GetChildren()) do
        if child:IsA("TextButton") then child:Destroy() end
    end
    local y = 0
    for name, pos in pairs(points) do
        local btn = Instance.new("TextButton")
        btn.Size = UDim2.new(0.7, -8, 0, 34 * uiSize)
        btn.Position = UDim2.new(0, 4, 0, y)
        btn.BackgroundColor3 = Color3.fromRGB(45, 45, 60)
        btn.BorderSizePixel = 0
        btn.Text = name
        btn.TextColor3 = Color3.fromRGB(255, 255, 255)
        btn.Font = Enum.Font.Gotham
        btn.TextSize = 14 * uiSize
        btn.TextXAlignment = Enum.TextXAlignment.Left
        btn.Parent = pointsList
        btn.MouseButton1Click:Connect(function() teleportToPosition(pos) end)

        local copyBtn = Instance.new("TextButton")
        copyBtn.Size = UDim2.new(0.25, -4, 0, 34 * uiSize)
        copyBtn.Position = UDim2.new(0.72, 0, 0, y)
        copyBtn.BackgroundColor3 = Color3.fromRGB(255, 170, 0)
        copyBtn.BorderSizePixel = 0
        copyBtn.Text = "📋"
        copyBtn.TextColor3 = Color3.fromRGB(0, 0, 0)
        copyBtn.Font = Enum.Font.GothamBold
        copyBtn.TextSize = 18 * uiSize
        copyBtn.Parent = pointsList
        copyBtn.MouseButton1Click:Connect(function()
            copyCoordinates(pos)
        end)

        y = y + 38 * uiSize
    end
    pointsList.CanvasSize = UDim2.new(0, 0, 0, y + 10)
    pointsList.Visible = true

    -- Игроки
    for _, child in ipairs(playersList:GetChildren()) do
        if child:IsA("TextButton") then child:Destroy() end
    end
    local players = game:GetService("Players"):GetPlayers()
    y = 0
    for _, p in ipairs(players) do
        if p ~= player then
            local btn = Instance.new("TextButton")
            btn.Size = UDim2.new(1, -8, 0, 32 * uiSize)
            btn.Position = UDim2.new(0, 4, 0, y)
            btn.BackgroundColor3 = Color3.fromRGB(60, 60, 80)
            btn.BorderSizePixel = 0
            btn.Text = "👤 " .. p.Name
            btn.TextColor3 = Color3.fromRGB(255, 255, 255)
            btn.Font = Enum.Font.Gotham
            btn.TextSize = 14 * uiSize
            btn.TextXAlignment = Enum.TextXAlignment.Center
            btn.Parent = playersList
            btn.MouseButton1Click:Connect(function() teleportToPlayer(p) end)
            y = y + 36 * uiSize
        end
    end
    playersList.CanvasSize = UDim2.new(0, 0, 0, y + 10)
    playersList.Visible = true
    
    print(L("listsUpdated") .. #points .. L("playersCount") .. #players)
end

function updateSlots()
    for _, child in ipairs(slotsList:GetChildren()) do
        if child:IsA("Frame") then child:Destroy() end
    end
    local y = 0
    for i = 1, 5 do
        local frame = Instance.new("Frame")
        frame.Size = UDim2.new(1, -8, 0, 36)
        frame.Position = UDim2.new(0, 4, 0, y)
        frame.BackgroundTransparency = 1
        frame.Parent = slotsList
        
        local name = Instance.new("TextLabel")
        name.Size = UDim2.new(0.4, 0, 1, 0)
        name.BackgroundTransparency = 1
        name.Text = L("slotPrefix") .. i
        name.TextColor3 = Color3.fromRGB(255, 255, 255)
        name.Font = Enum.Font.GothamBold
        name.TextSize = 14
        name.TextXAlignment = Enum.TextXAlignment.Left
        name.Parent = frame
        
        local saveSlot = Instance.new("TextButton")
        saveSlot.Size = UDim2.new(0.25, 0, 1, 0)
        saveSlot.Position = UDim2.new(0.42, 0, 0, 0)
        saveSlot.BackgroundColor3 = Color3.fromRGB(60, 200, 100)
        saveSlot.BorderSizePixel = 0
        saveSlot.Text = "💾"
        saveSlot.TextColor3 = Color3.fromRGB(255, 255, 255)
        saveSlot.Font = Enum.Font.GothamBold
        saveSlot.TextSize = 16
        saveSlot.Parent = frame
        saveSlot.MouseButton1Click:Connect(function() saveToSlot(i) end)
        
        local loadSlot = Instance.new("TextButton")
        loadSlot.Size = UDim2.new(0.25, 0, 1, 0)
        loadSlot.Position = UDim2.new(0.69, 0, 0, 0)
        loadSlot.BackgroundColor3 = Color3.fromRGB(255, 170, 0)
        loadSlot.BorderSizePixel = 0
        loadSlot.Text = "📂"
        loadSlot.TextColor3 = Color3.fromRGB(255, 255, 255)
        loadSlot.Font = Enum.Font.GothamBold
        loadSlot.TextSize = 16
        loadSlot.Parent = frame
        loadSlot.MouseButton1Click:Connect(function() loadFromSlot(i) end)
        
        y = y + 40
    end
    slotsList.CanvasSize = UDim2.new(0, 0, 0, y + 10)
    slotsList.Visible = true
end

-- ==========================================================
--  ОБНОВЛЕНИЕ UI
-- ==========================================================
function updateUI()
    if not main then return end

    if isMinimized then
        main.Size = UDim2.new(0, 140 * uiSize, 0, 60 * uiSize)
        main.Position = UDim2.new(0.02, 0, 0.5, -30 * uiSize)
        title.Visible = false
        tabFrame.Visible = false
        pointsList.Visible = false
        playersList.Visible = false
        slotsList.Visible = false
        settingsContainer.Visible = false
        saveBtn.Visible = false
        clearBtn.Visible = false
        highlightBtn.Visible = false
        langBtn.Visible = false
        minimizeBtn.Text = "📂"
        minimizeBtn.Size = UDim2.new(0, 32 * uiSize, 0, 28 * uiSize)
    else
        main.Size = UDim2.new(0, 360 * uiSize, 0, 570 * uiSize)
        main.Position = UDim2.new(0.02, 0, 0.08, 0)
        title.Visible = true
        tabFrame.Visible = true
        langBtn.Visible = true
        for j = 1, 4 do
            containers[j].Visible = (j == activeTab)
            tabs[j].BackgroundColor3 = (j == activeTab) and Color3.fromRGB(60, 130, 255) or Color3.fromRGB(40, 40, 60)
            tabs[j].TextColor3 = (j == activeTab) and Color3.fromRGB(255, 255, 255) or Color3.fromRGB(200, 200, 200)
        end
        saveBtn.Visible = true
        clearBtn.Visible = true
        highlightBtn.Visible = true
        minimizeBtn.Text = "📁"
        minimizeBtn.Size = UDim2.new(0, 40 * uiSize, 0, 30 * uiSize)

        task.spawn(function()
            task.wait(0.1)
            refreshAllLists()
            if activeTab == 3 then updateSlots() end
        end)
    end

    main.BackgroundColor3 = currentColor

    speedLabel.Text = L("speed") .. ": " .. speed
    speedValue.Text = speed
    modeBtn.Text = instant and L("modeInstant") or L("modeSmooth")
    modeBtn.BackgroundColor3 = instant and Color3.fromRGB(255, 170, 0) or Color3.fromRGB(60, 130, 255)

    if uiColorFrame then
        for i, child in ipairs(uiColorFrame:GetChildren()) do
            if child:IsA("TextButton") then
                if isUIRainbow and i == 9 then
                    child.BorderColor3 = Color3.fromRGB(0, 255, 0)
                else
                    child.BorderColor3 = (i == uiColorIndex and not isUIRainbow) and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 255, 255)
                end
            end
        end
    end
    if highlightColorFrame then
        for i, child in ipairs(highlightColorFrame:GetChildren()) do
            if child:IsA("TextButton") then
                child.BorderColor3 = (i == highlightColorIndex) and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 255, 255)
            end
        end
    end

    updateAutoUI()
end

-- ==========================================================
--  СОЗДАНИЕ GUI
-- ==========================================================

main = Instance.new("Frame")
main.Size = UDim2.new(0, 360, 0, 570)
main.Position = UDim2.new(0.02, 0, 0.08, 0)
main.BackgroundColor3 = uiColors[1]
main.BackgroundTransparency = 0.15
main.BorderSizePixel = 0
main.Active = true
main.Draggable = true
main.Parent = gui

local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 10)
corner.Parent = main

minimizeBtn = Instance.new("TextButton")
minimizeBtn.Size = UDim2.new(0, 40 * uiSize, 0, 30 * uiSize)
minimizeBtn.Position = UDim2.new(0.01, 0, 0.01, 0)
minimizeBtn.BackgroundColor3 = Color3.fromRGB(60, 130, 255)
minimizeBtn.BorderSizePixel = 0
minimizeBtn.Text = "📁"
minimizeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
minimizeBtn.Font = Enum.Font.GothamBold
minimizeBtn.TextSize = 18 * uiSize
minimizeBtn.Parent = main
minimizeBtn.MouseButton1Click:Connect(function()
    isMinimized = not isMinimized
    updateUI()
end)

-- Кнопка языка
langBtn = Instance.new("TextButton")
langBtn.Size = UDim2.new(0, 55 * uiSize, 0, 28 * uiSize)
langBtn.Position = UDim2.new(0.14, 0, 0.01, 0)
langBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 60)
langBtn.BorderSizePixel = 0
langBtn.Text = L("langBtn")
langBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
langBtn.Font = Enum.Font.GothamBold
langBtn.TextSize = 14 * uiSize
langBtn.Parent = main
langBtn.MouseButton1Click:Connect(toggleLanguage)

title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 35 * uiSize)
title.Position = UDim2.new(0, 110 * uiSize, 0, 0)
title.BackgroundTransparency = 1
title.Text = L("title")
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.Font = Enum.Font.GothamBold
title.TextSize = 18 * uiSize
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = main

tabFrame = Instance.new("Frame")
tabFrame.Size = UDim2.new(1, -10, 0, 35 * uiSize)
tabFrame.Position = UDim2.new(0, 5, 0, 37 * uiSize)
tabFrame.BackgroundTransparency = 1
tabFrame.Parent = main

tabs = {}
containers = {}
tabNames = {L("tabPoints"), L("tabPlayers"), L("tabSlots"), L("tabSettings")}

for i, name in ipairs(tabNames) do
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(0.25, -3, 1, 0)
    btn.Position = UDim2.new((i-1) * 0.25 + 0.01, 0, 0, 0)
    btn.BackgroundColor3 = (i == 1) and Color3.fromRGB(60, 130, 255) or Color3.fromRGB(40, 40, 60)
    btn.BorderSizePixel = 0
    btn.Text = name
    btn.TextColor3 = (i == 1) and Color3.fromRGB(255, 255, 255) or Color3.fromRGB(200, 200, 200)
    btn.Font = Enum.Font.GothamBold
    btn.TextSize = 16 * uiSize
    btn.Parent = tabFrame
    tabs[i] = btn

    local container = Instance.new("Frame")
    container.Size = UDim2.new(1, 0, 0, 210 * uiSize)
    container.Position = UDim2.new(0, 0, 0, 76 * uiSize)
    container.BackgroundTransparency = 1
    container.Visible = (i == 1)
    container.Parent = main
    containers[i] = container
end

pointsList = Instance.new("ScrollingFrame")
pointsList.Size = UDim2.new(1, -10, 1, 0)
pointsList.Position = UDim2.new(0, 5, 0, 0)
pointsList.BackgroundTransparency = 1
pointsList.CanvasSize = UDim2.new(0, 0, 0, 0)
pointsList.ScrollBarThickness = 5
pointsList.Parent = containers[1]

playersList = Instance.new("ScrollingFrame")
playersList.Size = UDim2.new(1, -10, 1, 0)
playersList.Position = UDim2.new(0, 5, 0, 0)
playersList.BackgroundTransparency = 1
playersList.CanvasSize = UDim2.new(0, 0, 0, 0)
playersList.ScrollBarThickness = 5
playersList.Parent = containers[2]

slotsList = Instance.new("ScrollingFrame")
slotsList.Size = UDim2.new(1, -10, 1, 0)
slotsList.Position = UDim2.new(0, 5, 0, 0)
slotsList.BackgroundTransparency = 1
slotsList.CanvasSize = UDim2.new(0, 0, 0, 0)
slotsList.ScrollBarThickness = 5
slotsList.Parent = containers[3]

settingsContainer = containers[4]

-- ===== ЭЛЕМЕНТЫ НАСТРОЕК =====
speedLabel = Instance.new("TextLabel")
speedLabel.Size = UDim2.new(1, 0, 0, 25 * uiSize)
speedLabel.Position = UDim2.new(0, 0, 0, 5 * uiSize)
speedLabel.BackgroundTransparency = 1
speedLabel.Text = L("speed") .. ": 25"
speedLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
speedLabel.Font = Enum.Font.GothamBold
speedLabel.TextSize = 15 * uiSize
speedLabel.Parent = settingsContainer

local speedFrame = Instance.new("Frame")
speedFrame.Size = UDim2.new(0.8, 0, 0, 32 * uiSize)
speedFrame.Position = UDim2.new(0.1, 0, 0, 32 * uiSize)
speedFrame.BackgroundTransparency = 1
speedFrame.Parent = settingsContainer

speedMinus = Instance.new("TextButton")
speedMinus.Size = UDim2.new(0.2, 0, 1, 0)
speedMinus.Position = UDim2.new(0, 0, 0, 0)
speedMinus.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
speedMinus.BorderSizePixel = 0
speedMinus.Text = "−"
speedMinus.TextColor3 = Color3.fromRGB(255, 255, 255)
speedMinus.Font = Enum.Font.GothamBold
speedMinus.TextSize = 22 * uiSize
speedMinus.Parent = speedFrame
speedMinus.MouseButton1Click:Connect(function()
    speed = math.max(1, speed - 2)
    speedLabel.Text = L("speed") .. ": " .. speed
    speedValue.Text = speed
end)

speedValue = Instance.new("TextLabel")
speedValue.Size = UDim2.new(0.3, 0, 1, 0)
speedValue.Position = UDim2.new(0.35, 0, 0, 0)
speedValue.BackgroundTransparency = 1
speedValue.Text = "25"
speedValue.TextColor3 = Color3.fromRGB(100, 255, 100)
speedValue.Font = Enum.Font.GothamBold
speedValue.TextSize = 20 * uiSize
speedValue.TextXAlignment = Enum.TextXAlignment.Center
speedValue.Parent = speedFrame

speedPlus = Instance.new("TextButton")
speedPlus.Size = UDim2.new(0.2, 0, 1, 0)
speedPlus.Position = UDim2.new(0.8, 0, 0, 0)
speedPlus.BackgroundColor3 = Color3.fromRGB(60, 200, 60)
speedPlus.BorderSizePixel = 0
speedPlus.Text = "+"
speedPlus.TextColor3 = Color3.fromRGB(255, 255, 255)
speedPlus.Font = Enum.Font.GothamBold
speedPlus.TextSize = 22 * uiSize
speedPlus.Parent = speedFrame
speedPlus.MouseButton1Click:Connect(function()
    speed = math.min(200, speed + 2)
    speedLabel.Text = L("speed") .. ": " .. speed
    speedValue.Text = speed
end)

modeBtn = Instance.new("TextButton")
modeBtn.Size = UDim2.new(0.6, 0, 0, 32 * uiSize)
modeBtn.Position = UDim2.new(0.2, 0, 0, 68 * uiSize)
modeBtn.BackgroundColor3 = Color3.fromRGB(60, 130, 255)
modeBtn.BorderSizePixel = 0
modeBtn.Text = L("modeSmooth")
modeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
modeBtn.Font = Enum.Font.GothamBold
modeBtn.TextSize = 14 * uiSize
modeBtn.Parent = settingsContainer
modeBtn.MouseButton1Click:Connect(function()
    instant = not instant
    modeBtn.Text = instant and L("modeInstant") or L("modeSmooth")
    modeBtn.BackgroundColor3 = instant and Color3.fromRGB(255, 170, 0) or Color3.fromRGB(60, 130, 255)
    print(L("modeChanged") .. (instant and L("modeInstantName") or L("modeSmoothName")))
end)

highlightColorLabel = Instance.new("TextLabel")
highlightColorLabel.Size = UDim2.new(1, 0, 0, 22 * uiSize)
highlightColorLabel.Position = UDim2.new(0, 0, 0, 104 * uiSize)
highlightColorLabel.BackgroundTransparency = 1
highlightColorLabel.Text = L("highlightColor") .. ":"
highlightColorLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
highlightColorLabel.Font = Enum.Font.GothamBold
highlightColorLabel.TextSize = 13 * uiSize
highlightColorLabel.Parent = settingsContainer

highlightColorFrame = Instance.new("Frame")
highlightColorFrame.Size = UDim2.new(0.95, 0, 0, 28 * uiSize)
highlightColorFrame.Position = UDim2.new(0.025, 0, 0, 128 * uiSize)
highlightColorFrame.BackgroundTransparency = 1
highlightColorFrame.Parent = settingsContainer

for i, data in ipairs(highlightColors) do
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(0.11, 0, 1, 0)
    btn.Position = UDim2.new((i-1) * 0.115 + 0.01, 0, 0, 0)
    if data[1] then
        btn.BackgroundColor3 = data[1]
        btn.Text = ""
    else
        btn.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
        btn.Text = "🌈"
        btn.TextColor3 = Color3.fromRGB(0, 0, 0)
        btn.Font = Enum.Font.GothamBold
        btn.TextSize = 16 * uiSize
    end
    btn.BorderSizePixel = 2
    btn.BorderColor3 = (i == highlightColorIndex) and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 255, 255)
    btn.Parent = highlightColorFrame
    btn.MouseButton1Click:Connect(function()
        highlightColorIndex = i
        if data[1] then
            isRainbow = false
            currentHighlightColor = data[1]
        else
            isRainbow = true
            currentHighlightColor = nil
        end
        if highlightActive then
            stopHighlight()
            task.wait(0.1)
            startHighlight()
        end
        for j, child in ipairs(highlightColorFrame:GetChildren()) do
            if child:IsA("TextButton") then
                child.BorderColor3 = (j == i) and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 255, 255)
            end
        end
    end)
end

uiColorLabel = Instance.new("TextLabel")
uiColorLabel.Size = UDim2.new(1, 0, 0, 22 * uiSize)
uiColorLabel.Position = UDim2.new(0, 0, 0, 160 * uiSize)
uiColorLabel.BackgroundTransparency = 1
uiColorLabel.Text = L("uiColor") .. ":"
uiColorLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
uiColorLabel.Font = Enum.Font.GothamBold
uiColorLabel.TextSize = 13 * uiSize
uiColorLabel.Parent = settingsContainer

uiColorFrame = Instance.new("Frame")
uiColorFrame.Size = UDim2.new(0.95, 0, 0, 28 * uiSize)
uiColorFrame.Position = UDim2.new(0.025, 0, 0, 184 * uiSize)
uiColorFrame.BackgroundTransparency = 1
uiColorFrame.Parent = settingsContainer

for i = 1, #uiColors do
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(0.11, 0, 1, 0)
    btn.Position = UDim2.new((i-1) * 0.115 + 0.01, 0, 0, 0)
    btn.BackgroundColor3 = uiColors[i]
    btn.BorderSizePixel = 2
    btn.BorderColor3 = (i == uiColorIndex and not isUIRainbow) and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 255, 255)
    btn.Text = ""
    btn.Parent = uiColorFrame
    btn.MouseButton1Click:Connect(function()
        if isUIRainbow then stopUIRainbow() end
        uiColorIndex = i
        currentColor = uiColors[i]
        main.BackgroundColor3 = currentColor
        updateUI()
    end)
end

local rainbowBtn = Instance.new("TextButton")
rainbowBtn.Size = UDim2.new(0.11, 0, 1, 0)
rainbowBtn.Position = UDim2.new(8 * 0.115 + 0.01, 0, 0, 0)
rainbowBtn.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
rainbowBtn.BorderSizePixel = 2
rainbowBtn.BorderColor3 = isUIRainbow and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 255, 255)
rainbowBtn.Text = "🌈"
rainbowBtn.TextColor3 = Color3.fromRGB(0, 0, 0)
rainbowBtn.Font = Enum.Font.GothamBold
rainbowBtn.TextSize = 16 * uiSize
rainbowBtn.Parent = uiColorFrame
rainbowBtn.MouseButton1Click:Connect(function()
    if isUIRainbow then
        stopUIRainbow()
        if uiColorIndex <= #uiColors then
            main.BackgroundColor3 = uiColors[uiColorIndex]
        else
            main.BackgroundColor3 = uiColors[1]
        end
    else
        startUIRainbow()
    end
    updateUI()
end)

autoLabel = Instance.new("TextLabel")
autoLabel.Size = UDim2.new(1, 0, 0, 25 * uiSize)
autoLabel.Position = UDim2.new(0, 0, 0, 216 * uiSize)
autoLabel.BackgroundTransparency = 1
autoLabel.Text = L("autoCriker")
autoLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
autoLabel.Font = Enum.Font.GothamBold
autoLabel.TextSize = 16 * uiSize
autoLabel.TextXAlignment = Enum.TextXAlignment.Center
autoLabel.Parent = settingsContainer

autoToggleBtn = Instance.new("TextButton")
autoToggleBtn.Size = UDim2.new(0.4, 0, 0, 32 * uiSize)
autoToggleBtn.Position = UDim2.new(0.3, 0, 0, 245 * uiSize)
autoToggleBtn.BackgroundColor3 = Color3.fromRGB(60, 200, 60)
autoToggleBtn.BorderSizePixel = 0
autoToggleBtn.Text = L("autoToggleOn")
autoToggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
autoToggleBtn.Font = Enum.Font.GothamBold
autoToggleBtn.TextSize = 14 * uiSize
autoToggleBtn.Parent = settingsContainer
autoToggleBtn.MouseButton1Click:Connect(toggleAutoCriker)

autoThresholdLabel = Instance.new("TextLabel")
autoThresholdLabel.Size = UDim2.new(0.3, 0, 0, 25 * uiSize)
autoThresholdLabel.Position = UDim2.new(0.05, 0, 0, 282 * uiSize)
autoThresholdLabel.BackgroundTransparency = 1
autoThresholdLabel.Text = L("threshold") .. ": 10"
autoThresholdLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
autoThresholdLabel.Font = Enum.Font.GothamBold
autoThresholdLabel.TextSize = 14 * uiSize
autoThresholdLabel.TextXAlignment = Enum.TextXAlignment.Left
autoThresholdLabel.Parent = settingsContainer

local thresholdMinus = Instance.new("TextButton")
thresholdMinus.Size = UDim2.new(0.08, 0, 0, 25 * uiSize)
thresholdMinus.Position = UDim2.new(0.38, 0, 0, 282 * uiSize)
thresholdMinus.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
thresholdMinus.BorderSizePixel = 0
thresholdMinus.Text = "−"
thresholdMinus.TextColor3 = Color3.fromRGB(255, 255, 255)
thresholdMinus.Font = Enum.Font.GothamBold
thresholdMinus.TextSize = 18 * uiSize
thresholdMinus.Parent = settingsContainer
thresholdMinus.MouseButton1Click:Connect(function()
    autoCrikerThreshold = math.max(1, autoCrikerThreshold - 1)
    updateAutoUI()
end)

local thresholdPlus = Instance.new("TextButton")
thresholdPlus.Size = UDim2.new(0.08, 0, 0, 25 * uiSize)
thresholdPlus.Position = UDim2.new(0.48, 0, 0, 282 * uiSize)
thresholdPlus.BackgroundColor3 = Color3.fromRGB(60, 200, 60)
thresholdPlus.BorderSizePixel = 0
thresholdPlus.Text = "+"
thresholdPlus.TextColor3 = Color3.fromRGB(255, 255, 255)
thresholdPlus.Font = Enum.Font.GothamBold
thresholdPlus.TextSize = 18 * uiSize
thresholdPlus.Parent = settingsContainer
thresholdPlus.MouseButton1Click:Connect(function()
    autoCrikerThreshold = math.min(50, autoCrikerThreshold + 1)
    updateAutoUI()
end)

autoDelayLabel = Instance.new("TextLabel")
autoDelayLabel.Size = UDim2.new(0.3, 0, 0, 25 * uiSize)
autoDelayLabel.Position = UDim2.new(0.05, 0, 0, 312 * uiSize)
autoDelayLabel.BackgroundTransparency = 1
autoDelayLabel.Text = L("delay") .. ": 5" .. L("seconds")
autoDelayLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
autoDelayLabel.Font = Enum.Font.GothamBold
autoDelayLabel.TextSize = 14 * uiSize
autoDelayLabel.TextXAlignment = Enum.TextXAlignment.Left
autoDelayLabel.Parent = settingsContainer

local delayMinus = Instance.new("TextButton")
delayMinus.Size = UDim2.new(0.08, 0, 0, 25 * uiSize)
delayMinus.Position = UDim2.new(0.38, 0, 0, 312 * uiSize)
delayMinus.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
delayMinus.BorderSizePixel = 0
delayMinus.Text = "−"
delayMinus.TextColor3 = Color3.fromRGB(255, 255, 255)
delayMinus.Font = Enum.Font.GothamBold
delayMinus.TextSize = 18 * uiSize
delayMinus.Parent = settingsContainer
delayMinus.MouseButton1Click:Connect(function()
    autoCrikerDelay = math.max(1, autoCrikerDelay - 1)
    updateAutoUI()
end)

local delayPlus = Instance.new("TextButton")
delayPlus.Size = UDim2.new(0.08, 0, 0, 25 * uiSize)
delayPlus.Position = UDim2.new(0.48, 0, 0, 312 * uiSize)
delayPlus.BackgroundColor3 = Color3.fromRGB(60, 200, 60)
delayPlus.BorderSizePixel = 0
delayPlus.Text = "+"
delayPlus.TextColor3 = Color3.fromRGB(255, 255, 255)
delayPlus.Font = Enum.Font.GothamBold
delayPlus.TextSize = 18 * uiSize
delayPlus.Parent = settingsContainer
delayPlus.MouseButton1Click:Connect(function()
    autoCrikerDelay = math.min(60, autoCrikerDelay + 1)
    updateAutoUI()
end)

autoTargetLabel = Instance.new("TextLabel")
autoTargetLabel.Size = UDim2.new(0.6, 0, 0, 25 * uiSize)
autoTargetLabel.Position = UDim2.new(0.05, 0, 0, 342 * uiSize)
autoTargetLabel.BackgroundTransparency = 1
autoTargetLabel.Text = L("target") .. ": " .. L("notSelected")
autoTargetLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
autoTargetLabel.Font = Enum.Font.GothamBold
autoTargetLabel.TextSize = 13 * uiSize
autoTargetLabel.TextXAlignment = Enum.TextXAlignment.Left
autoTargetLabel.Parent = settingsContainer

selectTargetBtn = Instance.new("TextButton")
selectTargetBtn.Size = UDim2.new(0.3, 0, 0, 28 * uiSize)
selectTargetBtn.Position = UDim2.new(0.65, 0, 0, 342 * uiSize)
selectTargetBtn.BackgroundColor3 = Color3.fromRGB(255, 170, 0)
selectTargetBtn.BorderSizePixel = 0
selectTargetBtn.Text = L("select")
selectTargetBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
selectTargetBtn.Font = Enum.Font.GothamBold
selectTargetBtn.TextSize = 13 * uiSize
selectTargetBtn.Parent = settingsContainer
selectTargetBtn.MouseButton1Click:Connect(selectAutoTarget)

-- ===== КНОПКИ ВНИЗУ =====
saveBtn = Instance.new("TextButton")
saveBtn.Size = UDim2.new(0.18, 0, 0, 36 * uiSize)
saveBtn.Position = UDim2.new(0.02, 0, 0, 216 * uiSize)
saveBtn.BackgroundColor3 = Color3.fromRGB(60, 130, 255)
saveBtn.BorderSizePixel = 0
saveBtn.Text = "💾"
saveBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
saveBtn.Font = Enum.Font.GothamBold
saveBtn.TextSize = 18 * uiSize
saveBtn.Parent = main
saveBtn.MouseButton1Click:Connect(savePoint)

clearBtn = Instance.new("TextButton")
clearBtn.Size = UDim2.new(0.18, 0, 0, 36 * uiSize)
clearBtn.Position = UDim2.new(0.22, 0, 0, 216 * uiSize)
clearBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
clearBtn.BorderSizePixel = 0
clearBtn.Text = "🗑️"
clearBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
clearBtn.Font = Enum.Font.GothamBold
clearBtn.TextSize = 18 * uiSize
clearBtn.Parent = main
clearBtn.MouseButton1Click:Connect(clearPoints)

highlightBtn = Instance.new("TextButton")
highlightBtn.Size = UDim2.new(0.28, 0, 0, 36 * uiSize)
highlightBtn.Position = UDim2.new(0.42, 0, 0, 216 * uiSize)
highlightBtn.BackgroundColor3 = Color3.fromRGB(100, 50, 200)
highlightBtn.BorderSizePixel = 0
highlightBtn.Text = "👁️"
highlightBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
highlightBtn.Font = Enum.Font.GothamBold
highlightBtn.TextSize = 18 * uiSize
highlightBtn.Parent = main
highlightBtn.MouseButton1Click:Connect(toggleHighlight)

-- ==========================================================
--  ПЕРЕКЛЮЧЕНИЕ ВКЛАДОК
-- ==========================================================
for i = 1, 4 do
    local btn = tabs[i]
    btn.MouseButton1Click:Connect(function()
        activeTab = i
        for j = 1, 4 do
            containers[j].Visible = (j == i)
            tabs[j].BackgroundColor3 = (j == i) and Color3.fromRGB(60, 130, 255) or Color3.fromRGB(40, 40, 60)
            tabs[j].TextColor3 = (j == i) and Color3.fromRGB(255, 255, 255) or Color3.fromRGB(200, 200, 200)
        end
        if i == 2 then refreshAllLists() end
        if i == 3 then updateSlots() end
    end)
end

-- ==========================================================
--  ЗАПУСК
-- ==========================================================
refreshAllLists()
updateSlots()
updateUI()

print(L("guiLoaded"))
print("📁 " .. (currentLang == "ru" and "Сворачивание – только маленькое окно" or "Minimize – small window only"))
print("📍 " .. L("tabPoints") .. " | 👥 " .. L("tabPlayers") .. " | 💾 " .. L("tabSlots") .. " | ⚙️ " .. L("tabSettings"))
print(L("pointsStay"))
print("📋 " .. (currentLang == "ru" and "Кнопка 📋 копирует координаты" or "📋 button copies coordinates"))
print("🎬 " .. (currentLang == "ru" and "Анимация телепорта: 134913783169182" or "Teleport animation: 134913783169182"))

Features & Information

Ff

Community Comments (1)

676767sisi676767sisiOct 11, 2026

67

More Scripts for Universal Scripts