--[[ WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk! ]] local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "Lua_Executor" ScreenGui.Parent = PlayerGui ScreenGui.ResetOnSpawn = false local MainFrame = Instance.new("Frame") MainFrame.Size = UDim2.new(0.7, 0, 0.7, 0) MainFrame.Position = UDim2.new(0.15, 0, 0.15, 0) MainFrame.BackgroundColor3 = Color3.fromRGB(20, 25, 40) -- Dark Blue MainFrame.BorderSizePixel = 0 MainFrame.Draggable = true MainFrame.ClipsDescendants = true MainFrame.Parent = ScreenGui local UICorner_Main = Instance.new("UICorner") UICorner_Main.CornerRadius = UDim.new(0, 8) UICorner_Main.Parent = MainFrame -- Main Frame Glow/Stroke local UIStroke_Main = Instance.new("UIStroke") UIStroke_Main.Color = Color3.fromRGB(0, 180, 255) -- Bright blue glow UIStroke_Main.Transparency = 0.6 UIStroke_Main.Thickness = 2 UIStroke_Main.Parent = MainFrame local TitleBar = Instance.new("Frame") TitleBar.Size = UDim2.new(1, 0, 0.06, 0) TitleBar.Position = UDim2.new(0, 0, 0, 0) TitleBar.BackgroundColor3 = Color3.fromRGB(30, 35, 60) -- Slightly lighter dark blue TitleBar.BorderSizePixel = 0 TitleBar.Parent = MainFrame -- Title Bar Gradient for light effect local UIGradient_Title = Instance.new("UIGradient") UIGradient_Title.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(0, 150, 255)), -- Start with vibrant red ColorSequenceKeypoint.new(0.5, Color3.fromRGB(30, 35, 60)), -- Transition to main blue ColorSequenceKeypoint.new(1, Color3.fromRGB(0, 150, 255)) -- End with vibrant black }) UIGradient_Title.Rotation = 90 UIGradient_Title.Transparency = NumberSequence.new(0.2, 0.2) UIGradient_Title.Parent = TitleBar local TitleLabel = Instance.new("TextLabel") TitleLabel.Size = UDim2.new(0.8, 0, 1, 0) TitleLabel.Position = UDim2.new(0, 0, 0, 0) TitleLabel.BackgroundTransparency = 1 -- Transparent to show gradient TitleLabel.TextColor3 = Color3.fromRGB(240, 240, 240) -- Off-white TitleLabel.Font = Enum.Font.SourceSansBold TitleLabel.TextSize = 18 TitleLabel.TextXAlignment = Enum.TextXAlignment.Left TitleLabel.TextWrapped = true TitleLabel.Text = " KRNL" TitleLabel.Parent = TitleBar local MinimizeButton = Instance.new("TextButton") MinimizeButton.Size = UDim2.new(0.05, 0, 1, 0) MinimizeButton.Position = UDim2.new(0.89, 0, 0, 0) MinimizeButton.BackgroundTransparency = 1 -- Transparent MinimizeButton.TextColor3 = Color3.fromRGB(0, 200, 255) -- Vibrant Blue MinimizeButton.Font = Enum.Font.SourceSansBold MinimizeButton.TextSize = 18 MinimizeButton.Text = "_" MinimizeButton.Parent = TitleBar local UIStroke_Minimize = Instance.new("UIStroke") UIStroke_Minimize.Color = Color3.fromRGB(0, 180, 255) UIStroke_Minimize.Transparency = 0.6 UIStroke_Minimize.Thickness = 1 UIStroke_Minimize.Parent = MinimizeButton local CloseButton = Instance.new("TextButton") CloseButton.Size = UDim2.new(0.05, 0, 1, 0) CloseButton.Position = UDim2.new(0.94, 0, 0, 0) CloseButton.BackgroundTransparency = 1 -- Transparent CloseButton.TextColor3 = Color3.fromRGB(200, 60, 60) -- Blue CloseButton.Font = Enum.Font.SourceSansBold CloseButton.TextSize = 18 CloseButton.Text = "□" CloseButton.Parent = TitleBar local UIStroke_Close = Instance.new("UIStroke") UIStroke_Close.Color = Color3.fromRGB(200, 60, 60) UIStroke_Close.Transparency = 0.6 UIStroke_Close.Thickness = 1 UIStroke_Close.Parent = CloseButton local ContentFrame = Instance.new("Frame") ContentFrame.Size = UDim2.new(1, 0, 0.94, 0) ContentFrame.Position = UDim2.new(0, 0.0, 0.06, 0) ContentFrame.BackgroundColor3 = Color3.fromRGB(20, 25, 40) -- Match MainFrame ContentFrame.BorderSizePixel = 0 ContentFrame.Parent = MainFrame -- Script List Panel local ScriptListPanel = Instance.new("Frame") ScriptListPanel.Size = UDim2.new(0.25, 0, 1, 0) ScriptListPanel.Position = UDim2.new(0, 0, 0, 0) ScriptListPanel.BackgroundColor3 = Color3.fromRGB(30, 35, 60) -- Darker secondary blue ScriptListPanel.BorderSizePixel = 0 ScriptListPanel.Parent = ContentFrame local ScriptListTitle = Instance.new("TextLabel") ScriptListTitle.Size = UDim2.new(1, 0, 0.08, 0) ScriptListTitle.Position = UDim2.new(0, 0, 0, 0) ScriptListTitle.BackgroundColor3 = Color3.fromRGB(40, 45, 75) -- Tertiary blue ScriptListTitle.TextColor3 = Color3.fromRGB(240, 240, 240) -- Off-white ScriptListTitle.Font = Enum.Font.SourceSansBold ScriptListTitle.TextSize = 16 ScriptListTitle.Text = "Saved Scripts" ScriptListTitle.Parent = ScriptListPanel local ScriptListScrollingFrame = Instance.new("ScrollingFrame") ScriptListScrollingFrame.Size = UDim2.new(1, 0, 0.8, 0) ScriptListScrollingFrame.Position = UDim2.new(0, 0, 0.08, 0) ScriptListScrollingFrame.BackgroundColor3 = Color3.fromRGB(25, 30, 50) -- Slightly darker for scrolling area ScriptListScrollingFrame.BorderSizePixel = 0 ScriptListScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, 0) ScriptListScrollingFrame.ScrollBarThickness = 6 ScriptListScrollingFrame.ScrollBarImageColor3 = Color3.fromRGB(0, 120, 255) -- Blue scrollbar ScriptListScrollingFrame.Parent = ScriptListPanel local UIListLayout_Scripts = Instance.new("UIListLayout") UIListLayout_Scripts.FillDirection = Enum.FillDirection.Vertical UIListLayout_Scripts.HorizontalAlignment = Enum.HorizontalAlignment.Center UIListLayout_Scripts.Padding = UDim.new(0, 2) UIListLayout_Scripts.Parent = ScriptListScrollingFrame local ScriptListButtonsFrame = Instance.new("Frame") ScriptListButtonsFrame.Size = UDim2.new(1, 0, 0.12, 0) ScriptListButtonsFrame.Position = UDim2.new(0, 0, 0.88, 0) ScriptListButtonsFrame.BackgroundColor3 = Color3.fromRGB(40, 45, 75) -- Tertiary blue ScriptListButtonsFrame.BorderSizePixel = 0 ScriptListButtonsFrame.Parent = ScriptListPanel local UIListLayout_ListButtons = Instance.new("UIListLayout") UIListLayout_ListButtons.FillDirection = Enum.FillDirection.Horizontal UIListLayout_ListButtons.HorizontalAlignment = Enum.HorizontalAlignment.Center UIListLayout_ListButtons.VerticalAlignment = Enum.VerticalAlignment.Center UIListLayout_ListButtons.Padding = UDim.new(0, 5) UIListLayout_ListButtons.Parent = ScriptListButtonsFrame local NewScriptButton = Instance.new("TextButton") NewScriptButton.Size = UDim2.new(0.3, 0, 0.8, 0) NewScriptButton.BackgroundTransparency = 1 -- Transparent NewScriptButton.TextColor3 = Color3.fromRGB(0, 120, 255) -- Vibrant Blue NewScriptButton.Font = Enum.Font.SourceSansBold NewScriptButton.TextSize = 14 NewScriptButton.Text = "{حدث}" NewScriptButton.Parent = ScriptListButtonsFrame local UIStroke_New = Instance.new("UIStroke") UIStroke_New.Color = Color3.fromRGB(100, 200, 255) -- Light blue glow UIStroke_New.Transparency = 0.6 UIStroke_New.Thickness = 1 UIStroke_New.Parent = NewScriptButton local LoadSelectedButton = Instance.new("TextButton") LoadSelectedButton.Size = UDim2.new(0.3, 0, 0.8, 0) LoadSelectedButton.BackgroundTransparency = 1 -- Transparent LoadSelectedButton.TextColor3 = Color3.fromRGB(0, 120, 255) -- Vibrant Blue LoadSelectedButton.Font = Enum.Font.SourceSansBold LoadSelectedButton.TextSize = 14 LoadSelectedButton.Text = "☆فتح" LoadSelectedButton.Parent = ScriptListButtonsFrame local UIStroke_Load = Instance.new("UIStroke") UIStroke_Load.Color = Color3.fromRGB(100, 200, 255) -- Light blue glow UIStroke_Load.Transparency = 0.6 UIStroke_Load.Thickness = 1 UIStroke_Load.Parent = LoadSelectedButton local DeleteSelectedButton = Instance.new("TextButton") DeleteSelectedButton.Size = UDim2.new(0.3, 0, 0.8, 0) DeleteSelectedButton.BackgroundTransparency = 1 -- Transparent DeleteSelectedButton.TextColor3 = Color3.fromRGB(200, 60, 60) -- Red DeleteSelectedButton.Font = Enum.Font.SourceSansBold DeleteSelectedButton.TextSize = 14 DeleteSelectedButton.Text = "☆حذف" DeleteSelectedButton.Parent = ScriptListButtonsFrame local UIStroke_Delete = Instance.new("UIStroke") UIStroke_Delete.Color = Color3.fromRGB(255, 120, 120) -- Light red glow UIStroke_Delete.Transparency = 0.6 UIStroke_Delete.Thickness = 1 UIStroke_Delete.Parent = DeleteSelectedButton -- Editor Panel local EditorPanel = Instance.new("Frame") EditorPanel.Size = UDim2.new(0.75, 0, 1, 0) EditorPanel.Position = UDim2.new(0.25, 0, 0, 0) EditorPanel.BackgroundColor3 = Color3.fromRGB(20, 25, 40) -- Match MainFrame EditorPanel.BorderSizePixel = 0 EditorPanel.Parent = ContentFrame local ScriptNameTextBox = Instance.new("TextBox") ScriptNameTextBox.Size = UDim2.new(1, 0, 0.08, 0) ScriptNameTextBox.Position = UDim2.new(0, 0, 0, 0) ScriptNameTextBox.BackgroundColor3 = Color3.fromRGB(30, 35, 60) -- Darker secondary blue ScriptNameTextBox.TextColor3 = Color3.fromRGB(240, 240, 240) -- Off-white ScriptNameTextBox.Font = Enum.Font.SourceSansBold ScriptNameTextBox.TextSize = 16 ScriptNameTextBox.TextXAlignment = Enum.TextXAlignment.Left ScriptNameTextBox.Text = " Untitled Script" ScriptNameTextBox.PlaceholderText = " Script Name" ScriptNameTextBox.Parent = EditorPanel local CodeTextBox = Instance.new("TextBox") CodeTextBox.Size = UDim2.new(1, 0, 0.8, 0) CodeTextBox.Position = UDim2.new(0, 0, 0.08, 0) CodeTextBox.BackgroundColor3 = Color3.fromRGB(15, 20, 35) -- Very dark blue for code area CodeTextBox.TextColor3 = Color3.fromRGB(220, 220, 220) -- Lighter grey for code CodeTextBox.Font = Enum.Font.Code CodeTextBox.TextSize = 14 CodeTextBox.TextXAlignment = Enum.TextXAlignment.Left CodeTextBox.TextYAlignment = Enum.TextYAlignment.Top CodeTextBox.MultiLine = true CodeTextBox.ClearTextOnFocus = false CodeTextBox.PlaceholderText = "مرحبا" CodeTextBox.Parent = EditorPanel local EditorButtonsFrame = Instance.new("Frame") EditorButtonsFrame.Size = UDim2.new(1, 0, 0.12, 0) EditorButtonsFrame.Position = UDim2.new(0, 0, 0.88, 0) EditorButtonsFrame.BackgroundColor3 = Color3.fromRGB(40, 45, 75) -- Tertiary blue EditorButtonsFrame.BorderSizePixel = 0 EditorButtonsFrame.Parent = EditorPanel local UIListLayout_EditorButtons = Instance.new("UIListLayout") UIListLayout_EditorButtons.FillDirection = Enum.FillDirection.Horizontal UIListLayout_EditorButtons.HorizontalAlignment = Enum.HorizontalAlignment.Center UIListLayout_EditorButtons.VerticalAlignment = Enum.VerticalAlignment.Center UIListLayout_EditorButtons.Padding = UDim.new(0, 5) UIListLayout_EditorButtons.Parent = EditorButtonsFrame local ExecuteButton = Instance.new("TextButton") ExecuteButton.Size = UDim2.new(0.3, 0, 0.8, 0) ExecuteButton.BackgroundTransparency = 1 -- Transparent ExecuteButton.TextColor3 = Color3.fromRGB(40, 180, 90) -- Green for execute ExecuteButton.Font = Enum.Font.SourceSansBold ExecuteButton.TextSize = 16 ExecuteButton.Text = "{Lua}" ExecuteButton.Parent = EditorButtonsFrame local UIStroke_Execute = Instance.new("UIStroke") UIStroke_Execute.Color = Color3.fromRGB(90, 255, 140) -- Light green glow UIStroke_Execute.Transparency = 0.6 UIStroke_Execute.Thickness = 1 UIStroke_Execute.Parent = ExecuteButton local SaveCurrentButton = Instance.new("TextButton") SaveCurrentButton.Size = UDim2.new(0.3, 0, 0.8, 0) SaveCurrentButton.BackgroundTransparency = 1 -- Transparent SaveCurrentButton.TextColor3 = Color3.fromRGB(0, 120, 255) -- Vibrant Blue SaveCurrentButton.Font = Enum.Font.SourceSansBold SaveCurrentButton.TextSize = 16 SaveCurrentButton.Text = "حفظ☆" SaveCurrentButton.Parent = EditorButtonsFrame local UIStroke_SaveCurrent = Instance.new("UIStroke") UIStroke_SaveCurrent.Color = Color3.fromRGB(100, 200, 255) -- Light blue glow UIStroke_SaveCurrent.Transparency = 0.6 UIStroke_SaveCurrent.Thickness = 1 UIStroke_SaveCurrent.Parent = SaveCurrentButton local ClearEditorButton = Instance.new("TextButton") ClearEditorButton.Size = UDim2.new(0.3, 0, 0.8, 0) ClearEditorButton.BackgroundTransparency = 1 -- Transparent ClearEditorButton.TextColor3 = Color3.fromRGB(200, 60, 60) -- black ClearEditorButton.Font = Enum.Font.SourceSansBold ClearEditorButton.TextSize = 16 ClearEditorButton.Text = "{حذف}" ClearEditorButton.Parent = EditorButtonsFrame local UIStroke_Clear = Instance.new("UIStroke") UIStroke_Clear.Color = Color3.fromRGB(255, 120, 120) -- Light red glow UIStroke_Clear.Transparency = 0.6 UIStroke_Clear.Thickness = 1 UIStroke_Clear.Parent = ClearEditorButton -- Data Storage local SavedScriptsFolder = ScreenGui:FindFirstChild("SavedScripts") if not SavedScriptsFolder then SavedScriptsFolder = Instance.new("Folder") SavedScriptsFolder.Name = "SavedScripts" SavedScriptsFolder.Parent = ScreenGui end local SelectedScriptValue = Instance.new("StringValue") SelectedScriptValue.Name = "SelectedScript" SelectedScriptValue.Value = "" -- Stores the name of the currently selected script SelectedScriptValue.Parent = ScreenGui local currentSelectedScriptButton = nil local originalFrameSize = MainFrame.Size local minimizedSize = UDim2.new(MainFrame.Size.X.Scale, MainFrame.Size.X.Offset, TitleBar.Size.Y.Scale, TitleBar.Size.Y.Offset) local isMinimized = false local function updateScriptList() for _, child in ipairs(ScriptListScrollingFrame:GetChildren()) do if child:IsA("TextButton") then child:Destroy() end end local scriptNames = {} for _, scriptValue in ipairs(SavedScriptsFolder:GetChildren()) do if scriptValue:IsA("StringValue") then table.insert(scriptNames, scriptValue.Name) end end table.sort(scriptNames) local newCanvasY = 0 for _, scriptName in ipairs(scriptNames) do local scriptButton = Instance.new("TextButton") scriptButton.Name = scriptName scriptButton.Size = UDim2.new(0.95, 0, 0, 30) scriptButton.BackgroundTransparency = 1 -- Transparent scriptButton.TextColor3 = Color3.fromRGB(0, 120, 255) -- Blue for script buttons scriptButton.Font = Enum.Font.SourceSans scriptButton.TextSize = 14 scriptButton.TextXAlignment = Enum.TextXAlignment.Left scriptButton.Text = " " .. scriptName scriptButton.Parent = ScriptListScrollingFrame local UICorner_ScriptButton = Instance.new("UICorner") UICorner_ScriptButton.CornerRadius = UDim.new(0, 4) UICorner_ScriptButton.Parent = scriptButton local UIStroke_ScriptButton = Instance.new("UIStroke") UIStroke_ScriptButton.Color = Color3.fromRGB(100, 200, 255) UIStroke_ScriptButton.Transparency = 0.8 UIStroke_ScriptButton.Thickness = 1 UIStroke_ScriptButton.Parent = scriptButton scriptButton.MouseButton1Click:Connect(function() if currentSelectedScriptButton then currentSelectedScriptButton.BackgroundTransparency = 1 currentSelectedScriptButton.UIStroke.Transparency = 0.8 end scriptButton.BackgroundTransparency = 0.8 -- Slightly visible when selected scriptButton.UIStroke.Transparency = 0.2 -- Make glow more visible currentSelectedScriptButton = scriptButton SelectedScriptValue.Value = scriptName end) newCanvasY = newCanvasY + 30 + UIListLayout_Scripts.Padding.Offset end ScriptListScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, newCanvasY) end local function loadScript(scriptName) local scriptValue = SavedScriptsFolder:FindFirstChild(scriptName) if scriptValue and scriptValue:IsA("StringValue") then CodeTextBox.Text = scriptValue.Value ScriptNameTextBox.Text = scriptName SelectedScriptValue.Value = scriptName if currentSelectedScriptButton then currentSelectedScriptButton.BackgroundTransparency = 1 currentSelectedScriptButton.UIStroke.Transparency = 0.8 end local button = ScriptListScrollingFrame:FindFirstChild(scriptName) if button then button.BackgroundTransparency = 0.8 button.UIStroke.Transparency = 0.2 currentSelectedScriptButton = button end end end local function saveScript(scriptName, scriptContent) local existingScript = SavedScriptsFolder:FindFirstChild(scriptName) if existingScript and existingScript:IsA("StringValue") then existingScript.Value = scriptContent else local newScriptValue = Instance.new("StringValue") newScriptValue.Name = scriptName newScriptValue.Value = scriptContent newScriptValue.Parent = SavedScriptsFolder end updateScriptList() loadScript(scriptName) end local function deleteScript(scriptName) local scriptValue = SavedScriptsFolder:FindFirstChild(scriptName) if scriptValue and scriptValue:IsA("StringValue") then scriptValue:Destroy() updateScriptList() if SelectedScriptValue.Value == scriptName then CodeTextBox.Text = "" ScriptNameTextBox.Text = " Untitled Script" SelectedScriptValue.Value = "" currentSelectedScriptButton = nil end end end ExecuteButton.MouseButton1Click:Connect(function() local success, err = pcall(function() local func = loadstring(CodeTextBox.Text) if func then func() else warn("Failed to load string, possibly empty or invalid code.") end end) if not success then warn("Execution error: " .. tostring(err)) end end) SaveCurrentButton.MouseButton1Click:Connect(function() local scriptName = ScriptNameTextBox.Text:gsub("^%s+", ""):gsub("%s+$", "") -- Trim whitespace if scriptName == "" or scriptName == "Untitled Script" then local namePrompt = Instance.new("TextBox") namePrompt.Size = UDim2.new(0, 200, 0, 30) namePrompt.Position = UDim2.new(0.5, -100, 0.5, -15) namePrompt.BackgroundColor3 = Color3.fromRGB(30, 35, 60) -- Dark blue namePrompt.TextColor3 = Color3.fromRGB(240, 240, 240) -- Off-white namePrompt.Text = "" namePrompt.PlaceholderText = "Enter script name" namePrompt.Font = Enum.Font.SourceSansBold namePrompt.TextSize = 14 namePrompt.Parent = ScreenGui namePrompt.ZIndex = 10 -- Ensure it's on top local UICorner_Prompt = Instance.new("UICorner") UICorner_Prompt.CornerRadius = UDim.new(0, 4) UICorner_Prompt.Parent = namePrompt local UIStroke_Prompt = Instance.new("UIStroke") UIStroke_Prompt.Color = Color3.fromRGB(100, 200, 255) UIStroke_Prompt.Transparency = 0.5 UIStroke_Prompt.Thickness = 1 UIStroke_Prompt.Parent = namePrompt namePrompt.FocusLost:Connect(function(enterPressed) if enterPressed then local newName = namePrompt.Text:gsub("^%s+", ""):gsub("%s+$", "") if newName ~= "" then saveScript(newName, CodeTextBox.Text) end end namePrompt:Destroy() end) namePrompt:CaptureFocus() else saveScript(scriptName, CodeTextBox.Text) end end) ClearEditorButton.MouseButton1Click:Connect(function() CodeTextBox.Text = "" ScriptNameTextBox.Text = " Untitled Script" SelectedScriptValue.Value = "" if currentSelectedScriptButton then currentSelectedScriptButton.BackgroundTransparency = 1 currentSelectedScriptButton.UIStroke.Transparency = 0.8 currentSelectedScriptButton = nil end end) NewScriptButton.MouseButton1Click:Connect(function() CodeTextBox.Text = "" ScriptNameTextBox.Text = " Untitled Script" SelectedScriptValue.Value = "" if currentSelectedScriptButton then currentSelectedScriptButton.BackgroundTransparency = 1 currentSelectedScriptButton.UIStroke.Transparency = 0.8 currentSelectedScriptButton = nil end end) LoadSelectedButton.MouseButton1Click:Connect(function() local scriptName = SelectedScriptValue.Value if scriptName ~= "" then loadScript(scriptName) end end) DeleteSelectedButton.MouseButton1Click:Connect(function() local scriptName = SelectedScriptValue.Value if scriptName ~= "" then deleteScript(scriptName) end end) MinimizeButton.MouseButton1Click:Connect(function() if isMinimized then local tweenInfo = TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out) TweenService:Create(MainFrame, tweenInfo, {Size = originalFrameSize}):Play() ContentFrame.Visible = true isMinimized = false else local tweenInfo = TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out) TweenService:Create(MainFrame, tweenInfo, {Size = minimizedSize}):Play() ContentFrame.Visible = false isMinimized = true end end) CloseButton.MouseButton1Click:Connect(function() ScreenGui:Destroy() end) -- Initial setup updateScriptList() -- Make the frame draggable local dragging local dragInput local dragStart local startPos TitleBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = MainFrame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.Ended then dragging = false end end) end end) TitleBar.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then if dragging then local delta = input.Position - dragStart MainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end end) local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "Lua_Executor" ScreenGui.Parent = PlayerGui ScreenGui.ResetOnSpawn = false local MainFrame = Instance.new("Frame") MainFrame.Size = UDim2.new(0.7, 0, 0.7, 0) MainFrame.Position = UDim2.new(0.15, 0, 0.15, 0) MainFrame.BackgroundColor3 = Color3.fromRGB(20, 25, 40) -- Dark Blue MainFrame.BorderSizePixel = 0 MainFrame.Draggable = true MainFrame.ClipsDescendants = true MainFrame.Parent = ScreenGui local UICorner_Main = Instance.new("UICorner") UICorner_Main.CornerRadius = UDim.new(0, 8) UICorner_Main.Parent = MainFrame -- Main Frame Glow/Stroke local UIStroke_Main = Instance.new("UIStroke") UIStroke_Main.Color = Color3.fromRGB(0, 180, 255) -- Bright blue glow UIStroke_Main.Transparency = 0.6 UIStroke_Main.Thickness = 2 UIStroke_Main.Parent = MainFrame local TitleBar = Instance.new("Frame") TitleBar.Size = UDim2.new(1, 0, 0.06, 0) TitleBar.Position = UDim2.new(0, 0, 0, 0) TitleBar.BackgroundColor3 = Color3.fromRGB(30, 35, 60) -- Slightly lighter dark blue TitleBar.BorderSizePixel = 0 TitleBar.Parent = MainFrame -- Title Bar Gradient for light effect local UIGradient_Title = Instance.new("UIGradient") UIGradient_Title.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(0, 150, 255)), -- Start with vibrant red ColorSequenceKeypoint.new(0.5, Color3.fromRGB(30, 35, 60)), -- Transition to main blue ColorSequenceKeypoint.new(1, Color3.fromRGB(0, 150, 255)) -- End with vibrant black }) UIGradient_Title.Rotation = 90 UIGradient_Title.Transparency = NumberSequence.new(0.2, 0.2) UIGradient_Title.Parent = TitleBar local TitleLabel = Instance.new("TextLabel") TitleLabel.Size = UDim2.new(0.8, 0, 1, 0) TitleLabel.Position = UDim2.new(0, 0, 0, 0) TitleLabel.BackgroundTransparency = 1 -- Transparent to show gradient TitleLabel.TextColor3 = Color3.fromRGB(240, 240, 240) -- Off-white TitleLabel.Font = Enum.Font.SourceSansBold TitleLabel.TextSize = 18 TitleLabel.TextXAlignment = Enum.TextXAlignment.Left TitleLabel.TextWrapped = true TitleLabel.Text = " KRNL" TitleLabel.Parent = TitleBar local MinimizeButton = Instance.new("TextButton") MinimizeButton.Size = UDim2.new(0.05, 0, 1, 0) MinimizeButton.Position = UDim2.new(0.89, 0, 0, 0) MinimizeButton.BackgroundTransparency = 1 -- Transparent MinimizeButton.TextColor3 = Color3.fromRGB(0, 200, 255) -- Vibrant Blue MinimizeButton.Font = Enum.Font.SourceSansBold MinimizeButton.TextSize = 18 MinimizeButton.Text = "_" MinimizeButton.Parent = TitleBar local UIStroke_Minimize = Instance.new("UIStroke") UIStroke_Minimize.Color = Color3.fromRGB(0, 180, 255) UIStroke_Minimize.Transparency = 0.6 UIStroke_Minimize.Thickness = 1 UIStroke_Minimize.Parent = MinimizeButton local CloseButton = Instance.new("TextButton") CloseButton.Size = UDim2.new(0.05, 0, 1, 0) CloseButton.Position = UDim2.new(0.94, 0, 0, 0) CloseButton.BackgroundTransparency = 1 -- Transparent CloseButton.TextColor3 = Color3.fromRGB(200, 60, 60) -- Blue CloseButton.Font = Enum.Font.SourceSansBold CloseButton.TextSize = 18 CloseButton.Text = "□" CloseButton.Parent = TitleBar local UIStroke_Close = Instance.new("UIStroke") UIStroke_Close.Color = Color3.fromRGB(200, 60, 60) UIStroke_Close.Transparency = 0.6 UIStroke_Close.Thickness = 1 UIStroke_Close.Parent = CloseButton local ContentFrame = Instance.new("Frame") ContentFrame.Size = UDim2.new(1, 0, 0.94, 0) ContentFrame.Position = UDim2.new(0, 0.0, 0.06, 0) ContentFrame.BackgroundColor3 = Color3.fromRGB(20, 25, 40) -- Match MainFrame ContentFrame.BorderSizePixel = 0 ContentFrame.Parent = MainFrame -- Script List Panel local ScriptListPanel = Instance.new("Frame") ScriptListPanel.Size = UDim2.new(0.25, 0, 1, 0) ScriptListPanel.Position = UDim2.new(0, 0, 0, 0) ScriptListPanel.BackgroundColor3 = Color3.fromRGB(30, 35, 60) -- Darker secondary blue ScriptListPanel.BorderSizePixel = 0 ScriptListPanel.Parent = ContentFrame local ScriptListTitle = Instance.new("TextLabel") ScriptListTitle.Size = UDim2.new(1, 0, 0.08, 0) ScriptListTitle.Position = UDim2.new(0, 0, 0, 0) ScriptListTitle.BackgroundColor3 = Color3.fromRGB(40, 45, 75) -- Tertiary blue ScriptListTitle.TextColor3 = Color3.fromRGB(240, 240, 240) -- Off-white ScriptListTitle.Font = Enum.Font.SourceSansBold ScriptListTitle.TextSize = 16 ScriptListTitle.Text = "Saved Scripts" ScriptListTitle.Parent = ScriptListPanel local ScriptListScrollingFrame = Instance.new("ScrollingFrame") ScriptListScrollingFrame.Size = UDim2.new(1, 0, 0.8, 0) ScriptListScrollingFrame.Position = UDim2.new(0, 0, 0.08, 0) ScriptListScrollingFrame.BackgroundColor3 = Color3.fromRGB(25, 30, 50) -- Slightly darker for scrolling area ScriptListScrollingFrame.BorderSizePixel = 0 ScriptListScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, 0) ScriptListScrollingFrame.ScrollBarThickness = 6 ScriptListScrollingFrame.ScrollBarImageColor3 = Color3.fromRGB(0, 120, 255) -- Blue scrollbar ScriptListScrollingFrame.Parent = ScriptListPanel local UIListLayout_Scripts = Instance.new("UIListLayout") UIListLayout_Scripts.FillDirection = Enum.FillDirection.Vertical UIListLayout_Scripts.HorizontalAlignment = Enum.HorizontalAlignment.Center UIListLayout_Scripts.Padding = UDim.new(0, 2) UIListLayout_Scripts.Parent = ScriptListScrollingFrame local ScriptListButtonsFrame = Instance.new("Frame") ScriptListButtonsFrame.Size = UDim2.new(1, 0, 0.12, 0) ScriptListButtonsFrame.Position = UDim2.new(0, 0, 0.88, 0) ScriptListButtonsFrame.BackgroundColor3 = Color3.fromRGB(40, 45, 75) -- Tertiary blue ScriptListButtonsFrame.BorderSizePixel = 0 ScriptListButtonsFrame.Parent = ScriptListPanel local UIListLayout_ListButtons = Instance.new("UIListLayout") UIListLayout_ListButtons.FillDirection = Enum.FillDirection.Horizontal UIListLayout_ListButtons.HorizontalAlignment = Enum.HorizontalAlignment.Center UIListLayout_ListButtons.VerticalAlignment = Enum.VerticalAlignment.Center UIListLayout_ListButtons.Padding = UDim.new(0, 5) UIListLayout_ListButtons.Parent = ScriptListButtonsFrame local NewScriptButton = Instance.new("TextButton") NewScriptButton.Size = UDim2.new(0.3, 0, 0.8, 0) NewScriptButton.BackgroundTransparency = 1 -- Transparent NewScriptButton.TextColor3 = Color3.fromRGB(0, 120, 255) -- Vibrant Blue NewScriptButton.Font = Enum.Font.SourceSansBold NewScriptButton.TextSize = 14 NewScriptButton.Text = "{حدث}" NewScriptButton.Parent = ScriptListButtonsFrame local UIStroke_New = Instance.new("UIStroke") UIStroke_New.Color = Color3.fromRGB(100, 200, 255) -- Light blue glow UIStroke_New.Transparency = 0.6 UIStroke_New.Thickness = 1 UIStroke_New.Parent = NewScriptButton local LoadSelectedButton = Instance.new("TextButton") LoadSelectedButton.Size = UDim2.new(0.3, 0, 0.8, 0) LoadSelectedButton.BackgroundTransparency = 1 -- Transparent LoadSelectedButton.TextColor3 = Color3.fromRGB(0, 120, 255) -- Vibrant Blue LoadSelectedButton.Font = Enum.Font.SourceSansBold LoadSelectedButton.TextSize = 14 LoadSelectedButton.Text = "☆فتح" LoadSelectedButton.Parent = ScriptListButtonsFrame local UIStroke_Load = Instance.new("UIStroke") UIStroke_Load.Color = Color3.fromRGB(100, 200, 255) -- Light blue glow UIStroke_Load.Transparency = 0.6 UIStroke_Load.Thickness = 1 UIStroke_Load.Parent = LoadSelectedButton local DeleteSelectedButton = Instance.new("TextButton") DeleteSelectedButton.Size = UDim2.new(0.3, 0, 0.8, 0) DeleteSelectedButton.BackgroundTransparency = 1 -- Transparent DeleteSelectedButton.TextColor3 = Color3.fromRGB(200, 60, 60) -- Red DeleteSelectedButton.Font = Enum.Font.SourceSansBold DeleteSelectedButton.TextSize = 14 DeleteSelectedButton.Text = "☆حذف" DeleteSelectedButton.Parent = ScriptListButtonsFrame local UIStroke_Delete = Instance.new("UIStroke") UIStroke_Delete.Color = Color3.fromRGB(255, 120, 120) -- Light red glow UIStroke_Delete.Transparency = 0.6 UIStroke_Delete.Thickness = 1 UIStroke_Delete.Parent = DeleteSelectedButton -- Editor Panel local EditorPanel = Instance.new("Frame") EditorPanel.Size = UDim2.new(0.75, 0, 1, 0) EditorPanel.Position = UDim2.new(0.25, 0, 0, 0) EditorPanel.BackgroundColor3 = Color3.fromRGB(20, 25, 40) -- Match MainFrame EditorPanel.BorderSizePixel = 0 EditorPanel.Parent = ContentFrame local ScriptNameTextBox = Instance.new("TextBox") ScriptNameTextBox.Size = UDim2.new(1, 0, 0.08, 0) ScriptNameTextBox.Position = UDim2.new(0, 0, 0, 0) ScriptNameTextBox.BackgroundColor3 = Color3.fromRGB(30, 35, 60) -- Darker secondary blue ScriptNameTextBox.TextColor3 = Color3.fromRGB(240, 240, 240) -- Off-white ScriptNameTextBox.Font = Enum.Font.SourceSansBold ScriptNameTextBox.TextSize = 16 ScriptNameTextBox.TextXAlignment = Enum.TextXAlignment.Left ScriptNameTextBox.Text = " Untitled Script" ScriptNameTextBox.PlaceholderText = " Script Name" ScriptNameTextBox.Parent = EditorPanel local CodeTextBox = Instance.new("TextBox") CodeTextBox.Size = UDim2.new(1, 0, 0.8, 0) CodeTextBox.Position = UDim2.new(0, 0, 0.08, 0) CodeTextBox.BackgroundColor3 = Color3.fromRGB(15, 20, 35) -- Very dark blue for code area CodeTextBox.TextColor3 = Color3.fromRGB(220, 220, 220) -- Lighter grey for code CodeTextBox.Font = Enum.Font.Code CodeTextBox.TextSize = 14 CodeTextBox.TextXAlignment = Enum.TextXAlignment.Left CodeTextBox.TextYAlignment = Enum.TextYAlignment.Top CodeTextBox.MultiLine = true CodeTextBox.ClearTextOnFocus = false CodeTextBox.PlaceholderText = "مرحبا" CodeTextBox.Parent = EditorPanel local EditorButtonsFrame = Instance.new("Frame") EditorButtonsFrame.Size = UDim2.new(1, 0, 0.12, 0) EditorButtonsFrame.Position = UDim2.new(0, 0, 0.88, 0) EditorButtonsFrame.BackgroundColor3 = Color3.fromRGB(40, 45, 75) -- Tertiary blue EditorButtonsFrame.BorderSizePixel = 0 EditorButtonsFrame.Parent = EditorPanel local UIListLayout_EditorButtons = Instance.new("UIListLayout") UIListLayout_EditorButtons.FillDirection = Enum.FillDirection.Horizontal UIListLayout_EditorButtons.HorizontalAlignment = Enum.HorizontalAlignment.Center UIListLayout_EditorButtons.VerticalAlignment = Enum.VerticalAlignment.Center UIListLayout_EditorButtons.Padding = UDim.new(0, 5) UIListLayout_EditorButtons.Parent = EditorButtonsFrame local ExecuteButton = Instance.new("TextButton") ExecuteButton.Size = UDim2.new(0.3, 0, 0.8, 0) ExecuteButton.BackgroundTransparency = 1 -- Transparent ExecuteButton.TextColor3 = Color3.fromRGB(40, 180, 90) -- Green for execute ExecuteButton.Font = Enum.Font.SourceSansBold ExecuteButton.TextSize = 16 ExecuteButton.Text = "{Lua}" ExecuteButton.Parent = EditorButtonsFrame local UIStroke_Execute = Instance.new("UIStroke") UIStroke_Execute.Color = Color3.fromRGB(90, 255, 140) -- Light green glow UIStroke_Execute.Transparency = 0.6 UIStroke_Execute.Thickness = 1 UIStroke_Execute.Parent = ExecuteButton local SaveCurrentButton = Instance.new("TextButton") SaveCurrentButton.Size = UDim2.new(0.3, 0, 0.8, 0) SaveCurrentButton.BackgroundTransparency = 1 -- Transparent SaveCurrentButton.TextColor3 = Color3.fromRGB(0, 120, 255) -- Vibrant Blue SaveCurrentButton.Font = Enum.Font.SourceSansBold SaveCurrentButton.TextSize = 16 SaveCurrentButton.Text = "حفظ☆" SaveCurrentButton.Parent = EditorButtonsFrame local UIStroke_SaveCurrent = Instance.new("UIStroke") UIStroke_SaveCurrent.Color = Color3.fromRGB(100, 200, 255) -- Light blue glow UIStroke_SaveCurrent.Transparency = 0.6 UIStroke_SaveCurrent.Thickness = 1 UIStroke_SaveCurrent.Parent = SaveCurrentButton local ClearEditorButton = Instance.new("TextButton") ClearEditorButton.Size = UDim2.new(0.3, 0, 0.8, 0) ClearEditorButton.BackgroundTransparency = 1 -- Transparent ClearEditorButton.TextColor3 = Color3.fromRGB(200, 60, 60) -- black ClearEditorButton.Font = Enum.Font.SourceSansBold ClearEditorButton.TextSize = 16 ClearEditorButton.Text = "{حذف}" ClearEditorButton.Parent = EditorButtonsFrame local UIStroke_Clear = Instance.new("UIStroke") UIStroke_Clear.Color = Color3.fromRGB(255, 120, 120) -- Light red glow UIStroke_Clear.Transparency = 0.6 UIStroke_Clear.Thickness = 1 UIStroke_Clear.Parent = ClearEditorButton -- Data Storage local SavedScriptsFolder = ScreenGui:FindFirstChild("SavedScripts") if not SavedScriptsFolder then SavedScriptsFolder = Instance.new("Folder") SavedScriptsFolder.Name = "SavedScripts" SavedScriptsFolder.Parent = ScreenGui end local SelectedScriptValue = Instance.new("StringValue") SelectedScriptValue.Name = "SelectedScript" SelectedScriptValue.Value = "" -- Stores the name of the currently selected script SelectedScriptValue.Parent = ScreenGui local currentSelectedScriptButton = nil local originalFrameSize = MainFrame.Size local minimizedSize = UDim2.new(MainFrame.Size.X.Scale, MainFrame.Size.X.Offset, TitleBar.Size.Y.Scale, TitleBar.Size.Y.Offset) local isMinimized = false local function updateScriptList() for _, child in ipairs(ScriptListScrollingFrame:GetChildren()) do if child:IsA("TextButton") then child:Destroy() end end local scriptNames = {} for _, scriptValue in ipairs(SavedScriptsFolder:GetChildren()) do if scriptValue:IsA("StringValue") then table.insert(scriptNames, scriptValue.Name) end end table.sort(scriptNames) local newCanvasY = 0 for _, scriptName in ipairs(scriptNames) do local scriptButton = Instance.new("TextButton") scriptButton.Name = scriptName scriptButton.Size = UDim2.new(0.95, 0, 0, 30) scriptButton.BackgroundTransparency = 1 -- Transparent scriptButton.TextColor3 = Color3.fromRGB(0, 120, 255) -- Blue for script buttons scriptButton.Font = Enum.Font.SourceSans scriptButton.TextSize = 14 scriptButton.TextXAlignment = Enum.TextXAlignment.Left scriptButton.Text = " " .. scriptName scriptButton.Parent = ScriptListScrollingFrame local UICorner_ScriptButton = Instance.new("UICorner") UICorner_ScriptButton.CornerRadius = UDim.new(0, 4) UICorner_ScriptButton.Parent = scriptButton local UIStroke_ScriptButton = Instance.new("UIStroke") UIStroke_ScriptButton.Color = Color3.fromRGB(100, 200, 255) UIStroke_ScriptButton.Transparency = 0.8 UIStroke_ScriptButton.Thickness = 1 UIStroke_ScriptButton.Parent = scriptButton scriptButton.MouseButton1Click:Connect(function() if currentSelectedScriptButton then currentSelectedScriptButton.BackgroundTransparency = 1 currentSelectedScriptButton.UIStroke.Transparency = 0.8 end scriptButton.BackgroundTransparency = 0.8 -- Slightly visible when selected scriptButton.UIStroke.Transparency = 0.2 -- Make glow more visible currentSelectedScriptButton = scriptButton SelectedScriptValue.Value = scriptName end) newCanvasY = newCanvasY + 30 + UIListLayout_Scripts.Padding.Offset end ScriptListScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, newCanvasY) end local function loadScript(scriptName) local scriptValue = SavedScriptsFolder:FindFirstChild(scriptName) if scriptValue and scriptValue:IsA("StringValue") then CodeTextBox.Text = scriptValue.Value ScriptNameTextBox.Text = scriptName SelectedScriptValue.Value = scriptName if currentSelectedScriptButton then currentSelectedScriptButton.BackgroundTransparency = 1 currentSelectedScriptButton.UIStroke.Transparency = 0.8 end local button = ScriptListScrollingFrame:FindFirstChild(scriptName) if button then button.BackgroundTransparency = 0.8 button.UIStroke.Transparency = 0.2 currentSelectedScriptButton = button end end end local function saveScript(scriptName, scriptContent) local existingScript = SavedScriptsFolder:FindFirstChild(scriptName) if existingScript and existingScript:IsA("StringValue") then existingScript.Value = scriptContent else local newScriptValue = Instance.new("StringValue") newScriptValue.Name = scriptName newScriptValue.Value = scriptContent newScriptValue.Parent = SavedScriptsFolder end updateScriptList() loadScript(scriptName) end local function deleteScript(scriptName) local scriptValue = SavedScriptsFolder:FindFirstChild(scriptName) if scriptValue and scriptValue:IsA("StringValue") then scriptValue:Destroy() updateScriptList() if SelectedScriptValue.Value == scriptName then CodeTextBox.Text = "" ScriptNameTextBox.Text = " Untitled Script" SelectedScriptValue.Value = "" currentSelectedScriptButton = nil end end end ExecuteButton.MouseButton1Click:Connect(function() local success, err = pcall(function() local func = loadstring(CodeTextBox.Text) if func then func() else warn("Failed to load string, possibly empty or invalid code.") end end) if not success then warn("Execution error: " .. tostring(err)) end end) SaveCurrentButton.MouseButton1Click:Connect(function() local scriptName = ScriptNameTextBox.Text:gsub("^%s+", ""):gsub("%s+$", "") -- Trim whitespace if scriptName == "" or scriptName == "Untitled Script" then local namePrompt = Instance.new("TextBox") namePrompt.Size = UDim2.new(0, 200, 0, 30) namePrompt.Position = UDim2.new(0.5, -100, 0.5, -15) namePrompt.BackgroundColor3 = Color3.fromRGB(30, 35, 60) -- Dark blue namePrompt.TextColor3 = Color3.fromRGB(240, 240, 240) -- Off-white namePrompt.Text = "" namePrompt.PlaceholderText = "Enter script name" namePrompt.Font = Enum.Font.SourceSansBold namePrompt.TextSize = 14 namePrompt.Parent = ScreenGui namePrompt.ZIndex = 10 -- Ensure it's on top local UICorner_Prompt = Instance.new("UICorner") UICorner_Prompt.CornerRadius = UDim.new(0, 4) UICorner_Prompt.Parent = namePrompt local UIStroke_Prompt = Instance.new("UIStroke") UIStroke_Prompt.Color = Color3.fromRGB(100, 200, 255) UIStroke_Prompt.Transparency = 0.5 UIStroke_Prompt.Thickness = 1 UIStroke_Prompt.Parent = namePrompt namePrompt.FocusLost:Connect(function(enterPressed) if enterPressed then local newName = namePrompt.Text:gsub("^%s+", ""):gsub("%s+$", "") if newName ~= "" then saveScript(newName, CodeTextBox.Text) end end namePrompt:Destroy() end) namePrompt:CaptureFocus() else saveScript(scriptName, CodeTextBox.Text) end end) ClearEditorButton.MouseButton1Click:Connect(function() CodeTextBox.Text = "" ScriptNameTextBox.Text = " Untitled Script" SelectedScriptValue.Value = "" if currentSelectedScriptButton then currentSelectedScriptButton.BackgroundTransparency = 1 currentSelectedScriptButton.UIStroke.Transparency = 0.8 currentSelectedScriptButton = nil end end) NewScriptButton.MouseButton1Click:Connect(function() CodeTextBox.Text = "" ScriptNameTextBox.Text = " Untitled Script" SelectedScriptValue.Value = "" if currentSelectedScriptButton then currentSelectedScriptButton.BackgroundTransparency = 1 currentSelectedScriptButton.UIStroke.Transparency = 0.8 currentSelectedScriptButton = nil end end) LoadSelectedButton.MouseButton1Click:Connect(function() local scriptName = SelectedScriptValue.Value if scriptName ~= "" then loadScript(scriptName) end end) DeleteSelectedButton.MouseButton1Click:Connect(function() local scriptName = SelectedScriptValue.Value if scriptName ~= "" then deleteScript(scriptName) end end) MinimizeButton.MouseButton1Click:Connect(function() if isMinimized then local tweenInfo = TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out) TweenService:Create(MainFrame, tweenInfo, {Size = originalFrameSize}):Play() ContentFrame.Visible = true isMinimized = false else local tweenInfo = TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out) TweenService:Create(MainFrame, tweenInfo, {Size = minimizedSize}):Play() ContentFrame.Visible = false isMinimized = true end end) CloseButton.MouseButton1Click:Connect(function() ScreenGui:Destroy() end) -- Initial setup updateScriptList() -- Make the frame draggable local dragging local dragInput local dragStart local startPos TitleBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = MainFrame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.Ended then dragging = false end end) end end) TitleBar.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then if dragging then local delta = input.Position - dragStart MainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end end)