-- GUI Setup local screenGui = Instance.new("ScreenGui") screenGui.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui") -- Main Frame local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 400, 0, 300) frame.Position = UDim2.new(0.5, -200, 0.5, -150) frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) frame.BorderColor3 = Color3.fromRGB(255, 255, 255) frame.Parent = screenGui frame.Active = true -- Enable dragging -- Smooth opening animation frame.Size = UDim2.new(0, 0, 0, 0) frame:TweenSize(UDim2.new(0, 400, 0, 300), Enum.EasingDirection.Out, Enum.EasingStyle.Quad, 0.5, true) -- Title local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 0, 30) title.Text = "Auto Finder Remote Events" title.TextColor3 = Color3.fromRGB(0, 255, 0) title.BackgroundColor3 = Color3.fromRGB(20, 20, 20) title.TextSize = 18 title.Font = Enum.Font.Code title.TextXAlignment = Enum.TextXAlignment.Center title.Parent = frame -- Close Button local closeButton = Instance.new("TextButton") closeButton.Size = UDim2.new(0, 40, 0, 30) closeButton.Position = UDim2.new(1, -40, 0, 0) closeButton.Text = "X" closeButton.TextColor3 = Color3.fromRGB(255, 0, 0) closeButton.BackgroundTransparency = 1 closeButton.Font = Enum.Font.Code closeButton.TextSize = 18 closeButton.Parent = frame closeButton.MouseButton1Click:Connect(function() frame:TweenSize(UDim2.new(0, 0, 0, 0), Enum.EasingDirection.In, Enum.EasingStyle.Quad, 0.5, true, function() screenGui:Destroy() end) end) -- Search Bar local searchBox = Instance.new("TextBox") searchBox.Size = UDim2.new(1, -10, 0, 25) searchBox.Position = UDim2.new(0, 5, 0, 35) searchBox.PlaceholderText = "Search RemoteEvents..." searchBox.TextColor3 = Color3.fromRGB(255, 255, 255) searchBox.BackgroundColor3 = Color3.fromRGB(50, 50, 50) searchBox.TextSize = 14 searchBox.Font = Enum.Font.Code searchBox.ClearTextOnFocus = false searchBox.Parent = frame -- Scrolling Frame local scrollFrame = Instance.new("ScrollingFrame") scrollFrame.Size = UDim2.new(1, -10, 1, -70) scrollFrame.Position = UDim2.new(0, 5, 0, 65) scrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0) scrollFrame.BackgroundTransparency = 0.3 scrollFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20) scrollFrame.BorderSizePixel = 0 scrollFrame.Parent = frame local uiListLayout = Instance.new("UIListLayout") uiListLayout.SortOrder = Enum.SortOrder.LayoutOrder uiListLayout.Parent = scrollFrame -- Dragging functionality local dragging = false local dragStart, startPos local function updateInput(input) local delta = input.Position - dragStart frame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) frame.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then updateInput(input) end end) -- Function to find RemoteEvents in all services local function findAllRemoteEvents() local remoteEvents = {} local servicesToSearch = { game:GetService("Workspace"), game:GetService("ServerStorage"), game:GetService("ServerScriptService"), game:GetService("ReplicatedStorage"), game:GetService("StarterGui"), game:GetService("Players"), game:GetService("Lighting"), } for _, service in pairs(servicesToSearch) do for _, obj in pairs(service:GetDescendants()) do if obj:IsA("RemoteEvent") then table.insert(remoteEvents, obj:GetFullName()) end end end return remoteEvents end -- Function to display RemoteEvents local function displayRemoteEvents(searchTerm) local remoteEvents = findAllRemoteEvents() local filteredResults = {} for _, eventName in pairs(remoteEvents) do if searchTerm == "" or string.find(eventName:lower(), searchTerm:lower()) then table.insert(filteredResults, eventName) end end -- Reuse existing labels instead of creating new ones every time local existingLabels = {} for _, child in pairs(scrollFrame:GetChildren()) do if child:IsA("TextLabel") then table.insert(existingLabels, child) end end -- Update or create new labels for filtered results for index, result in pairs(filteredResults) do local label if existingLabels[index] then label = existingLabels[index] label.Text = result else label = Instance.new("TextLabel") label.Size = UDim2.new(1, 0, 0, 25) label.Text = result label.TextColor3 = Color3.fromRGB(0, 255, 0) label.TextSize = 14 label.BackgroundTransparency = 0.5 label.BackgroundColor3 = (index % 2 == 0) and Color3.fromRGB(40, 40, 40) or Color3.fromRGB(20, 20, 20) label.Font = Enum.Font.Code label.TextXAlignment = Enum.TextXAlignment.Left label.Parent = scrollFrame end end -- Remove extra labels for i = #filteredResults + 1, #existingLabels do existingLabels[i]:Destroy() end scrollFrame.CanvasSize = UDim2.new(0, 0, 0, #filteredResults * 25) end -- Search functionality searchBox:GetPropertyChangedSignal("Text"):Connect(function() displayRemoteEvents(searchBox.Text) end) -- Initial display of all RemoteEvents displayRemoteEvents("")