
KeylessUniversal

-- ==========================================================
-- ТЕЛЕПОРТ (ПОЛНАЯ ВЕРСИЯ) + ЛОКАЛИЗАЦИЯ 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"))



67