
KeylessUniversal

-- 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("")No comments yet for this script.



