
KeylessUniversal

--[[
WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
]]
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local Lighting = game:GetService("Lighting")
local StarterPack = game:GetService("StarterPack")
local StarterPlayer = game:GetService("StarterPlayer")
local StarterGui = game:GetService("StarterGui")
local UserInputService = game:GetService("UserInputService")
local HttpService = game:GetService("HttpService")
local player = Players.LocalPlayer
-- Remote scanning variables
local scanning = false
local foundRemotes = {}
local workingRemotes = {}
local testedRemotes = {}
-- Create GUI
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "RemoteSelector"
screenGui.ResetOnSpawn = false -- This line keeps the GUI when you respawn
-- Make sure PlayerGui exists
if not player:FindFirstChild("PlayerGui") then
player:WaitForChild("PlayerGui")
end
screenGui.Parent = player.PlayerGui
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 600, 0, 700)
mainFrame.Position = UDim2.new(0.5, -300, 0.5, -350)
mainFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
mainFrame.BorderSizePixel = 0
mainFrame.Parent = screenGui
local UICorner = Instance.new("UICorner")
UICorner.CornerRadius = UDim.new(0, 8)
UICorner.Parent = mainFrame
-- Title bar for dragging
local titleBar = Instance.new("Frame")
titleBar.Size = UDim2.new(1, 0, 0, 30)
titleBar.Position = UDim2.new(0, 0, 0, 0)
titleBar.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
titleBar.BorderSizePixel = 0
titleBar.Parent = mainFrame
local titleBarCorner = Instance.new("UICorner")
titleBarCorner.CornerRadius = UDim.new(0, 8)
titleBarCorner.Parent = titleBar
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 1, 0)
title.Position = UDim2.new(0, 0, 0, 0)
title.BackgroundTransparency = 1
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.Text = "Remote Selector (Drag Me)"
title.Font = Enum.Font.GothamBold
title.TextSize = 14
title.Parent = titleBar
local closeButton = Instance.new("TextButton")
closeButton.Size = UDim2.new(0, 25, 0, 25)
closeButton.Position = UDim2.new(1, -30, 0, 2)
closeButton.BackgroundColor3 = Color3.fromRGB(255, 60, 60)
closeButton.TextColor3 = Color3.fromRGB(255, 255, 255)
closeButton.Text = "X"
closeButton.Font = Enum.Font.GothamBold
closeButton.TextSize = 12
closeButton.Parent = titleBar
local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(0, 4)
closeCorner.Parent = closeButton
-- Content frame
local contentFrame = Instance.new("Frame")
contentFrame.Size = UDim2.new(1, -20, 1, -40)
contentFrame.Position = UDim2.new(0, 10, 0, 35)
contentFrame.BackgroundTransparency = 1
contentFrame.Parent = mainFrame
-- Control buttons
local scanButton = Instance.new("TextButton")
scanButton.Size = UDim2.new(0.48, 0, 0, 40)
scanButton.Position = UDim2.new(0, 0, 0, 0)
scanButton.BackgroundColor3 = Color3.fromRGB(76, 175, 80)
scanButton.TextColor3 = Color3.fromRGB(255, 255, 255)
scanButton.Text = "Scan for Remotes"
scanButton.Font = Enum.Font.Gotham
scanButton.TextSize = 12
scanButton.Parent = contentFrame
local UICorner2 = Instance.new("UICorner")
UICorner2.CornerRadius = UDim.new(0, 6)
UICorner2.Parent = scanButton
local testButton = Instance.new("TextButton")
testButton.Size = UDim2.new(0.48, 0, 0, 40)
testButton.Position = UDim2.new(0.52, 0, 0, 0)
testButton.BackgroundColor3 = Color3.fromRGB(33, 150, 243)
testButton.TextColor3 = Color3.fromRGB(255, 255, 255)
testButton.Text = "Test All Remotes"
testButton.Font = Enum.Font.Gotham
testButton.TextSize = 12
testButton.Parent = contentFrame
local UICorner3 = Instance.new("UICorner")
UICorner3.CornerRadius = UDim.new(0, 6)
UICorner3.Parent = testButton
local generateButton = Instance.new("TextButton")
generateButton.Size = UDim2.new(1, 0, 0, 40)
generateButton.Position = UDim2.new(0, 0, 0, 50)
generateButton.BackgroundColor3 = Color3.fromRGB(156, 39, 176)
generateButton.TextColor3 = Color3.fromRGB(255, 255, 255)
generateButton.Text = "Generate Executor Script"
generateButton.Font = Enum.Font.Gotham
generateButton.TextSize = 12
generateButton.Parent = contentFrame
local UICorner4 = Instance.new("UICorner")
UICorner4.CornerRadius = UDim.new(0, 6)
UICorner4.Parent = generateButton
-- Status labels
local statusLabel = Instance.new("TextLabel")
statusLabel.Size = UDim2.new(1, 0, 0, 30)
statusLabel.Position = UDim2.new(0, 0, 0, 100)
statusLabel.BackgroundTransparency = 1
statusLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
statusLabel.Text = "Ready to scan for remotes"
statusLabel.Font = Enum.Font.Gotham
statusLabel.TextSize = 12
statusLabel.Parent = contentFrame
local statsLabel = Instance.new("TextLabel")
statsLabel.Size = UDim2.new(1, 0, 0, 20)
statsLabel.Position = UDim2.new(0, 0, 0, 130)
statsLabel.BackgroundTransparency = 1
statsLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
statsLabel.Text = "Found: 0 | Working: 0 | Tested: 0"
statsLabel.Font = Enum.Font.Gotham
statsLabel.TextSize = 11
statsLabel.Parent = contentFrame
-- Remote list
local remoteListLabel = Instance.new("TextLabel")
remoteListLabel.Size = UDim2.new(1, 0, 0, 20)
remoteListLabel.Position = UDim2.new(0, 0, 0, 155)
remoteListLabel.BackgroundTransparency = 1
remoteListLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
remoteListLabel.Text = "Discovered Remotes:"
remoteListLabel.Font = Enum.Font.GothamBold
remoteListLabel.TextSize = 12
remoteListLabel.Parent = contentFrame
local remoteListFrame = Instance.new("ScrollingFrame")
remoteListFrame.Size = UDim2.new(1, 0, 0, 200)
remoteListFrame.Position = UDim2.new(0, 0, 0, 180)
remoteListFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
remoteListFrame.BorderSizePixel = 0
remoteListFrame.ScrollBarThickness = 8
remoteListFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
remoteListFrame.Parent = contentFrame
local listCorner = Instance.new("UICorner")
listCorner.CornerRadius = UDim.new(0, 6)
listCorner.Parent = remoteListFrame
local UIListLayout = Instance.new("UIListLayout")
UIListLayout.Padding = UDim.new(0, 2)
UIListLayout.Parent = remoteListFrame
-- Working remotes list
local workingLabel = Instance.new("TextLabel")
workingLabel.Size = UDim2.new(1, 0, 0, 20)
workingLabel.Position = UDim2.new(0, 0, 0, 390)
workingLabel.BackgroundTransparency = 1
workingLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
workingLabel.Text = "Working Remotes:"
workingLabel.Font = Enum.Font.GothamBold
workingLabel.TextSize = 12
workingLabel.Parent = contentFrame
local workingListFrame = Instance.new("ScrollingFrame")
workingListFrame.Size = UDim2.new(1, 0, 0, 150)
workingListFrame.Position = UDim2.new(0, 0, 0, 415)
workingListFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
workingListFrame.BorderSizePixel = 0
workingListFrame.ScrollBarThickness = 8
workingListFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
workingListFrame.Parent = contentFrame
local workingCorner = Instance.new("UICorner")
workingCorner.CornerRadius = UDim.new(0, 6)
workingCorner.Parent = workingListFrame
local workingUIListLayout = Instance.new("UIListLayout")
workingUIListLayout.Padding = UDim.new(0, 2)
workingUIListLayout.Parent = workingListFrame
-- Script output
local outputLabel = Instance.new("TextLabel")
outputLabel.Size = UDim2.new(1, 0, 0, 20)
outputLabel.Position = UDim2.new(0, 0, 0, 575)
outputLabel.BackgroundTransparency = 1
outputLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
outputLabel.Text = "Generated Executor Script:"
outputLabel.Font = Enum.Font.GothamBold
outputLabel.TextSize = 12
outputLabel.Parent = contentFrame
local scriptTextBox = Instance.new("TextBox")
scriptTextBox.Size = UDim2.new(1, 0, 0, 80)
scriptTextBox.Position = UDim2.new(0, 0, 0, 600)
scriptTextBox.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
scriptTextBox.TextColor3 = Color3.fromRGB(255, 255, 255)
scriptTextBox.Text = "-- Generated executor script will appear here"
scriptTextBox.Font = Enum.Font.Code
scriptTextBox.TextSize = 10
scriptTextBox.TextXAlignment = Enum.TextXAlignment.Left
scriptTextBox.TextYAlignment = Enum.TextYAlignment.Top
scriptTextBox.TextWrapped = true
scriptTextBox.ClearTextOnFocus = false
scriptTextBox.MultiLine = true
scriptTextBox.Parent = contentFrame
local textBoxCorner = Instance.new("UICorner")
textBoxCorner.CornerRadius = UDim.new(0, 6)
textBoxCorner.Parent = scriptTextBox
-- Dragging functionality
local dragging = false
local dragStartPos, frameStartPos
local function updateDrag(input)
if not dragging then return end
local delta = input.Position - dragStartPos
mainFrame.Position = UDim2.new(
frameStartPos.X.Scale,
frameStartPos.X.Offset + delta.X,
frameStartPos.Y.Scale,
frameStartPos.Y.Offset + delta.Y
)
end
titleBar.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStartPos = input.Position
frameStartPos = mainFrame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
titleBar.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement then
updateDrag(input)
end
end)
UserInputService.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement then
updateDrag(input)
end
end)
-- Function to recursively find all remotes
local function findRemotes(parent, path)
local remotes = {}
for _, child in ipairs(parent:GetChildren()) do
local newPath = path .. "." .. child.Name
if child:IsA("RemoteEvent") or child:IsA("RemoteFunction") then
table.insert(remotes, {
Object = child,
Path = newPath,
Type = child.ClassName
})
end
-- Recursively search children (with depth limit for safety)
if #child:GetChildren() > 0 and #newPath:split(".") < 10 then
local childRemotes = findRemotes(child, newPath)
for _, remote in ipairs(childRemotes) do
table.insert(remotes, remote)
end
end
end
return remotes
end
-- Function to scan for all remotes
local function scanForRemotes()
if scanning then return end
scanning = true
foundRemotes = {}
workingRemotes = {}
testedRemotes = {}
-- Clear lists
for _, child in ipairs(remoteListFrame:GetChildren()) do
if child:IsA("Frame") then
child:Destroy()
end
end
for _, child in ipairs(workingListFrame:GetChildren()) do
if child:IsA("Frame") then
child:Destroy()
end
end
statusLabel.Text = "Scanning for remotes..."
-- Search in common locations
local locations = {
ReplicatedStorage,
Workspace,
Lighting,
StarterPack,
StarterPlayer,
StarterGui,
game:GetService("ServerScriptService"),
game:GetService("ServerStorage"),
game:GetService("ReplicatedFirst")
}
-- Add player's backpack and player scripts
if player.Character then
table.insert(locations, player.Character)
end
if player:FindFirstChild("Backpack") then
table.insert(locations, player.Backpack)
end
if player:FindFirstChild("PlayerScripts") then
table.insert(locations, player.PlayerScripts)
end
if player:FindFirstChild("PlayerGui") then
table.insert(locations, player.PlayerGui)
end
-- Scan all locations
for _, location in ipairs(locations) do
local locationRemotes = findRemotes(location, location:GetFullName())
for _, remote in ipairs(locationRemotes) do
table.insert(foundRemotes, remote)
end
end
-- Update UI with found remotes
remoteListFrame.CanvasSize = UDim2.new(0, 0, 0, #foundRemotes * 30)
for i, remote in ipairs(foundRemotes) do
local remoteFrame = Instance.new("Frame")
remoteFrame.Size = UDim2.new(1, -10, 0, 25)
remoteFrame.Position = UDim2.new(0, 5, 0, (i-1)*30)
remoteFrame.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
remoteFrame.Parent = remoteListFrame
local remoteCorner = Instance.new("UICorner")
remoteCorner.CornerRadius = UDim.new(0, 4)
remoteCorner.Parent = remoteFrame
local remoteName = Instance.new("TextLabel")
remoteName.Size = UDim2.new(0.7, 0, 1, 0)
remoteName.Position = UDim2.new(0, 5, 0, 0)
remoteName.BackgroundTransparency = 1
remoteName.TextColor3 = Color3.fromRGB(255, 255, 255)
remoteName.Text = remote.Path
remoteName.Font = Enum.Font.Gotham
remoteName.TextSize = 10
remoteName.TextXAlignment = Enum.TextXAlignment.Left
remoteName.Parent = remoteFrame
local remoteType = Instance.new("TextLabel")
remoteType.Size = UDim2.new(0.2, 0, 1, 0)
remoteType.Position = UDim2.new(0.7, 0, 0, 0)
remoteType.BackgroundTransparency = 1
remoteType.TextColor3 = Color3.fromRGB(200, 200, 200)
remoteType.Text = remote.Type
remoteType.Font = Enum.Font.Gotham
remoteType.TextSize = 10
remoteType.Parent = remoteFrame
local testButton = Instance.new("TextButton")
testButton.Size = UDim2.new(0.1, 0, 0.7, 0)
testButton.Position = UDim2.new(0.9, 0, 0.15, 0)
testButton.BackgroundColor3 = Color3.fromRGB(33, 150, 243)
testButton.TextColor3 = Color3.fromRGB(255, 255, 255)
testButton.Text = "Test"
testButton.Font = Enum.Font.Gotham
testButton.TextSize = 9
testButton.Parent = remoteFrame
local buttonCorner = Instance.new("UICorner")
buttonCorner.CornerRadius = UDim.new(0, 4)
buttonCorner.Parent = testButton
testButton.MouseButton1Click:Connect(function()
testSingleRemote(remote)
end)
end
statusLabel.Text = "Scan complete! Found " .. #foundRemotes .. " remotes"
statsLabel.Text = "Found: " .. #foundRemotes .. " | Working: " .. #workingRemotes .. " | Tested: " .. #testedRemotes
scanning = false
end
-- Function to test a single remote
local function testSingleRemote(remote)
if testedRemotes[remote.Path] then return end
statusLabel.Text = "Testing remote: " .. remote.Path
local success, result = pcall(function()
if remote.Type == "RemoteEvent" then
-- Test RemoteEvent
remote.Object:FireServer("test", 123, true, "remote_selector_test")
elseif remote.Type == "RemoteFunction" then
-- Test RemoteFunction
return remote.Object:InvokeServer("test", 123, true, "remote_selector_test")
end
end)
testedRemotes[remote.Path] = true
if success then
table.insert(workingRemotes, remote)
statusLabel.Text = "✓ Remote works: " .. remote.Path
-- Add to working list
local workingFrame = Instance.new("Frame")
workingFrame.Size = UDim2.new(1, -10, 0, 25)
workingFrame.Position = UDim2.new(0, 5, 0, #workingRemotes * 30)
workingFrame.BackgroundColor3 = Color3.fromRGB(50, 80, 50)
workingFrame.Parent = workingListFrame
local workingCorner = Instance.new("UICorner")
workingCorner.CornerRadius = UDim.new(0, 4)
workingCorner.Parent = workingFrame
local remoteName = Instance.new("TextLabel")
remoteName.Size = UDim2.new(0.8, 0, 1, 0)
remoteName.Position = UDim2.new(0, 5, 0, 0)
remoteName.BackgroundTransparency = 1
remoteName.TextColor3 = Color3.fromRGB(255, 255, 255)
remoteName.Text = remote.Path
remoteName.Font = Enum.Font.Gotham
remoteName.TextSize = 10
remoteName.TextXAlignment = Enum.TextXAlignment.Left
remoteName.Parent = workingFrame
local remoteType = Instance.new("TextLabel")
remoteType.Size = UDim2.new(0.2, 0, 1, 0)
remoteType.Position = UDim2.new(0.8, 0, 0, 0)
remoteType.BackgroundTransparency = 1
remoteType.TextColor3 = Color3.fromRGB(200, 200, 200)
remoteType.Text = remote.Type
remoteType.Font = Enum.Font.Gotham
remoteType.TextSize = 10
remoteType.Parent = workingFrame
workingListFrame.CanvasSize = UDim2.new(0, 0, 0, #workingRemotes * 30)
else
statusLabel.Text = "✗ Remote failed: " .. remote.Path
end
statsLabel.Text = "Found: " .. #foundRemotes .. " | Working: " .. #workingRemotes .. " | Tested: " .. #testedRemotes
end
-- Function to test all remotes
local function testAllRemotes()
if scanning then return end
statusLabel.Text = "Testing all remotes..."
for i, remote in ipairs(foundRemotes) do
if not testedRemotes[remote.Path] then
testSingleRemote(remote)
wait(0.1) -- Small delay to avoid flooding
end
end
statusLabel.Text = "Testing complete! " .. #workingRemotes .. " working remotes found"
end
-- Function to generate executor script
local function generateExecutorScript()
if #workingRemotes == 0 then
scriptTextBox.Text = "-- No working remotes found!\n-- Scan and test remotes first."
return
end
local scriptString = [[-- Auto-generated Remote Executor Script
-- Generated with Remote Selector
-- Number of working remotes: ]] .. #workingRemotes .. [[
local function executeRemotes()
print("Executing ]] .. #workingRemotes .. [[ working remotes...")
]]
-- Add remote execution code
for i, remote in ipairs(workingRemotes) do
local safePath = remote.Path:gsub("%.", "_")
if remote.Type == "RemoteEvent" then
scriptString = scriptString .. string.format([[
-- RemoteEvent %d: %s
pcall(function()
local remote = %s
if remote and remote:IsA("RemoteEvent") then
remote:FireServer("executed_by_remote_selector", %d, math.random(1000))
print("✓ Fired RemoteEvent: %s")
end
end)
]], i, remote.Path, remote.Path, i, remote.Path)
elseif remote.Type == "RemoteFunction" then
scriptString = scriptString .. string.format([[
-- RemoteFunction %d: %s
pcall(function()
local remote = %s
if remote and remote:IsA("RemoteFunction") then
local result = remote:InvokeServer("executed_by_remote_selector", %d, math.random(1000))
print("✓ Invoked RemoteFunction: %s - Result: " .. tostring(result))
end
end)
]], i, remote.Path, remote.Path, i, remote.Path)
end
if i < #workingRemotes then
scriptString = scriptString .. "\n"
end
end
scriptString = scriptString .. [[
print("Remote execution completed!")
end
-- Auto-execute
executeRemotes()
-- Return the function for manual execution
return executeRemotes
]]
scriptTextBox.Text = scriptString
statusLabel.Text = "Executor script generated with " .. #workingRemotes .. " remotes"
end
-- Connect buttons
scanButton.MouseButton1Click:Connect(scanForRemotes)
testButton.MouseButton1Click:Connect(testAllRemotes)
generateButton.MouseButton1Click:Connect(generateExecutorScript)
-- Close button
closeButton.MouseButton1Click:Connect(function()
screenGui:Destroy()
end)
-- Initial instructions
scriptTextBox.Text = [[-- Remote Selector Instructions --
1. Click 'Scan for Remotes' to find all RemoteEvents and RemoteFunctions
2. Click 'Test All Remotes' to test which ones work
3. Test individual remotes by clicking their 'Test' button
4. Click 'Generate Executor Script' to create an execution script
5. Copy the script and run it in your executor
Note: Some remotes might require specific arguments to work properly.]]
statusLabel.Text = "Ready to scan for remotes"



use this in games made by @platinumfalls works well with them
@anonymoouzz Rspy on Infinity yield?
@DevexProjectSS this isnt the same exact thing as rspy, this one scans every remote and trys it, rspy is for remotes you activate yourself.
Honestly very unsafe with games that have bait remotes lol, otherwise pretty cool script bro!
can someone explain to me on how to use this?