-- Services local Players = game:GetService("Players") local UIS = game:GetService("UserInputService") local player = Players.LocalPlayer -- GUI local gui = Instance.new("ScreenGui") gui.Name = "NathanScriptsUI" gui.ResetOnSpawn = false gui.Parent = player:WaitForChild("PlayerGui") -- Main Frame local mainFrame = Instance.new("Frame") mainFrame.Parent = gui mainFrame.Size = UDim2.new(0, 500, 0, 320) mainFrame.Position = UDim2.new(0.5, -250, 0.5, -160) mainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20) mainFrame.BorderSizePixel = 0 local mainCorner = Instance.new("UICorner") mainCorner.CornerRadius = UDim.new(0, 16) mainCorner.Parent = mainFrame -- Top Bar local topBar = Instance.new("Frame") topBar.Parent = mainFrame topBar.Size = UDim2.new(1, 0, 0, 50) topBar.BackgroundColor3 = Color3.fromRGB(15, 15, 15) topBar.BorderSizePixel = 0 local topCorner = Instance.new("UICorner") topCorner.CornerRadius = UDim.new(0, 16) topCorner.Parent = topBar -- Logo local logo = Instance.new("ImageLabel") logo.Parent = topBar logo.Size = UDim2.new(0, 36, 0, 36) logo.Position = UDim2.new(0, 12, 0.5, -18) logo.BackgroundTransparency = 1 logo.Image = "rbxassetid://81194496393205" -- local logoCorner = Instance.new("UICorner") logoCorner.CornerRadius = UDim.new(0, 8) logoCorner.Parent = logo -- Title local title = Instance.new("TextLabel") title.Parent = topBar title.BackgroundTransparency = 1 title.Position = UDim2.new(0, 60, 0, 0) title.Size = UDim2.new(1, -140, 1, 0) title.Font = Enum.Font.GothamBold title.Text = "Nathan Scripts" title.TextColor3 = Color3.fromRGB(255,255,255) title.TextSize = 20 title.TextXAlignment = Enum.TextXAlignment.Left -- Close Button local closeBtn = Instance.new("TextButton") closeBtn.Parent = topBar closeBtn.Size = UDim2.new(0, 32, 0, 32) closeBtn.Position = UDim2.new(1, -40, 0.5, -16) closeBtn.Text = "X" closeBtn.Font = Enum.Font.GothamBold closeBtn.TextSize = 16 closeBtn.TextColor3 = Color3.new(1,1,1) closeBtn.BackgroundColor3 = Color3.fromRGB(220, 60, 60) local closeCorner = Instance.new("UICorner") closeCorner.CornerRadius = UDim.new(1,0) closeCorner.Parent = closeBtn closeBtn.MouseButton1Click:Connect(function() gui:Destroy() end) -- Minimize Button local minBtn = Instance.new("TextButton") minBtn.Parent = topBar minBtn.Size = UDim2.new(0, 32, 0, 32) minBtn.Position = UDim2.new(1, -80, 0.5, -16) minBtn.Text = "-" minBtn.Font = Enum.Font.GothamBold minBtn.TextSize = 20 minBtn.TextColor3 = Color3.new(1,1,1) minBtn.BackgroundColor3 = Color3.fromRGB(240, 200, 60) local minCorner = Instance.new("UICorner") minCorner.CornerRadius = UDim.new(1,0) minCorner.Parent = minBtn -- Code Box local codeBox = Instance.new("TextBox") codeBox.Parent = mainFrame codeBox.Size = UDim2.new(1, -40, 0, 180) codeBox.Position = UDim2.new(0, 20, 0, 60) codeBox.BackgroundColor3 = Color3.fromRGB(30, 30, 30) codeBox.TextColor3 = Color3.fromRGB(0, 255, 150) codeBox.Text = "-- Nathan Scripts" codeBox.TextXAlignment = Enum.TextXAlignment.Left codeBox.TextYAlignment = Enum.TextYAlignment.Top codeBox.TextSize = 18 codeBox.Font = Enum.Font.Code codeBox.MultiLine = true codeBox.ClearTextOnFocus = false local codeCorner = Instance.new("UICorner") codeCorner.CornerRadius = UDim.new(0, 12) codeCorner.Parent = codeBox -- Run Button local runBtn = Instance.new("TextButton") runBtn.Parent = mainFrame runBtn.Size = UDim2.new(0.45, 0, 0, 50) runBtn.Position = UDim2.new(0.03, 0, 1, -65) runBtn.Text = "Run Script" runBtn.Font = Enum.Font.GothamBold runBtn.TextSize = 20 runBtn.TextColor3 = Color3.new(1,1,1) runBtn.BackgroundColor3 = Color3.fromRGB(20, 200, 120) local runCorner = Instance.new("UICorner") runCorner.CornerRadius = UDim.new(0, 14) runCorner.Parent = runBtn -- Cancel Button local cancelBtn = Instance.new("TextButton") cancelBtn.Parent = mainFrame cancelBtn.Size = UDim2.new(0.45, 0, 0, 50) cancelBtn.Position = UDim2.new(0.52, 0, 1, -65) cancelBtn.Text = "Cancel" cancelBtn.Font = Enum.Font.GothamBold cancelBtn.TextSize = 20 cancelBtn.TextColor3 = Color3.new(1,1,1) cancelBtn.BackgroundColor3 = Color3.fromRGB(220, 60, 60) local cancelCorner = Instance.new("UICorner") cancelCorner.CornerRadius = UDim.new(0, 14) cancelCorner.Parent = cancelBtn cancelBtn.MouseButton1Click:Connect(function() codeBox.Text = "" end) -- Run Code runBtn.MouseButton1Click:Connect(function() local func = loadstring(codeBox.Text) if func then pcall(func) end end) -- Minimize Logic local minimized = false minBtn.MouseButton1Click:Connect(function() minimized = not minimized if minimized then codeBox.Visible = false runBtn.Visible = false cancelBtn.Visible = false mainFrame.Size = UDim2.new(0, 500, 0, 60) else codeBox.Visible = true runBtn.Visible = true cancelBtn.Visible = true mainFrame.Size = UDim2.new(0, 500, 0, 320) end end) -- DRAG SYSTEM local dragging = false local dragInput local dragStart local startPos local function update(input) 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 topBar.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.End then dragging = false end end) end end) topBar.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UIS.InputChanged:Connect(function(input) if input == dragInput and dragging then update(input) end end)