RSPY DFG
Key RequiredUniversal

RSPY DFG

Universal ScriptDFGHekrRobloxDFGDFGHekrRobloxDFG 277 views 1.4K executesUpdated Aug 17, 2026
Unrated
00
Lua Script•238 lines (7979 chars)
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")

local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

local oldGui = playerGui:FindFirstChild("RemoteScannerGui")
if oldGui then oldGui:Destroy() end

local ScreenGui = Instance.new("ScreenGui", playerGui)
ScreenGui.Name = "RemoteScannerGui"
ScreenGui.ResetOnSpawn = false

local Frame = Instance.new("Frame", ScreenGui)
Frame.Size = UDim2.new(0, 360, 0, 240)
Frame.Position = UDim2.new(0.5, -180, 0.5, -120)
Frame.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
Frame.BorderSizePixel = 0
Frame.ClipsDescendants = true
Frame.Active = true

local OpenButton = Instance.new("TextButton", ScreenGui)
OpenButton.Size = UDim2.new(0, 90, 0, 30)
OpenButton.Position = UDim2.new(0, 10, 0.4, 0)
OpenButton.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
OpenButton.BorderSizePixel = 0
OpenButton.Text = "Open UI"
OpenButton.TextColor3 = Color3.new(1, 1, 1)
OpenButton.Font = Enum.Font.SourceSansBold
OpenButton.TextSize = 14
OpenButton.Visible = false

OpenButton.MouseButton1Click:Connect(function()
    Frame.Visible = true
    OpenButton.Visible = false
end)

local TitleBar = Instance.new("Frame", Frame)
TitleBar.Size = UDim2.new(1, 0, 0, 28)
TitleBar.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
TitleBar.BorderSizePixel = 0

local TitleLabel = Instance.new("TextLabel", TitleBar)
TitleLabel.Text = "Remote Scanner"
TitleLabel.Size = UDim2.new(1, -60, 1, 0)
TitleLabel.Position = UDim2.new(0, 8, 0, 0)
TitleLabel.BackgroundTransparency = 1
TitleLabel.TextColor3 = Color3.new(1, 1, 1)
TitleLabel.Font = Enum.Font.SourceSansBold
TitleLabel.TextSize = 15
TitleLabel.TextXAlignment = Enum.TextXAlignment.Left

local CloseButton = Instance.new("TextButton", TitleBar)
CloseButton.Text = "X"
CloseButton.Size = UDim2.new(0, 28, 1, 0)
CloseButton.Position = UDim2.new(1, -28, 0, 0)
CloseButton.BackgroundColor3 = Color3.fromRGB(150, 40, 40)
CloseButton.BorderSizePixel = 0
CloseButton.Font = Enum.Font.SourceSansBold
CloseButton.TextSize = 16
CloseButton.TextColor3 = Color3.new(1, 1, 1)

CloseButton.MouseButton1Click:Connect(function()
    ScreenGui:Destroy()
end)

local MinimizeButton = Instance.new("TextButton", TitleBar)
MinimizeButton.Text = "-"
MinimizeButton.Size = UDim2.new(0, 28, 1, 0)
MinimizeButton.Position = UDim2.new(1, -56, 0, 0)
MinimizeButton.BackgroundColor3 = Color3.fromRGB(70, 70, 70)
MinimizeButton.BorderSizePixel = 0
MinimizeButton.Font = Enum.Font.SourceSansBold
MinimizeButton.TextSize = 18
MinimizeButton.TextColor3 = Color3.new(1, 1, 1)

MinimizeButton.MouseButton1Click:Connect(function()
    Frame.Visible = false
    OpenButton.Visible = true
end)

local dragging, dragInput, dragStart, startPos

local function update(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

TitleBar.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)

TitleBar.InputChanged:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
        dragInput = input
    end
end)

UserInputService.InputChanged:Connect(function(input)
    if input == dragInput and dragging then
        update(input)
    end
end)

local SearchBox = Instance.new("TextBox", Frame)
SearchBox.Size = UDim2.new(1, -10, 0, 25)
SearchBox.Position = UDim2.new(0, 5, 0, 32)
SearchBox.PlaceholderText = "Search Remote..."
SearchBox.ClearTextOnFocus = false
SearchBox.Text = ""
SearchBox.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
SearchBox.TextColor3 = Color3.new(1, 1, 1)
SearchBox.Font = Enum.Font.SourceSans
SearchBox.TextSize = 14

local ScrollFrame = Instance.new("ScrollingFrame", Frame)
ScrollFrame.Size = UDim2.new(1, -10, 1, -65)
ScrollFrame.Position = UDim2.new(0, 5, 0, 60)
ScrollFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
ScrollFrame.BorderSizePixel = 0
ScrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
ScrollFrame.ScrollBarThickness = 6

local UIListLayout = Instance.new("UIListLayout", ScrollFrame)
UIListLayout.Padding = UDim.new(0, 4)
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder

local function scanRemotes()
    local remotes = {}
    local function findRemotesIn(parent)
        for _, child in pairs(parent:GetChildren()) do
            if child:IsA("RemoteEvent") or child:IsA("RemoteFunction") then
                table.insert(remotes, child)
            end
            findRemotesIn(child)
        end
    end
    findRemotesIn(Workspace)
    findRemotesIn(ReplicatedStorage)
    return remotes
end

local remotes = scanRemotes()

local function createButton(text, sizeX, sizeY)
    local btn = Instance.new("TextButton")
    btn.Text = text
    btn.Size = UDim2.new(0, sizeX, 0, sizeY)
    btn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
    btn.BorderSizePixel = 0
    btn.TextColor3 = Color3.new(1, 1, 1)
    btn.Font = Enum.Font.SourceSans
    btn.TextSize = 12
    btn.AutoButtonColor = true
    return btn
end

local function updateRemoteList(filter)
    filter = filter:lower()
    for _, child in pairs(ScrollFrame:GetChildren()) do
        if child:IsA("Frame") then child:Destroy() end
    end

    local filtered = {}
    for _, remote in pairs(remotes) do
        if remote.Name:lower():find(filter) then
            table.insert(filtered, remote)
        end
    end

    for index, remote in pairs(filtered) do
        local remoteFrame = Instance.new("Frame", ScrollFrame)
        remoteFrame.Size = UDim2.new(1, -6, 0, 32)
        remoteFrame.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
        remoteFrame.BorderSizePixel = 0
        remoteFrame.LayoutOrder = index

        local nameLabel = Instance.new("TextLabel", remoteFrame)
        nameLabel.Text = remote.Name
        nameLabel.Size = UDim2.new(0.35, 0, 1, 0)
        nameLabel.BackgroundTransparency = 1
        nameLabel.TextColor3 = Color3.new(1, 1, 1)
        nameLabel.Font = Enum.Font.SourceSans
        nameLabel.TextSize = 13
        nameLabel.TextXAlignment = Enum.TextXAlignment.Left
        nameLabel.Position = UDim2.new(0, 5, 0, 0)

        local fireBtn = createButton("Fire", 45, 24)
        fireBtn.Parent = remoteFrame
        fireBtn.Position = UDim2.new(0.38, 0, 0.12, 0)

        local backdoorBtn = createButton("Backdoor", 60, 24)
        backdoorBtn.Parent = remoteFrame
        backdoorBtn.Position = UDim2.new(0.53, 0, 0.12, 0)

        local copyBtn = createButton("Copy", 50, 24)
        copyBtn.Parent = remoteFrame
        copyBtn.Position = UDim2.new(0.72, 0, 0.12, 0)

        fireBtn.MouseButton1Click:Connect(function()
            if remote:IsA("RemoteEvent") then
                remote:FireServer()
            elseif remote:IsA("RemoteFunction") then
                pcall(function() remote:InvokeServer() end)
            end
        end)

        copyBtn.MouseButton1Click:Connect(function()
            local code = ("game:GetService('ReplicatedStorage'):WaitForChild('%s'):FireServer()"):format(remote.Name)
            pcall(function() setclipboard(code) end)
        end)
    end

    RunService.Heartbeat:Wait()
    ScrollFrame.CanvasSize = UDim2.new(0, 0, 0, UIListLayout.AbsoluteContentSize.Y + 8)
end

SearchBox:GetPropertyChangedSignal("Text"):Connect(function()
    updateRemoteList(SearchBox.Text)
end)

updateRemoteList("")

Features & Information

rspy

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts