--// Services local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local StarterGui = game:GetService("StarterGui") local player = Players.LocalPlayer local PlayerGui = player:WaitForChild("PlayerGui") --============================-- -- UI Creation --============================-- local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "GuiScannerPro" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = PlayerGui -- Main Frame local MainFrame = Instance.new("Frame") MainFrame.Size = UDim2.fromScale(0.35, 0.45) MainFrame.Position = UDim2.fromScale(0.325, 0.275) MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 28) MainFrame.BackgroundTransparency = 0.08 -- Slight transparency MainFrame.Parent = ScreenGui MainFrame.AnchorPoint = Vector2.new(0.5,0.5) MainFrame.Position = UDim2.fromScale(0.5,0.5) MainFrame.SizeConstraint = Enum.SizeConstraint.RelativeXY -- Smooth corners local UICorner = Instance.new("UICorner") UICorner.CornerRadius = UDim.new(0, 18) UICorner.Parent = MainFrame -- Soft shadow (Natural 3D depth without uncanny valley) local Shadow = Instance.new("ImageLabel") Shadow.Image = "rbxassetid://1316045217" Shadow.ImageTransparency = 0.7 Shadow.ScaleType = Enum.ScaleType.Slice Shadow.SliceCenter = Rect.new(10,10,118,118) Shadow.Size = UDim2.new(1, 30, 1, 30) Shadow.Position = UDim2.new(0, -15, 0, -15) Shadow.BackgroundTransparency = 1 Shadow.ZIndex = 0 Shadow.Parent = MainFrame MainFrame.ZIndex = 1 -- Title local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, -20, 0, 40) Title.Position = UDim2.new(0,10,0,5) Title.Text = "GUI Scanner" Title.TextColor3 = Color3.fromRGB(240,240,240) Title.TextScaled = true Title.BackgroundTransparency = 1 Title.Font = Enum.Font.GothamBold Title.Parent = MainFrame -- List Container local ListFrame = Instance.new("ScrollingFrame") ListFrame.Size = UDim2.new(1, -20, 1, -80) ListFrame.Position = UDim2.new(0,10,0,50) ListFrame.CanvasSize = UDim2.new(0,0,0,0) ListFrame.ScrollBarImageColor3 = Color3.fromRGB(120,120,120) ListFrame.BackgroundTransparency = 0.15 ListFrame.BackgroundColor3 = Color3.fromRGB(35,35,38) ListFrame.Parent = MainFrame local ListCorner = Instance.new("UICorner", ListFrame) ListCorner.CornerRadius = UDim.new(0,12) local UIListLayout = Instance.new("UIListLayout", ListFrame) UIListLayout.Padding = UDim.new(0,8) --============================-- -- High Quality Tween --============================-- local function tween(obj, props, time) local info = TweenInfo.new( time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out ) TweenService:Create(obj, info, props):Play() end --============================-- -- Create GUI Entry --============================-- local function createGuiEntry(gui) local Holder = Instance.new("Frame") Holder.Size = UDim2.new(1, -10, 0, 45) Holder.BackgroundColor3 = Color3.fromRGB(45,45,50) Holder.BackgroundTransparency = 0.05 Holder.Parent = ListFrame local Corner = Instance.new("UICorner", Holder) Corner.CornerRadius = UDim.new(0,10) local NameLabel = Instance.new("TextLabel") NameLabel.Size = UDim2.new(0.5,0,1,0) NameLabel.Text = gui.Name NameLabel.Font = Enum.Font.Gotham NameLabel.TextScaled = true NameLabel.TextColor3 = Color3.fromRGB(235,235,235) NameLabel.BackgroundTransparency = 1 NameLabel.Parent = Holder local function createButton(text, color, callback) local Btn = Instance.new("TextButton") Btn.Size = UDim2.new(0,60,0.8,0) Btn.BackgroundColor3 = color Btn.Text = text Btn.TextScaled = true Btn.Font = Enum.Font.GothamBold Btn.TextColor3 = Color3.new(1,1,1) Btn.Parent = Holder local BtnCorner = Instance.new("UICorner", Btn) BtnCorner.CornerRadius = UDim.new(0,8) Btn.MouseEnter:Connect(function() tween(Btn, {Size = UDim2.new(0,65,0.85,0)}, 0.15) end) Btn.MouseLeave:Connect(function() tween(Btn, {Size = UDim2.new(0,60,0.8,0)}, 0.15) end) Btn.MouseButton1Click:Connect(callback) return Btn end -- Buttons local CopyBtn = createButton("Copy", Color3.fromRGB(70,130,255), function() setclipboard(gui.Name) end) CopyBtn.Position = UDim2.new(0.52,0,0.1,0) local MinBtn = createButton("-", Color3.fromRGB(255,170,0), function() tween(gui, {Enabled = false}, 0.3) end) MinBtn.Position = UDim2.new(0.67,0,0.1,0) local MaxBtn = createButton("+", Color3.fromRGB(0,200,120), function() gui.Enabled = true end) MaxBtn.Position = UDim2.new(0.8,0,0.1,0) local DeleteBtn = createButton("X", Color3.fromRGB(220,60,60), function() tween(gui, {Enabled = false}, 0.2) wait(0.2) gui:Destroy() Holder:Destroy() end) DeleteBtn.Position = UDim2.new(0.9,0,0.1,0) -- Entry animation Holder.BackgroundTransparency = 1 tween(Holder, {BackgroundTransparency = 0.05}, 0.4) end --============================-- -- Scan GUIs --============================-- local function scan() ListFrame:ClearAllChildren() UIListLayout.Parent = ListFrame for _, gui in pairs(PlayerGui:GetChildren()) do if gui:IsA("ScreenGui") and gui ~= ScreenGui then createGuiEntry(gui) end end wait() ListFrame.CanvasSize = UDim2.new(0,0,0,UIListLayout.AbsoluteContentSize.Y + 10) end scan() PlayerGui.ChildAdded:Connect(function(child) if child:IsA("ScreenGui") then wait(0.2) scan() end end) --============================-- -- Drag System (Mobile + PC) --============================-- local dragging = false local dragStart, startPos MainFrame.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 end end) UserInputService.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) 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) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end end)