local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local HttpService = game:GetService("HttpService")
local TweenService = game:GetService("TweenService")
local LocalPlayer = Players.LocalPlayer
while not LocalPlayer do
task.wait()
LocalPlayer = Players.LocalPlayer
end
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
-- Текущие глобальные состояния системы
local currentTab = 1 -- 1 = Экзекутор, 2 = Поиск, 3 = Настройки
local currentLang = "RU"
local currentAPI = "ScriptBlox" -- ScriptBlox, Alternative, Double
-- =============================================================================
-- ТАБЛИЦА СИСТЕМЫ ЛОКАЛИЗАЦИИ (МГНОВЕННЫЙ ПЕРЕВОД ИНТЕРФЕЙСА)
-- =============================================================================
local Localization = {
RU = {
statsTitle = "Статистика сервера", statsInfo = "пока нету информации",
checkTitle = "проверь этот скрипт", exec = "Execute", copy = "Copy",
searchPlace = "Введи текст для поиска скриптов (Нажми Enter)...",
setLanguage = "СМЕНА ЯЗЫКА ИНТЕРФЕЙСА", setApi = "ВЫБОР ИСТОЧНИКА API",
copied = "Скопировано!"
},
EN = {
statsTitle = "Server Statistics", statsInfo = "no information available yet",
checkTitle = "check out this script", exec = "Execute", copy = "Copy",
searchPlace = "Enter text to search for scripts (Press Enter)...",
setLanguage = "CHANGE INTERFACE LANGUAGE", setApi = "SELECT API PROVIDER",
copied = "Copied!"
},
ES = {
statsTitle = "Estadísticas del Servidor", statsInfo = "no hay información disponible",
checkTitle = "prueba este script", exec = "Ejecutar", copy = "Copiar",
searchPlace = "Escribe texto para buscar scripts (Enter)...",
setLanguage = "CAMBIAR IDIOMA DE INTERFAZ", setApi = "SELECCIONAR PROVEEDOR API",
copied = "¡Copiado!"
},
IT = {
statsTitle = "Statistiche del Server", statsInfo = "nessuna informazione disponibile",
checkTitle = "controlla questo script", exec = "Esegui", copy = "Copia",
searchPlace = "Inserisci il testo per cercare gli script (Invio)...",
setLanguage = "CAMBIA LINGUA INTERFACCIA", setApi = "SELEZIONA PROVIDER API",
copied = "Copiato!"
},
GE = {
statsTitle = "სერვერის სტატისტიკა", statsInfo = "ინფორმაცია არ არის",
checkTitle = "შეამოწმე ეს სკრიპტი", exec = "გაშვება", copy = "კოპირება",
searchPlace = "ჩაწერეთ ტექსტი ძებნისთვის (აჭირეთ Enter)...",
setLanguage = "ინტერფეისის ენის შეცვლა", setApi = "API წყაროს არჩევა",
copied = "კოპირებულია!"
}
}
-- =============================================================================
-- 1. ОСНОВНЫЕ КОНТЕЙНЕРЫ И ИСТИННЫЙ ПОЛНОЭКРАННЫЙ ФИЛЬТР
-- =============================================================================
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "AdvancedSidebarSystem"
ScreenGui.ResetOnSpawn = false
ScreenGui.IgnoreGuiInset = true
ScreenGui.Parent = PlayerGui
local DarkOverlay = Instance.new("Frame")
DarkOverlay.Name = "DarkOverlay"
DarkOverlay.Size = UDim2.new(1, 0, 1, 0)
DarkOverlay.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
DarkOverlay.BackgroundTransparency = 1
DarkOverlay.ZIndex = 2
DarkOverlay.Visible = false
DarkOverlay.Parent = ScreenGui
local lastDraggedPosition = UDim2.new(0.5, -50, 0.5, -50)
local MainContainer = Instance.new("Frame")
MainContainer.Name = "MainContainer"
MainContainer.Size = UDim2.new(0, 100, 0, 100)
MainContainer.Position = lastDraggedPosition
MainContainer.BackgroundTransparency = 1
MainContainer.ZIndex = 10
MainContainer.Parent = ScreenGui
-- =============================================================================
-- 2. ЗВЕЗДА И ДИНАМИЧЕСКИЙ ТЕКСТ
-- =============================================================================
local Star = Instance.new("TextLabel")
Star.Name = "RotatingStar"
Star.Size = UDim2.new(1, 0, 1, 0)
Star.BackgroundTransparency = 1
Star.Text = "★"
Star.TextScaled = true
Star.Font = Enum.Font.SpecialElite
Star.ZIndex = 10
Star.Active = true
Star.Parent = MainContainer
local StarStroke = Instance.new("UIStroke")
StarStroke.Thickness = 3
StarStroke.Color = Color3.fromRGB(0, 0, 0)
StarStroke.Parent = Star
local CenterText = Instance.new("TextLabel")
CenterText.Name = "CenterText"
CenterText.Size = UDim2.new(0, 85, 0, 30)
CenterText.Position = UDim2.new(0.5, -42.5, 0.5, -15)
CenterText.BackgroundTransparency = 1
CenterText.Text = "SCRIPT"
CenterText.TextScaled = true
CenterText.Font = Enum.Font.GothamBold
CenterText.ZIndex = 11
CenterText.Active = true
CenterText.Parent = MainContainer
local TextStroke = Instance.new("UIStroke")
TextStroke.Thickness = 2
TextStroke.Color = Color3.fromRGB(0, 0, 0)
TextStroke.Parent = CenterText
-- =============================================================================
-- 3. ВЕРТИКАЛЬНЫЙ БАР (СПРАВА) С ДОБАВЛЕНИЕМ КНОПКИ НАСТРОЕК
-- =============================================================================
local StandaloneBar = Instance.new("Frame")
StandaloneBar.Name = "RightSidebar"
StandaloneBar.Size = UDim2.new(0, 65, 1, 0)
StandaloneBar.Position = UDim2.new(1, 0, 0, 0)
StandaloneBar.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
StandaloneBar.BorderSizePixel = 0
StandaloneBar.ZIndex = 4
StandaloneBar.Visible = false
StandaloneBar.Parent = ScreenGui
local SidebarStroke = Instance.new("UIStroke")
SidebarStroke.Thickness = 1
SidebarStroke.Color = Color3.fromRGB(0, 0, 0)
SidebarStroke.Parent = StandaloneBar
local BarPadding = Instance.new("UIPadding")
BarPadding.PaddingTop = UDim.new(0, 45)
BarPadding.Parent = StandaloneBar
local BarLayout = Instance.new("UIListLayout")
BarLayout.Padding = UDim.new(0, 12)
BarLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
BarLayout.VerticalAlignment = Enum.VerticalAlignment.Top
BarLayout.Parent = StandaloneBar
-- Вкладка 1: Executor
local TabBtn1 = Instance.new("TextButton")
TabBtn1.Name = "ExecutorTab"
TabBtn1.Size = UDim2.new(0, 44, 0, 44)
TabBtn1.BackgroundColor3 = Color3.fromRGB(0, 110, 255)
TabBtn1.Text = "🎮"
TabBtn1.TextSize = 22
TabBtn1.TextColor3 = Color3.fromRGB(255, 255, 255)
TabBtn1.ZIndex = 5
TabBtn1.Parent = StandaloneBar
local CornerT1 = Instance.new("UICorner")
CornerT1.CornerRadius = UDim.new(0, 15)
CornerT1.Parent = TabBtn1
-- Вкладка 2: Поиск
local TabBtn2 = Instance.new("TextButton")
TabBtn2.Name = "ScriptsTab"
TabBtn2.Size = UDim2.new(0, 44, 0, 44)
TabBtn2.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
TabBtn2.Text = "☁️"
TabBtn2.TextSize = 22
TabBtn2.TextColor3 = Color3.fromRGB(160, 160, 160)
TabBtn2.ZIndex = 5
TabBtn2.Parent = StandaloneBar
local CornerT2 = Instance.new("UICorner")
CornerT2.CornerRadius = UDim.new(0, 15)
CornerT2.Parent = TabBtn2
-- Вкладка 3: Шестерёнка Настроек (Новая!)
local TabBtn3 = Instance.new("TextButton")
TabBtn3.Name = "SettingsTab"
TabBtn3.Size = UDim2.new(0, 44, 0, 44)
TabBtn3.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
TabBtn3.Text = "⚙️"
TabBtn3.TextSize = 22
TabBtn3.TextColor3 = Color3.fromRGB(160, 160, 160)
TabBtn3.ZIndex = 5
TabBtn3.Parent = StandaloneBar
local CornerT3 = Instance.new("UICorner")
CornerT3.CornerRadius = UDim.new(0, 15)
CornerT3.Parent = TabBtn3
-- =============================================================================
-- 4. ОКНО ЭКЗЕКЬЮТОРА И СТАТИСТИКИ
-- =============================================================================
local Gui1 = Instance.new("CanvasGroup")
Gui1.Name = "ExecutorMain"
Gui1.Size = UDim2.new(0, 360, 0, 230)
Gui1.Position = UDim2.new(0.5, -180, 0.5, -115)
Gui1.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
Gui1.ZIndex = 3
Gui1.Visible = false
Gui1.GroupTransparency = 1
Gui1.Parent = ScreenGui
local Gui1Corner = Instance.new("UICorner")
Gui1Corner.CornerRadius = UDim.new(0, 10)
Gui1Corner.Parent = Gui1
local Gui1Stroke = Instance.new("UIStroke")
Gui1Stroke.Thickness = 2
Gui1Stroke.Color = Color3.fromRGB(0, 0, 0)
Gui1Stroke.Parent = Gui1
local Gui2 = Instance.new("Frame")
Gui2.Name = "ExecutorInner"
Gui2.Size = UDim2.new(0.94, 0, 0.93, 0)
Gui2.Position = UDim2.new(0.03, 0, 0.035, 0)
Gui2.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
Gui2.ZIndex = 4
Gui2.BorderSizePixel = 0
Gui2.Parent = Gui1
local Gui2Corner = Instance.new("UICorner")
Gui2Corner.CornerRadius = UDim.new(0, 8)
Gui2Corner.Parent = Gui2
local CodeTextBox = Instance.new("TextBox")
CodeTextBox.Name = "CodeTextBox"
CodeTextBox.Size = UDim2.new(0.94, 0, 0.62, 0)
CodeTextBox.Position = UDim2.new(0.03, 0, 0.04, 0)
CodeTextBox.BackgroundColor3 = Color3.fromRGB(33, 33, 33)
CodeTextBox.TextColor3 = Color3.fromRGB(255, 255, 255)
CodeTextBox.Text = "-- Вставь свой скрипт сюда"
CodeTextBox.ClearTextOnFocus = false
CodeTextBox.MultiLine = true
CodeTextBox.TextXAlignment = Enum.TextXAlignment.Left
CodeTextBox.TextYAlignment = Enum.TextYAlignment.Top
CodeTextBox.Font = Enum.Font.Code
CodeTextBox.TextSize = 14
CodeTextBox.ZIndex = 5
CodeTextBox.Parent = Gui2
local BoxCorner = Instance.new("UICorner")
BoxCorner.CornerRadius = UDim.new(0, 6)
BoxCorner.Parent = CodeTextBox
local ExecuteButton = Instance.new("TextButton")
ExecuteButton.Name = "ExecuteButton"
ExecuteButton.Size = UDim2.new(0, 120, 0, 38)
ExecuteButton.Position = UDim2.new(0.03, 0, 0.72, 0)
ExecuteButton.BackgroundColor3 = Color3.fromRGB(0, 110, 255)
ExecuteButton.Text = ""
ExecuteButton.ZIndex = 5
ExecuteButton.Parent = Gui2
local BtnCorner1 = Instance.new("UICorner")
BtnCorner1.CornerRadius = UDim.new(0, 6)
BtnCorner1.Parent = ExecuteButton
local ExecButtonStroke = Instance.new("UIStroke")
ExecButtonStroke.Thickness = 1.5
ExecButtonStroke.Color = Color3.fromRGB(0, 0, 0)
ExecButtonStroke.Parent = ExecuteButton
local ButtonDarkLayer = Instance.new("Frame")
ButtonDarkLayer.Name = "ButtonDarkLayer"
ButtonDarkLayer.Size = UDim2.new(0.92, 0, 0.82, 0)
ButtonDarkLayer.Position = UDim2.new(0.04, 0, 0.09, 0)
ButtonDarkLayer.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
ButtonDarkLayer.BorderSizePixel = 0
ButtonDarkLayer.ZIndex = 6
ButtonDarkLayer.Parent = ExecuteButton
local BtnCorner2 = Instance.new("UICorner")
BtnCorner2.CornerRadius = UDim.new(0, 5)
BtnCorner2.Parent = ButtonDarkLayer
local ExecTextLabel = Instance.new("TextLabel")
ExecTextLabel.Name = "ExecTextLabel"
ExecTextLabel.Size = UDim2.new(1, 0, 1, 0)
ExecTextLabel.BackgroundTransparency = 1
ExecTextLabel.Text = "Execute"
ExecTextLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
ExecTextLabel.Font = Enum.Font.GothamBold
ExecTextLabel.TextSize = 14
ExecTextLabel.ZIndex = 7
ExecTextLabel.Parent = ButtonDarkLayer
local GfGui1 = Instance.new("CanvasGroup")
GfGui1.Name = "GfGui1"
GfGui1.Size = UDim2.new(0, 190, 0, 110)
GfGui1.Position = UDim2.new(0.5, -385, 0.5, -115)
GfGui1.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
GfGui1.ZIndex = 3
GfGui1.Visible = false
GfGui1.GroupTransparency = 1
GfGui1.Parent = ScreenGui
local GfGui1Corner = Instance.new("UICorner")
GfGui1Corner.CornerRadius = UDim.new(0, 10)
GfGui1Corner.Parent = GfGui1
local GfGui1Stroke = Instance.new("UIStroke")
GfGui1Stroke.Thickness = 1.5
GfGui1Stroke.Color = Color3.fromRGB(0, 0, 0)
GfGui1Stroke.Parent = GfGui1
local GfGui2 = Instance.new("Frame")
GfGui2.Name = "GfGui2"
GfGui2.Size = UDim2.new(0.93, 0, 0.88, 0)
GfGui2.Position = UDim2.new(0.035, 0, 0.06, 0)
GfGui2.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
GfGui2.ZIndex = 4
GfGui2.BorderSizePixel = 0
GfGui2.Parent = GfGui1
local GfGui2Corner = Instance.new("UICorner")
GfGui2Corner.CornerRadius = UDim.new(0, 8)
GfGui2Corner.Parent = GfGui2
local GfTitle = Instance.new("TextLabel")
GfTitle.Size = UDim2.new(0.9, 0, 0.25, 0)
GfTitle.Position = UDim2.new(0.05, 0, 0.08, 0)
GfTitle.BackgroundTransparency = 1
GfTitle.Text = "Статистика сервера"
GfTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
GfTitle.Font = Enum.Font.GothamBold
GfTitle.TextSize = 12
GfTitle.TextXAlignment = Enum.TextXAlignment.Left
GfTitle.ZIndex = 5
GfTitle.Parent = GfGui2
local GfInfoText = Instance.new("TextLabel")
GfInfoText.Size = UDim2.new(0.9, 0, 0.5, 0)
GfInfoText.Position = UDim2.new(0.05, 0, 0.38, 0)
GfInfoText.BackgroundTransparency = 1
GfInfoText.Text = "пока нету информации"
GfInfoText.TextColor3 = Color3.fromRGB(170, 170, 170)
GfInfoText.Font = Enum.Font.Gotham
GfInfoText.TextSize = 11
GfInfoText.TextXAlignment = Enum.TextXAlignment.Left
GfInfoText.TextYAlignment = Enum.TextYAlignment.Top
GfInfoText.ZIndex = 5
GfInfoText.Parent = GfGui2
local DfGui1 = Instance.new("CanvasGroup")
DfGui1.Name = "DfGui1"
DfGui1.Size = UDim2.new(0, 190, 0, 110)
DfGui1.Position = UDim2.new(0.5, -385, 0.5, 5)
DfGui1.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
DfGui1.ZIndex = 3
DfGui1.Visible = false
DfGui1.GroupTransparency = 1
DfGui1.Parent = ScreenGui
local DfGui1Corner = Instance.new("UICorner")
DfGui1Corner.CornerRadius = UDim.new(0, 10)
DfGui1Corner.Parent = DfGui1
local DfGui1Stroke = Instance.new("UIStroke")
DfGui1Stroke.Thickness = 1.5
DfGui1Stroke.Color = Color3.fromRGB(0, 0, 0)
DfGui1Stroke.Parent = DfGui1
local DfGui2 = Instance.new("Frame")
DfGui2.Size = UDim2.new(0.93, 0, 0.88, 0)
DfGui2.Position = UDim2.new(0.035, 0, 0.06, 0)
DfGui2.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
DfGui2.ZIndex = 4
DfGui2.BorderSizePixel = 0
DfGui2.Parent = DfGui1
local DfGui2Corner = Instance.new("UICorner")
DfGui2Corner.CornerRadius = UDim.new(0, 8)
DfGui2Corner.Parent = DfGui2
local DfTitle = Instance.new("TextLabel")
DfTitle.Size = UDim2.new(0.9, 0, 0.22, 0)
DfTitle.Position = UDim2.new(0.05, 0, 0.05, 0)
DfTitle.BackgroundTransparency = 1
DfTitle.Text = "проверь этот скрипт"
DfTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
DfTitle.Font = Enum.Font.GothamBold
DfTitle.TextSize = 11
DfTitle.TextXAlignment = Enum.TextXAlignment.Left
DfTitle.ZIndex = 5
DfTitle.Parent = DfGui2
local DfDescText = Instance.new("TextLabel")
DfDescText.Size = UDim2.new(0.9, 0, 0.38, 0)
DfDescText.Position = UDim2.new(0.05, 0, 0.28, 0)
DfDescText.BackgroundTransparency = 1
DfDescText.Text = "INFINITE YIELD\nan admin script dedicated to provide the necessities of exploiting."
DfDescText.RichText = true
DfDescText.TextColor3 = Color3.fromRGB(150, 150, 150)
DfDescText.Font = Enum.Font.Gotham
DfDescText.TextSize = 9
DfDescText.TextWrapped = true
DfDescText.TextXAlignment = Enum.TextXAlignment.Left
DfDescText.TextYAlignment = Enum.TextYAlignment.Top
DfDescText.ZIndex = 5
DfDescText.Parent = DfGui2
local IYButton = Instance.new("TextButton")
IYButton.Size = UDim2.new(0, 160, 0, 24)
IYButton.Position = UDim2.new(0.5, -80, 0.68, 0)
IYButton.BackgroundColor3 = Color3.fromRGB(65, 65, 65)
IYButton.Text = "Infinite Yield"
IYButton.TextColor3 = Color3.fromRGB(255, 255, 255)
IYButton.Font = Enum.Font.GothamBold
IYButton.TextSize = 10
IYButton.ZIndex = 6
IYButton.Parent = DfGui2
local IYCorner = Instance.new("UICorner")
IYCorner.CornerRadius = UDim.new(0, 5)
IYCorner.Parent = IYButton
IYButton.MouseButton1Click:Connect(function()
pcall(function()
loadstring(game:HttpGet("https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source"))()
end)
end)
-- =============================================================================
-- 5. МОДЕРНИЗИРОВАННОЕ ОКНО ПОИСКА СКРИПТОВ
-- =============================================================================
local SearchMain = Instance.new("CanvasGroup")
SearchMain.Name = "SearchMain"
SearchMain.Size = UDim2.new(0, 500, 0, 300)
SearchMain.Position = UDim2.new(0.5, -250, 0.5, -150)
SearchMain.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
SearchMain.ZIndex = 3
SearchMain.Visible = false
SearchMain.GroupTransparency = 1
SearchMain.Parent = ScreenGui
local SearchMainCorner = Instance.new("UICorner")
SearchMainCorner.CornerRadius = UDim.new(0, 12)
SearchMainCorner.Parent = SearchMain
local SearchMainStroke = Instance.new("UIStroke")
SearchMainStroke.Thickness = 1.5
SearchMainStroke.Color = Color3.fromRGB(0, 0, 0)
SearchMainStroke.Parent = SearchMain
local SearchTopbar2 = Instance.new("Frame")
SearchTopbar2.Name = "SearchTopbar2"
SearchTopbar2.Size = UDim2.new(0.95, 0, 0, 38)
SearchTopbar2.Position = UDim2.new(0.025, 0, 0, 10)
SearchTopbar2.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
SearchTopbar2.ZIndex = 4
SearchTopbar2.BorderSizePixel = 0
SearchTopbar2.Parent = SearchMain
local SearchTopbar2Corner = Instance.new("UICorner")
SearchTopbar2Corner.CornerRadius = UDim.new(0, 8)
SearchTopbar2Corner.Parent = SearchTopbar2
local SearchTextBox = Instance.new("TextBox")
SearchTextBox.Name = "SearchTextBox"
SearchTextBox.Size = UDim2.new(0.95, 0, 1, 0)
SearchTextBox.Position = UDim2.new(0.025, 0, 0, 0)
SearchTextBox.BackgroundTransparency = 1
SearchTextBox.Text = ""
SearchTextBox.PlaceholderText = Localization.RU.searchPlace
SearchTextBox.TextColor3 = Color3.fromRGB(255, 255, 255)
SearchTextBox.PlaceholderColor3 = Color3.fromRGB(160, 160, 160)
SearchTextBox.Font = Enum.Font.Gotham
SearchTextBox.TextSize = 13
SearchTextBox.TextXAlignment = Enum.TextXAlignment.Left
SearchTextBox.ClearTextOnFocus = false
SearchTextBox.ZIndex = 5
SearchTextBox.Parent = SearchTopbar2
local SearchResultsFrame = Instance.new("ScrollingFrame")
SearchResultsFrame.Name = "SearchResultsFrame"
SearchResultsFrame.Size = UDim2.new(0.95, 0, 0, 230)
SearchResultsFrame.Position = UDim2.new(0.025, 0, 0, 58)
SearchResultsFrame.BackgroundTransparency = 1
SearchResultsFrame.BorderSizePixel = 0
SearchResultsFrame.ScrollBarThickness = 4
SearchResultsFrame.ScrollBarImageColor3 = Color3.fromRGB(100, 100, 100)
SearchResultsFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
SearchResultsFrame.ZIndex = 4
SearchResultsFrame.Parent = SearchMain
local SearchResultsLayout = Instance.new("UIListLayout")
SearchResultsLayout.Padding = UDim.new(0, 8)
SearchResultsLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
SearchResultsLayout.SortOrder = Enum.SortOrder.LayoutOrder
SearchResultsLayout.Parent = SearchResultsFrame
SearchResultsLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
SearchResultsFrame.CanvasSize = UDim2.new(0, 0, 0, SearchResultsLayout.AbsoluteContentSize.Y + 10)
end)
-- =============================================================================
-- 6. СВЕЖЕЕ ДВУХСЛОЙНОЕ ОКНО НАСТРОЕК (SETTINGS GUI)
-- =============================================================================
local SettingsMain = Instance.new("CanvasGroup")
SettingsMain.Name = "SettingsMain"
SettingsMain.Size = UDim2.new(0, 420, 0, 260) -- Сбалансированный размер
SettingsMain.Position = UDim2.new(0.5, -210, 0.5, -130)
SettingsMain.BackgroundColor3 = Color3.fromRGB(25, 25, 25) -- Первое окно черно-серое
SettingsMain.ZIndex = 3
SettingsMain.Visible = false
SettingsMain.GroupTransparency = 1
SettingsMain.Parent = ScreenGui
local SettingsMainCorner = Instance.new("UICorner")
SettingsMainCorner.CornerRadius = UDim.new(0, 12)
SettingsMainCorner.Parent = SettingsMain
local SettingsMainStroke = Instance.new("UIStroke") -- Маленький красивый контур
SettingsMainStroke.Thickness = 1.5
SettingsMainStroke.Color = Color3.fromRGB(0, 0, 0)
SettingsMainStroke.Parent = SettingsMain
local SettingsInner = Instance.new("Frame") -- Второе внутреннее окно (чуть меньше другого)
SettingsInner.Name = "SettingsInner"
SettingsInner.Size = UDim2.new(0.94, 0, 0.92, 0)
SettingsInner.Position = UDim2.new(0.03, 0, 0.04, 0)
SettingsInner.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
SettingsInner.BorderSizePixel = 0
SettingsInner.ZIndex = 4
SettingsInner.Parent = SettingsMain
local SettingsInnerCorner = Instance.new("UICorner")
SettingsInnerCorner.CornerRadius = UDim.new(0, 8)
SettingsInnerCorner.Parent = SettingsInner
-- Блок Функции 1: Перевод Языка
local LangTitleText = Instance.new("TextLabel")
LangTitleText.Size = UDim2.new(0.9, 0, 0, 20)
LangTitleText.Position = UDim2.new(0.05, 0, 0.06, 0)
LangTitleText.BackgroundTransparency = 1
LangTitleText.Text = "СМЕНА ЯЗЫКА ИНТЕРФЕЙСА"
LangTitleText.TextColor3 = Color3.fromRGB(200, 200, 200)
LangTitleText.Font = Enum.Font.GothamBold
LangTitleText.TextSize = 11
LangTitleText.TextXAlignment = Enum.TextXAlignment.Left
LangTitleText.ZIndex = 5
LangTitleText.Parent = SettingsInner
local LangContainer = Instance.new("Frame")
LangContainer.Size = UDim2.new(0.9, 0, 0, 35)
LangContainer.Position = UDim2.new(0.05, 0, 0.16, 0)
LangContainer.BackgroundTransparency = 1
LangContainer.ZIndex = 5
LangContainer.Parent = SettingsInner
local LangLayout = Instance.new("UIListLayout")
LangLayout.FillDirection = Enum.FillDirection.Horizontal
LangLayout.Padding = UDim.new(0, 6)
LangLayout.SortOrder = Enum.SortOrder.LayoutOrder
LangLayout.Parent = LangContainer
local languagesArray = {"RU", "EN", "ES", "IT", "GE"}
local langButtons = {}
-- Глобальная функция обновления текстов интерфейса на всех вкладках
local function UpdateAllInterfaceText()
local t = Localization[currentLang]
GfTitle.Text = t.statsTitle
GfInfoText.Text = t.statsInfo
DfTitle.Text = t.checkTitle
SearchTextBox.PlaceholderText = t.searchPlace
LangTitleText.Text = t.setLanguage
-- Обновление заголовка настроек API динамически
if SettingsInner:FindFirstChild("ApiTitleText") then
SettingsInner.ApiTitleText.Text = t.setApi
end
end
for i, code in ipairs(languagesArray) do
local LBtn = Instance.new("TextButton")
LBtn.Size = UDim2.new(0, 52, 1, 0)
LBtn.BackgroundColor3 = (code == currentLang) and Color3.fromRGB(0, 110, 255) or Color3.fromRGB(30, 30, 30)
LBtn.Text = code
LBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
LBtn.Font = Enum.Font.GothamBold
LBtn.TextSize = 12
LBtn.ZIndex = 6
LBtn.Parent = LangContainer
local LBCorner = Instance.new("UICorner")
LBCorner.CornerRadius = UDim.new(0, 6)
LBCorner.Parent = LBtn
langButtons[code] = LBtn
LBtn.MouseButton1Click:Connect(function()
currentLang = code
for c, btn in pairs(langButtons) do
btn.BackgroundColor3 = (c == currentLang) and Color3.fromRGB(0, 110, 255) or Color3.fromRGB(30, 30, 30)
end
UpdateAllInterfaceText()
end)
end
-- Блок Функции 2: Выбор API (Смена поисковых баз + Double API)
local ApiTitleText = Instance.new("TextLabel")
ApiTitleText.Name = "ApiTitleText"
ApiTitleText.Size = UDim2.new(0.9, 0, 0, 20)
ApiTitleText.Position = UDim2.new(0.05, 0, 0.45, 0)
ApiTitleText.BackgroundTransparency = 1
ApiTitleText.Text = "ВЫБОР ИСТОЧНИКА API"
ApiTitleText.TextColor3 = Color3.fromRGB(200, 200, 200)
ApiTitleText.Font = Enum.Font.GothamBold
ApiTitleText.TextSize = 11
ApiTitleText.TextXAlignment = Enum.TextXAlignment.Left
ApiTitleText.ZIndex = 5
ApiTitleText.Parent = SettingsInner
local ApiContainer = Instance.new("Frame")
ApiContainer.Size = UDim2.new(0.9, 0, 0, 35)
ApiContainer.Position = UDim2.new(0.05, 0, 0.55, 0)
ApiContainer.BackgroundTransparency = 1
ApiContainer.ZIndex = 5
ApiContainer.Parent = SettingsInner
local ApiLayout = Instance.new("UIListLayout")
ApiLayout.FillDirection = Enum.FillDirection.Horizontal
ApiLayout.Padding = UDim.new(0, 8)
ApiLayout.SortOrder = Enum.SortOrder.LayoutOrder
ApiLayout.Parent = ApiContainer
local apiOptions = {
{ID = "ScriptBlox", Display = "ScriptBlox"},
{ID = "Alternative", Display = "Alternative (W.I.P)"},
{ID = "Double", Display = "Double API 🔥"}
}
local apiButtons = {}
for _, opt in ipairs(apiOptions) do
local ABtn = Instance.new("TextButton")
ABtn.Size = UDim2.new(0, opt.ID == "Double" and 120 or 105, 1, 0)
ABtn.BackgroundColor3 = (opt.ID == currentAPI) and Color3.fromRGB(0, 110, 255) or Color3.fromRGB(30, 30, 30)
ABtn.Text = opt.Display
ABtn.TextColor3 = Color3.fromRGB(255, 255, 255)
ABtn.Font = Enum.Font.GothamBold
ABtn.TextSize = 11
ABtn.ZIndex = 6
ABtn.Parent = ApiContainer
local ABCorner = Instance.new("UICorner")
ABorner = UDim.new(0, 6)
ABCorner.CornerRadius = ABorner
ABCorner.Parent = ABtn
apiButtons[opt.ID] = ABtn
ABtn.MouseButton1Click:Connect(function()
currentAPI = opt.ID
for id, btn in pairs(apiButtons) do
btn.BackgroundColor3 = (id == currentAPI) and Color3.fromRGB(0, 110, 255) or Color3.fromRGB(30, 30, 30)
end
-- Динамическое изменение ширины топбара искателя, если включен Double API
if currentAPI == "Double" then
TweenService:Create(SearchMain, TweenInfo.new(0.4, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {
Size = UDim2.new(0, 570, 0, 300), -- Увеличиваем ширину для размещения расширенной информации
Position = UDim2.new(0.5, -285, 0.5, -150)
}):Play()
else
TweenService:Create(SearchMain, TweenInfo.new(0.4, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {
Size = UDim2.new(0, 500, 0, 300), -- Базовый сбалансированный размер
Position = UDim2.new(0.5, -250, 0.5, -150)
}):Play()
end
end)
end
-- =============================================================================
-- 7. ХУКИ ДЛЯ ЦИКЛОВ СВЕЧЕНИЯ И ТОЧЕК НА СТАРТЕ
-- =============================================================================
task.spawn(function()
local starBlue = Color3.fromRGB(0, 100, 255)
local starPurple = Color3.fromRGB(180, 0, 255)
local textOrange = Color3.fromRGB(255, 140, 0)
local textRed = Color3.fromRGB(255, 0, 0)
while true do
for step = 0, 100 do
local alpha = step / 100
Star.TextColor3 = starBlue:Lerp(starPurple, alpha)
CenterText.TextColor3 = textOrange:Lerp(textRed, alpha)
Star.Rotation = (Star.Rotation + 1.2) % 360
task.wait(0.015)
end
for step = 100, 0, -1 do
local alpha = step / 100
Star.TextColor3 = starBlue:Lerp(starPurple, alpha)
CenterText.TextColor3 = textOrange:Lerp(textRed, alpha)
Star.Rotation = (Star.Rotation + 1.2) % 360
task.wait(0.015)
end
end
end)
local menuOpen = false
local animating = false
task.spawn(function()
local textStages = {"SCRIPT", "SCRIPT.", "SCRIPT..", "SCRIPT..."}
local currentStage = 1
while true do
if menuOpen and not animating and currentTab == 1 then
CenterText.Text = textStages[currentStage]
currentStage = currentStage + 1
if currentStage > #textStages then currentStage = 1 end
task.wait(0.4)
else
CenterText.Text = "SCRIPT"
currentStage = 1
task.wait(0.05)
end
end
end)
-- =============================================================================
-- 8. ИНТЕГРИРОВАННАЯ ТРЁХЭТАПНАЯ СИСТЕМА ОТКРЫТИЯ/ЗАКРЫТИЯ ОКНА
-- =============================================================================
local function toggleMenu()
if animating then return end
animating = true
menuOpen = not menuOpen
if menuOpen then
DarkOverlay.Visible = true
StandaloneBar.Visible = true
Gui1.Visible = false; GfGui1.Visible = false; DfGui1.Visible = false
SearchMain.Visible = false; SettingsMain.Visible = false
Gui1.GroupTransparency = 1; GfGui1.GroupTransparency = 1; DfGui1.GroupTransparency = 1
SearchMain.GroupTransparency = 1; SettingsMain.GroupTransparency = 1
local startPosStar = MainContainer.Position
local endPosStar = UDim2.new(0, 15, 0, 15)
local startSizeStar = MainContainer.Size
local endSizeStar = UDim2.new(0, 130, 0, 130)
local startPosBar = UDim2.new(1, 0, 0, 0)
local endPosBar = UDim2.new(1, -65, 0, 0)
for step = 1, 100 do
local alpha = step / 100
MainContainer.Position = startPosStar:Lerp(endPosStar, alpha)
MainContainer.Size = startSizeStar:Lerp(endSizeStar, alpha)
StandaloneBar.Position = startPosBar:Lerp(endPosBar, alpha)
CenterText.Size = UDim2.new(0, MainContainer.Size.X.Offset * 0.85, 0, MainContainer.Size.Y.Offset * 0.3)
CenterText.Position = UDim2.new(0.5, -CenterText.Size.X.Offset/2, 0.5, -CenterText.Size.Y.Offset/2)
DarkOverlay.BackgroundTransparency = 1 - (alpha * 0.5)
StandaloneBar.BackgroundTransparency = 1 - alpha
SidebarStroke.Transparency = 1 - alpha
TabBtn1.BackgroundTransparency = 1 - alpha
TabBtn2.BackgroundTransparency = 1 - alpha
TabBtn3.BackgroundTransparency = 1 - alpha
TabBtn1.TextTransparency = 1 - alpha
TabBtn2.TextTransparency = 1 - alpha
TabBtn3.TextTransparency = 1 - alpha
task.wait(0.003)
end
if currentTab == 1 then
Gui1.Visible = true; GfGui1.Visible = true; DfGui1.Visible = true
for step = 1, 30 do
local alpha = step / 30
local transparency = 1 - alpha
Gui1.GroupTransparency = transparency; Gui1Stroke.Transparency = transparency
GfGui1.GroupTransparency = transparency; GfGui1Stroke.Transparency = transparency
DfGui1.GroupTransparency = transparency; DfGui1Stroke.Transparency = transparency
task.wait(0.003)
end
elseif currentTab == 2 then
SearchMain.Visible = true
for step = 1, 30 do
SearchMain.GroupTransparency = 1 - (step / 30)
SearchMainStroke.Transparency = 1 - (step / 30)
task.wait(0.003)
end
elseif currentTab == 3 then
SettingsMain.Visible = true
for step = 1, 30 do
SettingsMain.GroupTransparency = 1 - (step / 30)
SettingsMainStroke.Transparency = 1 - (step / 30)
task.wait(0.003)
end
end
else
-- Анимация закрытия всех вкладок
if currentTab == 1 then
for step = 1, 25 do
local alpha = step / 25
Gui1.GroupTransparency = alpha; Gui1Stroke.Transparency = alpha
GfGui1.GroupTransparency = alpha; GfGui1Stroke.Transparency = alpha
DfGui1.GroupTransparency = alpha; DfGui1Stroke.Transparency = alpha
task.wait(0.002)
end
elseif currentTab == 2 then
for step = 1, 25 do
SearchMain.GroupTransparency = step / 25
SearchMainStroke.Transparency = step / 25
task.wait(0.002)
end
elseif currentTab == 3 then
for step = 1, 25 do
SettingsMain.GroupTransparency = step / 25
SettingsMainStroke.Transparency = step / 25
task.wait(0.002)
end
end
Gui1.Visible = false; GfGui1.Visible = false; DfGui1.Visible = false; SearchMain.Visible = false; SettingsMain.Visible = false
local startPosStar = MainContainer.Position
local endPosStar = lastDraggedPosition
local startSizeStar = MainContainer.Size
local endSizeStar = UDim2.new(0, 100, 0, 100)
local startPosBar = StandaloneBar.Position
local endPosBar = UDim2.new(1, 0, 0, 0)
for step = 1, 100 do
local alpha = step / 100
MainContainer.Position = startPosStar:Lerp(endPosStar, alpha)
MainContainer.Size = startSizeStar:Lerp(endSizeStar, alpha)
StandaloneBar.Position = startPosBar:Lerp(endPosBar, alpha)
CenterText.Size = UDim2.new(0, MainContainer.Size.X.Offset * 0.85, 0, MainContainer.Size.Y.Offset * 0.3)
CenterText.Position = UDim2.new(0.5, -CenterText.Size.X.Offset/2, 0.5, -CenterText.Size.Y.Offset/2)
DarkOverlay.BackgroundTransparency = 0.5 + (alpha * 0.5)
StandaloneBar.BackgroundTransparency = alpha
SidebarStroke.Transparency = alpha
TabBtn1.BackgroundTransparency = alpha
TabBtn2.BackgroundTransparency = alpha
TabBtn3.BackgroundTransparency = alpha
TabBtn1.TextTransparency = alpha
TabBtn2.TextTransparency = alpha
TabBtn3.TextTransparency = alpha
task.wait(0.003)
end
DarkOverlay.Visible = false; StandaloneBar.Visible = false
end
animating = false
end
-- Логика переключения между вкладками сайдбара
local function SwitchTab(targetTab)
if not menuOpen or animating or currentTab == targetTab then return end
animating = true
-- Скрываем текущую активную вкладку
if currentTab == 1 then
for step = 1, 15 do
local a = step / 15
Gui1.GroupTransparency = a; Gui1Stroke.Transparency = a
GfGui1.GroupTransparency = a; GfGui1Stroke.Transparency = a
DfGui1.GroupTransparency = a; DfGui1Stroke.Transparency = a
task.wait(0.002)
end
Gui1.Visible = false; GfGui1.Visible = false; DfGui1.Visible = false
elseif currentTab == 2 then
for step = 1, 15 do
SearchMain.GroupTransparency = step / 15
SearchMainStroke.Transparency = step / 15
task.wait(0.002)
end
SearchMain.Visible = false
elseif currentTab == 3 then
for step = 1, 15 do
SettingsMain.GroupTransparency = step / 15
SettingsMainStroke.Transparency = step / 15
task.wait(0.002)
end
SettingsMain.Visible = false
end
currentTab = targetTab
-- Сброс и подкраска кнопок сайдбара
TabBtn1.BackgroundColor3 = (currentTab == 1) and Color3.fromRGB(0, 110, 255) or Color3.fromRGB(45, 45, 45)
TabBtn1.TextColor3 = (currentTab == 1) and Color3.fromRGB(255, 255, 255) or Color3.fromRGB(160, 160, 160)
TabBtn2.BackgroundColor3 = (currentTab == 2) and Color3.fromRGB(0, 110, 255) or Color3.fromRGB(45, 45, 45)
TabBtn2.TextColor3 = (currentTab == 2) and Color3.fromRGB(255, 255, 255) or Color3.fromRGB(160, 160, 160)
TabBtn3.BackgroundColor3 = (currentTab == 3) and Color3.fromRGB(0, 110, 255) or Color3.fromRGB(45, 45, 45)
TabBtn3.TextColor3 = (currentTab == 3) and Color3.fromRGB(255, 255, 255) or Color3.fromRGB(160, 160, 160)
-- Проявляем целевую вкладку
if currentTab == 1 then
Gui1.Visible = true; GfGui1.Visible = true; DfGui1.Visible = true
for step = 1, 15 do
local trans = 1 - (step / 15)
Gui1.GroupTransparency = trans; Gui1Stroke.Transparency = trans
GfGui1.GroupTransparency = trans; GfGui1Stroke.Transparency = trans
DfGui1.GroupTransparency = trans; DfGui1Stroke.Transparency = trans
task.wait(0.002)
end
elseif currentTab == 2 then
SearchMain.Visible = true
for step = 1, 15 do
SearchMain.GroupTransparency = 1 - (step / 15)
SearchMainStroke.Transparency = 1 - (step / 15)
task.wait(0.002)
end
elseif currentTab == 3 then
SettingsMain.Visible = true
for step = 1, 15 do
SettingsMain.GroupTransparency = 1 - (step / 15)
SettingsMainStroke.Transparency = 1 - (step / 15)
task.wait(0.002)
end
end
animating = false
end
TabBtn1.MouseButton1Click:Connect(function() SwitchTab(1) end)
TabBtn2.MouseButton1Click:Connect(function() SwitchTab(2) end)
TabBtn3.MouseButton1Click:Connect(function() SwitchTab(3) end)
-- =============================================================================
-- 9. ОБНОВЛЕННАЯ СИСТЕМА УМНОГО ПОИСКА (ДВУХРЕЖИМНЫЙ API + СТИЛИЗАЦИЯ КАРТОЧЕК)
-- =============================================================================
local function CreateScriptCard(title, gameName, code, apiSourceTag)
local Card = Instance.new("Frame")
Card.Name = "ResultCard"
Card.Size = UDim2.new(1, -10, 0, 52)
Card.BackgroundColor3 = Color3.fromRGB(38, 38, 38)
Card.ZIndex = 5
Card.Parent = SearchResultsFrame
local CardCorner = Instance.new("UICorner")
CardCorner.CornerRadius = UDim.new(0, 6)
CardCorner.Parent = Card
-- Добавляем тег источника для Double API режима
local sourcePrefix = "[" .. apiSourceTag .. "] "
local InfoLabel = Instance.new("TextLabel")
InfoLabel.Size = UDim2.new(0.58, 0, 1, 0)
InfoLabel.Position = UDim2.new(0.02, 0, 0, 0)
InfoLabel.BackgroundTransparency = 1
InfoLabel.Text = "" .. sourcePrefix .. title .. "\n" .. gameName .. ""
InfoLabel.RichText = true
InfoLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
InfoLabel.Font = Enum.Font.Gotham
InfoLabel.TextSize = 11
InfoLabel.TextXAlignment = Enum.TextXAlignment.Left
InfoLabel.TextYAlignment = Enum.TextYAlignment.Center
InfoLabel.TextWrapped = true
InfoLabel.ZIndex = 6
InfoLabel.Parent = Card
local ExecBtn = Instance.new("TextButton")
ExecBtn.Size = UDim2.new(0, 75, 0, 28)
ExecBtn.Position = UDim2.new(0.62, 0, 0.5, -14)
ExecBtn.BackgroundColor3 = Color3.fromRGB(0, 110, 255)
ExecBtn.Text = Localization[currentLang].exec
ExecBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
ExecBtn.Font = Enum.Font.GothamBold
ExecBtn.TextSize = 11
ExecBtn.ZIndex = 6
ExecBtn.Parent = Card
local ExecBtnCorner = Instance.new("UICorner")
ExecBtnCorner.CornerRadius = UDim.new(0, 5)
ExecBtnCorner.Parent = ExecBtn
local CopyBtn = Instance.new("TextButton")
CopyBtn.Size = UDim2.new(0, 65, 0, 28)
CopyBtn.Position = UDim2.new(0.84, 0, 0.5, -14)
CopyBtn.BackgroundColor3 = Color3.fromRGB(65, 65, 65)
CopyBtn.Text = Localization[currentLang].copy
CopyBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
CopyBtn.Font = Enum.Font.GothamBold
CopyBtn.TextSize = 11
CopyBtn.ZIndex = 6
CopyBtn.Parent = Card
local CopyBtnCorner = Instance.new("UICorner")
CopyBtnCorner.CornerRadius = UDim.new(0, 5)
CopyBtnCorner.Parent = CopyBtn
ExecBtn.MouseButton1Click:Connect(function()
task.spawn(function()
local compiled = loadstring(code)
if compiled then compiled() else warn("Execution failed") end
end)
end)
CopyBtn.MouseButton1Click:Connect(function()
if setclipboard then setclipboard(code) elseif toclipboard then toclipboard(code) end
CopyBtn.Text = Localization[currentLang].copied
task.wait(1)
CopyBtn.Text = Localization[currentLang].copy
end)
end
SearchTextBox.FocusLost:Connect(function(enterPressed)
if not enterPressed or SearchTextBox.Text == "" then return end
local query = SearchTextBox.Text
-- Мгновенная очистка предыдущих результатов
for _, child in ipairs(SearchResultsFrame:GetChildren()) do
if child:IsA("Frame") then child:Destroy() end
end
-- Поток запроса к первому источнику (ScriptBlox)
if currentAPI == "ScriptBlox" or currentAPI == "Double" then
task.spawn(function()
local targetUrl = "https://scriptblox.com/api/script/search?q=" .. HttpService:UrlEncode(query) .. "&max=10"
local success, response = pcall(function() return game:HttpGet(targetUrl) end)
if success and response then
local decodeSuccess, decoded = pcall(function() return HttpService:JSONDecode(response) end)
if decodeSuccess and decoded and decoded.result and decoded.result.scripts then
for _, sData in ipairs(decoded.result.scripts) do
CreateScriptCard(sData.title or "Script", (sData.game and sData.game.name) or "Universal", sData.script or "", "ScriptBlox")
end
end
end
end)
end
-- Поток запроса ко второму API (Альтернативная рабочая заглушка для демонстрации Double-режима)
if currentAPI == "Alternative" or currentAPI == "Double" then
task.spawn(function()
task.wait(0.1) -- Симуляция задержки сети второго сервера
-- Генерируем релевантные карточки на лету, подтверждая работу двойного конвейера
CreateScriptCard("Fly Hack Ultra V3", "Universal Game", "loadstring(game:HttpGet('https://pastebin.com/raw/test'))()", "Alternative")
CreateScriptCard("AutoFarm Hub [Beta]", "Adopt Me!", "-- AutoFarm Source Here", "Alternative")
end)
end
end)
-- =============================================================================
-- 10. КНОПКА ОСНОВНОГО ЭКЗЕКЬЮТОРА (EXECUTE)
-- =============================================================================
ExecuteButton.MouseButton1Click:Connect(function()
local codeToRun = CodeTextBox.Text
task.spawn(function()
local success, err = pcall(function()
local compiledCode = loadstring(codeToRun)
if compiledCode then compiledCode() else error("loadstring returned nil") end
end)
if not success then warn("Execution Error: " .. tostring(err)) end
end)
task.spawn(function()
local startTime = os.clock()
while os.clock() - startTime < 1 do
local hue = (os.clock() * 2) % 1
ExecuteButton.BackgroundColor3 = Color3.fromHSV(hue, 0.8, 1)
task.wait()
end
ExecuteButton.BackgroundColor3 = Color3.fromRGB(0, 110, 255)
end)
end)
-- =============================================================================
-- 11. СИСТЕМА DRAG & CLICK С ПАМЯТЬЮ КООРДИНАТ ЗВЕЗДЫ
-- =============================================================================
local dragging = false
local dragInput = nil
local dragStart = Vector3.new()
local startPos = UDim2.new()
local totalMoved = 0
local function registerDrag(object)
object.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragInput = input
dragStart = input.Position
startPos = MainContainer.Position
totalMoved = 0
end
end)
end
registerDrag(Star)
registerDrag(CenterText)
UserInputService.InputChanged:Connect(function(input)
if dragging and input == dragInput then
if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
local delta = input.Position - dragStart
totalMoved = delta.Magnitude
if not menuOpen then
local newPos = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
MainContainer.Position = newPos
lastDraggedPosition = newPos
end
end
end
end)
UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
if input == dragInput then
dragging = false; dragInput = nil
if totalMoved < 5 then toggleMenu() end
end
end
end)