--[[ KRNL Revial GUI Simulator Paste this script into any LocalScript (e.g., inside StarterGui) ]] local player = game:GetService("Players").LocalPlayer local userInputService = game:GetService("UserInputService") local tweenService = game:GetService("TweenService") local guiService = game:GetService("GuiService") local textService = game:GetService("TextService") local runService = game:GetService("RunService") -- Создаем основной ScreenGui local screenGui = Instance.new("ScreenGui") screenGui.Name = "KRNL_Revial" screenGui.ResetOnSpawn = false screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling -- Проверка на наличие уже существующего GUI (чтобы не было дубликатов) for _, v in pairs(player:WaitForChild("PlayerGui"):GetChildren()) do if v.Name == "KRNL_Revial" then v:Destroy() end end screenGui.Parent = player:WaitForChild("PlayerGui") -- Основные цвета local colors = { bg = Color3.fromRGB(30, 30, 30), darkBg = Color3.fromRGB(20, 20, 20), lightBg = Color3.fromRGB(60, 60, 60), lightestBg = Color3.fromRGB(80, 80, 80), text = Color3.fromRGB(255, 255, 255), black = Color3.fromRGB(0, 0, 0), white = Color3.fromRGB(255, 255, 255), green = Color3.fromRGB(0, 255, 0), red = Color3.fromRGB(255, 50, 50) } -- Переменные состояния local isInjected = false local lineNumbers = {} local currentScriptLines = {""} local savedScripts = {} -- Хранилище для сохраненных скриптов local hasValidKey = false -- Флаг наличия валидного ключа local currentGeneratedKey = "" -- Текущий сгенерированный ключ -- Функция для создания кнопки с эффектами local function createButton(parent, text, size, position, callback) local button = Instance.new("TextButton") button.Name = text .. "Button" button.Size = size button.Position = position button.Text = text button.BackgroundColor3 = colors.lightBg button.TextColor3 = colors.text button.Font = Enum.Font.SourceSans button.TextSize = 16 button.BorderSizePixel = 0 button.AutoButtonColor = false button.Parent = parent -- Hover эффект button.MouseEnter:Connect(function() if not button.SelectionImageObject then tweenService:Create(button, TweenInfo.new(0.1), {BackgroundColor3 = colors.lightestBg}):Play() end end) button.MouseLeave:Connect(function() if not button.SelectionImageObject then tweenService:Create(button, TweenInfo.new(0.1), {BackgroundColor3 = colors.lightBg}):Play() end end) -- Эффект нажатия button.MouseButton1Down:Connect(function() tweenService:Create(button, TweenInfo.new(0.05), {BackgroundColor3 = colors.lightestBg}):Play() end) button.MouseButton1Up:Connect(function() tweenService:Create(button, TweenInfo.new(0.1), {BackgroundColor3 = colors.lightBg}):Play() end) button.MouseButton1Click:Connect(function() -- Быстрая вспышка при клике tweenService:Create(button, TweenInfo.new(0.1), {BackgroundColor3 = colors.lightestBg}):Play() task.wait(0.1) tweenService:Create(button, TweenInfo.new(0.1), {BackgroundColor3 = colors.lightBg}):Play() if callback then callback() end end) return button end -- Функция для обновления номеров строк local function updateLineNumbers(textBox) local lines = {} for line in textBox.Text:gmatch("[^\r\n]+") do table.insert(lines, line) end if #lines == 0 then lines = {""} end currentScriptLines = lines -- Находим или создаем фрейм с номерами local lineNumFrame = textBox.Parent:FindFirstChild("LineNumbers") if lineNumFrame then lineNumFrame:ClearAllChildren() for i = 1, #lines do local numLabel = Instance.new("TextLabel") numLabel.Size = UDim2.new(1, 0, 0, 20) numLabel.Position = UDim2.new(0, 0, 0, (i-1)*20) numLabel.Text = tostring(i) numLabel.BackgroundTransparency = 1 numLabel.TextColor3 = colors.text numLabel.Font = Enum.Font.SourceSans numLabel.TextSize = 14 numLabel.Parent = lineNumFrame end end end -- Функция для создания выпадающего меню local function createDropdown(parent, buttonText, items, position) local dropdownFrame = Instance.new("Frame") dropdownFrame.Name = buttonText .. "Dropdown" dropdownFrame.Size = UDim2.new(0, 120, 0, 0) dropdownFrame.Position = position dropdownFrame.BackgroundColor3 = colors.darkBg dropdownFrame.BorderSizePixel = 0 dropdownFrame.Visible = false dropdownFrame.Parent = parent dropdownFrame.ClipsDescendants = true local layout = Instance.new("UIListLayout") layout.Parent = dropdownFrame layout.SortOrder = Enum.SortOrder.LayoutOrder layout.Padding = UDim.new(0, 1) layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() dropdownFrame.Size = UDim2.new(0, 120, 0, layout.AbsoluteContentSize.Y) end) for _, item in pairs(items) do local btn = createButton(dropdownFrame, item, UDim2.new(1, 0, 0, 30), UDim2.new(0, 0, 0, 0), function() dropdownFrame.Visible = false if item == "Youtube" then print("Opening YouTube...") elseif item == "GitHub" then print("Opening GitHub...") elseif item == "Website" then print("Opening Website...") elseif item == "Inject" then simulateInjection() elseif item == "Kill Roblox" then game:Shutdown() end end) btn.BackgroundColor3 = colors.darkBg btn.TextColor3 = colors.text btn.TextXAlignment = Enum.TextXAlignment.Left btn.Parent = dropdownFrame end return dropdownFrame end -- Функция создания второго этапа (вставка ключа) local function createSecondStage(parent, generatedKey) -- Очищаем контент for _, child in pairs(parent:GetChildren()) do if child.Name ~= "InstructionLabel" and child.Name ~= "TimerLabel" and child.Name ~= "ProgressBar" then child:Destroy() end end -- Скрываем элементы таймера local instructionLabel = parent:FindFirstChild("InstructionLabel") local timerLabel = parent:FindFirstChild("TimerLabel") local progressBar = parent:FindFirstChild("ProgressBar") if instructionLabel then instructionLabel.Visible = false end if timerLabel then timerLabel.Visible = false end if progressBar then progressBar.Visible = false end -- Текст инструкции для второго этапа local stage2Label = Instance.new("TextLabel") stage2Label.Name = "Stage2Label" stage2Label.Size = UDim2.new(1, 0, 0, 30) stage2Label.Position = UDim2.new(0, 0, 0, 10) stage2Label.Text = "Paste your copied key below and click Continue:" stage2Label.BackgroundTransparency = 1 stage2Label.TextColor3 = colors.text stage2Label.Font = Enum.Font.SourceSans stage2Label.TextSize = 16 stage2Label.Parent = parent -- Поле для ввода ключа local keyInput = Instance.new("TextBox") keyInput.Name = "KeyInput" keyInput.Size = UDim2.new(0.8, -10, 0, 35) keyInput.Position = UDim2.new(0.1, 0, 0, 50) keyInput.BackgroundColor3 = colors.lightBg keyInput.TextColor3 = colors.text keyInput.Font = Enum.Font.SourceSans keyInput.TextSize = 16 keyInput.PlaceholderText = "Paste your key here..." keyInput.ClearTextOnFocus = false keyInput.Parent = parent -- Кнопка Continue local continueBtn = Instance.new("TextButton") continueBtn.Name = "ContinueBtn" continueBtn.Size = UDim2.new(0, 120, 0, 40) continueBtn.Position = UDim2.new(0.5, -60, 0, 100) continueBtn.Text = "Continue" continueBtn.BackgroundColor3 = colors.green continueBtn.TextColor3 = colors.black continueBtn.Font = Enum.Font.SourceSansBold continueBtn.TextSize = 18 continueBtn.BorderSizePixel = 0 continueBtn.Parent = parent -- Hover эффект для Continue continueBtn.MouseEnter:Connect(function() tweenService:Create(continueBtn, TweenInfo.new(0.1), {BackgroundColor3 = Color3.fromRGB(0, 200, 0)}):Play() end) continueBtn.MouseLeave:Connect(function() tweenService:Create(continueBtn, TweenInfo.new(0.1), {BackgroundColor3 = colors.green}):Play() end) -- Функционал кнопки Continue continueBtn.MouseButton1Click:Connect(function() if keyInput.Text == generatedKey then hasValidKey = true -- Находим родительский браузер и закрываем его local browserFrame = parent.Parent if browserFrame then browserFrame:Destroy() end -- Показываем сообщение об успехе local successMsg = Instance.new("TextLabel") successMsg.Size = UDim2.new(0, 300, 0, 50) successMsg.Position = UDim2.new(0.5, -150, 0.5, -25) successMsg.Text = "Key activated successfully! INJECT is now available." successMsg.BackgroundColor3 = colors.green successMsg.TextColor3 = colors.black successMsg.Font = Enum.Font.SourceSansBold successMsg.TextSize = 16 successMsg.Parent = screenGui task.wait(3) successMsg:Destroy() else -- Ошибка при неверном ключе keyInput.BackgroundColor3 = colors.red task.wait(0.3) keyInput.BackgroundColor3 = colors.lightBg end end) end -- Функция создания мини-браузера для получения ключа local function createKeyBrowser() -- Проверяем, не открыт ли уже браузер if screenGui:FindFirstChild("KeyBrowser") then return end -- Генерируем ключ currentGeneratedKey = "KRNL-" .. string.format("%04d", math.random(1000, 9999)) .. "-" .. string.format("%04d", math.random(1000, 9999)) .. "-" .. string.format("%04d", math.random(1000, 9999)) local browserFrame = Instance.new("Frame") browserFrame.Name = "KeyBrowser" browserFrame.Size = UDim2.new(0, 500, 0, 400) browserFrame.Position = UDim2.new(0.5, -250, 0.5, -200) browserFrame.BackgroundColor3 = colors.darkBg browserFrame.BorderSizePixel = 2 browserFrame.BorderColor3 = colors.lightBg browserFrame.Parent = screenGui browserFrame.Active = true browserFrame.Draggable = true -- Заголовок local titleBar = Instance.new("Frame") titleBar.Size = UDim2.new(1, 0, 0, 30) titleBar.BackgroundColor3 = colors.lightBg titleBar.BorderSizePixel = 0 titleBar.Parent = browserFrame local titleText = Instance.new("TextLabel") titleText.Size = UDim2.new(1, -30, 1, 0) titleText.Position = UDim2.new(0, 5, 0, 0) titleText.Text = "KRNL Key System - Step 1/2" titleText.BackgroundTransparency = 1 titleText.TextColor3 = colors.text titleText.Font = Enum.Font.SourceSansBold titleText.TextSize = 18 titleText.TextXAlignment = Enum.TextXAlignment.Left titleText.Parent = titleBar -- Кнопка закрытия local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.new(0, 25, 0, 25) closeBtn.Position = UDim2.new(1, -30, 0, 2.5) closeBtn.Text = "X" closeBtn.BackgroundColor3 = colors.red closeBtn.TextColor3 = colors.text closeBtn.Font = Enum.Font.SourceSansBold closeBtn.TextSize = 18 closeBtn.BorderSizePixel = 0 closeBtn.Parent = titleBar -- Основной контент local contentFrame = Instance.new("Frame") contentFrame.Size = UDim2.new(1, -20, 1, -50) contentFrame.Position = UDim2.new(0, 10, 0, 40) contentFrame.BackgroundColor3 = colors.bg contentFrame.BorderSizePixel = 0 contentFrame.Parent = browserFrame -- Инструкция (ШАГ 1) local instructionLabel = Instance.new("TextLabel") instructionLabel.Name = "InstructionLabel" instructionLabel.Size = UDim2.new(1, 0, 0, 30) instructionLabel.Position = UDim2.new(0, 0, 0, 10) instructionLabel.Text = "Please wait 20 seconds to generate your key..." instructionLabel.BackgroundTransparency = 1 instructionLabel.TextColor3 = colors.text instructionLabel.Font = Enum.Font.SourceSans instructionLabel.TextSize = 16 instructionLabel.Parent = contentFrame -- Таймер (ШАГ 1) local timerLabel = Instance.new("TextLabel") timerLabel.Name = "TimerLabel" timerLabel.Size = UDim2.new(1, 0, 0, 40) timerLabel.Position = UDim2.new(0, 0, 0, 45) timerLabel.Text = "20" timerLabel.BackgroundTransparency = 1 timerLabel.TextColor3 = colors.green timerLabel.Font = Enum.Font.SourceSansBold timerLabel.TextSize = 48 timerLabel.Parent = contentFrame -- Прогресс бар (ШАГ 1) local progressBar = Instance.new("Frame") progressBar.Name = "ProgressBar" progressBar.Size = UDim2.new(1, -20, 0, 10) progressBar.Position = UDim2.new(0, 10, 0, 100) progressBar.BackgroundColor3 = colors.darkBg progressBar.BorderSizePixel = 0 progressBar.Parent = contentFrame local progressFill = Instance.new("Frame") progressFill.Name = "ProgressFill" progressFill.Size = UDim2.new(0, 0, 1, 0) progressFill.BackgroundColor3 = colors.green progressFill.BorderSizePixel = 0 progressFill.Parent = progressBar -- Таймер обратного отсчета (ШАГ 1) local timeLeft = 20 local totalTime = 20 local startTime = tick() -- Функция обновления таймера local function updateTimer() local elapsedTime = tick() - startTime timeLeft = math.max(0, totalTime - math.floor(elapsedTime)) timerLabel.Text = tostring(timeLeft) -- Обновляем прогресс бар local progress = elapsedTime / totalTime if progress > 1 then progress = 1 end progressFill.Size = UDim2.new(progress, 0, 1, 0) if timeLeft <= 0 then timerLabel.Text = "0" progressFill.Size = UDim2.new(1, 0, 1, 0) -- Обновляем заголовок titleText.Text = "KRNL Key System - Step 2/2" -- Показываем ключ и кнопку Copy (ШАГ 2) instructionLabel.Text = "Your key has been generated! Copy it below:" instructionLabel.Position = UDim2.new(0, 0, 0, 10) -- Поле с ключом local keyDisplay = Instance.new("TextBox") keyDisplay.Name = "KeyDisplay" keyDisplay.Size = UDim2.new(0.8, -10, 0, 35) keyDisplay.Position = UDim2.new(0.1, 0, 0, 50) keyDisplay.BackgroundColor3 = colors.lightBg keyDisplay.TextColor3 = colors.text keyDisplay.Font = Enum.Font.SourceSans keyDisplay.TextSize = 16 keyDisplay.Text = currentGeneratedKey keyDisplay.TextEditable = false -- Нельзя редактировать keyDisplay.ClearTextOnFocus = false keyDisplay.Parent = contentFrame -- Кнопка Copy local copyBtn = Instance.new("TextButton") copyBtn.Name = "CopyBtn" copyBtn.Size = UDim2.new(0, 100, 0, 35) copyBtn.Position = UDim2.new(0.5, -50, 0, 95) copyBtn.Text = "Copy" copyBtn.BackgroundColor3 = colors.lightBg copyBtn.TextColor3 = colors.text copyBtn.Font = Enum.Font.SourceSans copyBtn.TextSize = 16 copyBtn.BorderSizePixel = 0 copyBtn.Parent = contentFrame -- Hover эффект для Copy copyBtn.MouseEnter:Connect(function() tweenService:Create(copyBtn, TweenInfo.new(0.1), {BackgroundColor3 = colors.lightestBg}):Play() end) copyBtn.MouseLeave:Connect(function() tweenService:Create(copyBtn, TweenInfo.new(0.1), {BackgroundColor3 = colors.lightBg}):Play() end) -- Функционал кнопки Copy copyBtn.MouseButton1Click:Connect(function() -- Копируем ключ local clipboard = setclipboard or toclipboard or function(text) warn("Clipboard function not available. Key: " .. text) end if clipboard then pcall(clipboard, currentGeneratedKey) end -- Визуальный эффект copyBtn.Text = "Copied!" copyBtn.BackgroundColor3 = colors.green copyBtn.TextColor3 = colors.black -- Переходим ко второму этапу task.wait(1) createSecondStage(contentFrame, currentGeneratedKey) end) -- Скрываем таймер и прогресс бар timerLabel.Visible = false progressBar.Visible = false return true end return false end -- Запускаем обновление через RunService local connection connection = runService.Heartbeat:Connect(function() local completed = updateTimer() if completed then connection:Disconnect() end end) -- Закрытие браузера closeBtn.MouseButton1Click:Connect(function() if connection then connection:Disconnect() end browserFrame:Destroy() end) end -- Функция симуляции инжекта function simulateInjection() if not hasValidKey then -- Показываем предупреждение о необходимости ключа local warningMsg = Instance.new("TextLabel") warningMsg.Size = UDim2.new(0, 400, 0, 50) warningMsg.Position = UDim2.new(0.5, -200, 0.5, -25) warningMsg.Text = "You need to get a valid key first! Click 'Get Key' button." warningMsg.BackgroundColor3 = colors.red warningMsg.TextColor3 = colors.text warningMsg.Font = Enum.Font.SourceSans warningMsg.TextSize = 14 warningMsg.Parent = screenGui task.wait(3) warningMsg:Destroy() return end if isInjected then print("Already injected!") return end -- Создаем консольное окно local consoleFrame = Instance.new("Frame") consoleFrame.Name = "Console" consoleFrame.Size = UDim2.new(0, 400, 0, 150) consoleFrame.Position = UDim2.new(0.5, -200, 0.5, -75) consoleFrame.BackgroundColor3 = Color3.fromRGB(0, 0, 0) consoleFrame.BorderSizePixel = 1 consoleFrame.BorderColor3 = colors.lightBg consoleFrame.Parent = screenGui local consoleText = Instance.new("TextLabel") consoleText.Size = UDim2.new(1, -10, 1, -10) consoleText.Position = UDim2.new(0, 5, 0, 5) consoleText.BackgroundTransparency = 1 consoleText.TextColor3 = Color3.fromRGB(0, 255, 0) consoleText.Font = Enum.Font.SourceSans consoleText.TextSize = 14 consoleText.TextXAlignment = Enum.TextXAlignment.Left consoleText.TextYAlignment = Enum.TextYAlignment.Top consoleText.Text = "[INFO] Checking version.\n[INFO] Scanning.\n[KEY] Key valid!\n[INFO] Injecting...\n[SUCCESS] Injection complete!" consoleText.Parent = consoleFrame -- Анимация появления консоли consoleFrame.BackgroundTransparency = 1 consoleText.TextTransparency = 1 tweenService:Create(consoleFrame, TweenInfo.new(0.3), {BackgroundTransparency = 0}):Play() tweenService:Create(consoleText, TweenInfo.new(0.3), {TextTransparency = 0}):Play() -- Устанавливаем статус инжекта isInjected = true -- Добавляем кнопку закрытия local closeButton = Instance.new("TextButton") closeButton.Size = UDim2.new(0, 20, 0, 20) closeButton.Position = UDim2.new(1, -25, 0, 5) closeButton.Text = "X" closeButton.BackgroundColor3 = Color3.fromRGB(255, 50, 50) closeButton.TextColor3 = colors.text closeButton.Font = Enum.Font.SourceSansBold closeButton.TextSize = 16 closeButton.BorderSizePixel = 0 closeButton.Parent = consoleFrame closeButton.MouseButton1Click:Connect(function() tweenService:Create(consoleFrame, TweenInfo.new(0.3), {BackgroundTransparency = 1}):Play() tweenService:Create(consoleText, TweenInfo.new(0.3), {TextTransparency = 1}):Play() task.wait(0.3) consoleFrame:Destroy() end) -- Автоматически закрываем через 1 секунду task.wait(1) if consoleFrame and consoleFrame.Parent then tweenService:Create(consoleFrame, TweenInfo.new(0.3), {BackgroundTransparency = 1}):Play() tweenService:Create(consoleText, TweenInfo.new(0.3), {TextTransparency = 1}):Play() task.wait(0.3) consoleFrame:Destroy() end print("KRNL injected successfully!") end -- Функция выполнения скрипта function executeScript(scriptText) if not isInjected then warn("No ready clients found. Make sure you've pressed Attach and waited for injection to complete.") local errorMsg = Instance.new("TextLabel") errorMsg.Size = UDim2.new(0, 400, 0, 50) errorMsg.Position = UDim2.new(0.5, -200, 0.5, -25) errorMsg.Text = "No ready clients found. Make sure you've pressed Attach and waited for injection to complete." errorMsg.BackgroundColor3 = Color3.fromRGB(255, 50, 50) errorMsg.TextColor3 = colors.text errorMsg.Font = Enum.Font.SourceSans errorMsg.TextSize = 14 errorMsg.Parent = screenGui task.wait(3) errorMsg:Destroy() return end -- Симуляция выполнения local success, err = pcall(function() loadstring(scriptText)() end) if not success then warn("Script Error: " .. err) end end -- Функция сохранения файла function saveFile(scriptText, fileName) if fileName and fileName ~= "" then savedScripts[fileName] = scriptText print("Saved script as: " .. fileName) end end -- Функция открытия файла function openFile(fileName) return savedScripts[fileName] or "" end -- Создание основного фрейма local mainFrame = Instance.new("Frame") mainFrame.Name = "MainFrame" mainFrame.Size = UDim2.new(0, 600, 0, 400) mainFrame.Position = UDim2.new(0, 10, 0, 10) mainFrame.BackgroundColor3 = colors.bg mainFrame.BorderSizePixel = 0 mainFrame.Parent = screenGui mainFrame.Active = true mainFrame.Draggable = true -- Заголовок local titleLabel = Instance.new("TextLabel") titleLabel.Size = UDim2.new(1, 0, 0, 30) titleLabel.Position = UDim2.new(0, 0, 0, -30) titleLabel.Text = "KRNL" titleLabel.BackgroundTransparency = 1 titleLabel.TextColor3 = colors.text titleLabel.Font = Enum.Font.SourceSansBold titleLabel.TextSize = 24 titleLabel.Parent = mainFrame -- K квадрат local kSquare = Instance.new("Frame") kSquare.Name = "KSquare" kSquare.Size = UDim2.new(0, 50, 0, 50) kSquare.Position = UDim2.new(0, 10, 0, 10) kSquare.BackgroundColor3 = colors.white kSquare.BorderSizePixel = 0 kSquare.Parent = mainFrame local kLetter = Instance.new("TextLabel") kLetter.Size = UDim2.new(1, 0, 1, 0) kLetter.Text = "K" kLetter.BackgroundTransparency = 1 kLetter.TextColor3 = colors.black kLetter.Font = Enum.Font.SourceSansBold kLetter.TextSize = 40 kLetter.Parent = kSquare -- Панель кнопок local buttonPanel = Instance.new("Frame") buttonPanel.Name = "ButtonPanel" buttonPanel.Size = UDim2.new(1, -20, 0, 30) buttonPanel.Position = UDim2.new(0, 10, 0, 70) buttonPanel.BackgroundTransparency = 1 buttonPanel.Parent = mainFrame -- Кнопка File local fileButton = createButton(buttonPanel, "File", UDim2.new(0, 60, 1, 0), UDim2.new(0, 0, 0, 0)) local fileDropdown = createDropdown(mainFrame, "File", {"Inject", "Kill Roblox"}, UDim2.new(0, 10, 0, 100)) fileButton.MouseButton1Click:Connect(function() fileDropdown.Visible = not fileDropdown.Visible end) -- Кнопка Credits local creditsButton = createButton(buttonPanel, "Credits", UDim2.new(0, 70, 1, 0), UDim2.new(0, 70, 0, 0), function() print("KRNL Revial - Credits") end) -- Кнопка Script Hub local scriptHubButton = createButton(buttonPanel, "Script Hub", UDim2.new(0, 80, 1, 0), UDim2.new(0, 150, 0, 0), function() print("Script Hub opened") end) -- Кнопка Others local othersButton = createButton(buttonPanel, "Others", UDim2.new(0, 70, 1, 0), UDim2.new(0, 240, 0, 0)) local othersDropdown = createDropdown(mainFrame, "Others", {"Youtube", "GitHub", "Website"}, UDim2.new(0, 250, 0, 100)) othersButton.MouseButton1Click:Connect(function() othersDropdown.Visible = not othersDropdown.Visible end) -- Кнопка Get Key local getKeyButton = createButton(buttonPanel, "Get Key", UDim2.new(0, 70, 1, 0), UDim2.new(0, 320, 0, 0), function() createKeyBrowser() end) -- Область для скрипта local scriptArea = Instance.new("Frame") scriptArea.Name = "ScriptArea" scriptArea.Size = UDim2.new(1, -20, 0, 200) scriptArea.Position = UDim2.new(0, 10, 0, 110) scriptArea.BackgroundColor3 = colors.darkBg scriptArea.BorderSizePixel = 0 scriptArea.Parent = mainFrame -- Номера строк local lineNumbers = Instance.new("Frame") lineNumbers.Name = "LineNumbers" lineNumbers.Size = UDim2.new(0, 30, 1, 0) lineNumbers.BackgroundColor3 = colors.darkBg lineNumbers.BorderSizePixel = 0 lineNumbers.Parent = scriptArea -- Поле для ввода скрипта local scriptBox = Instance.new("TextBox") scriptBox.Name = "ScriptBox" scriptBox.Size = UDim2.new(1, -35, 1, -10) scriptBox.Position = UDim2.new(0, 35, 0, 5) scriptBox.BackgroundColor3 = Color3.fromRGB(50, 50, 50) scriptBox.TextColor3 = colors.text scriptBox.Font = Enum.Font.SourceSans scriptBox.TextSize = 14 scriptBox.TextXAlignment = Enum.TextXAlignment.Left scriptBox.TextYAlignment = Enum.TextYAlignment.Top scriptBox.ClearTextOnFocus = false scriptBox.MultiLine = true scriptBox.Text = "-- Welcome to KRNL's Revial!" scriptBox.Parent = scriptArea scriptBox:GetPropertyChangedSignal("Text"):Connect(function() updateLineNumbers(scriptBox) end) -- Нижняя панель local bottomPanel = Instance.new("Frame") bottomPanel.Name = "BottomPanel" bottomPanel.Size = UDim2.new(1, -20, 0, 35) bottomPanel.Position = UDim2.new(0, 10, 1, -45) bottomPanel.BackgroundTransparency = 1 bottomPanel.Parent = mainFrame -- Кнопка EXECUTE local executeButton = createButton(bottomPanel, "EXECUTE", UDim2.new(0, 70, 1, 0), UDim2.new(0, 0, 0, 0), function() executeScript(scriptBox.Text) end) -- Кнопка CLEAR local clearButton = createButton(bottomPanel, "CLEAR", UDim2.new(0, 60, 1, 0), UDim2.new(0, 80, 0, 0), function() scriptBox.Text = "" end) -- Кнопка OPEN FILE local openFileButton = createButton(bottomPanel, "OPEN FILE", UDim2.new(0, 80, 1, 0), UDim2.new(0, 150, 0, 0), function() local fileName = "default" scriptBox.Text = openFile(fileName) end) -- Кнопка SAVE FILE local saveFileButton = createButton(bottomPanel, "SAVE FILE", UDim2.new(0, 80, 1, 0), UDim2.new(0, 240, 0, 0), function() local fileName = "default" saveFile(scriptBox.Text, fileName) end) -- Кнопка INJECT local injectButton = createButton(bottomPanel, "INJECT", UDim2.new(0, 70, 1, 0), UDim2.new(0, 330, 0, 0), function() simulateInjection() end) -- Кнопка TOPMOST local topmostButton = createButton(bottomPanel, "TOPMOST", UDim2.new(0, 80, 1, 0), UDim2.new(0, 410, 0, 0), function() screenGui.Enabled = not screenGui.Enabled task.wait() screenGui.Enabled = true end) -- Инициализация номеров строк updateLineNumbers(scriptBox) -- Скрываем дропдауны при клике вне них userInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.UserInputType == Enum.UserInputType.MouseButton1 then fileDropdown.Visible = false othersDropdown.Visible = false end end) print("KRNL Revial GUI Loaded! Click 'Get Key' to activate INJECT.")