RemoteEventAndFunctionLogger
Key RequiredUniversal

RemoteEventAndFunctionLogger

Universal ScriptAuraAura 23.9K views 36 executesUpdated Jun 19, 2024
2.5/ 5(6 votes)
3350% Positive
Lua Script•70 lines (2310 chars)
local function printArguments(...)
    local args = {...}
    print("┌── Arguments ────────────────────────────")
    for i, arg in ipairs(args) do
        print(string.format("│ Argument %d: %s", i, tostring(arg)))
    end
    print("└──────────────────────────────────────────")
end

local function printRemoteCall(remoteType, remoteName, printFunc)
    printFunc("╔═════════════════════════════════════════╗")
    printFunc(string.format("║ %s fired: %s", remoteType, remoteName))
    printFunc("╚═════════════════════════════════════════╝")
end

local function wrapRemote(remote)
    if remote:IsA("RemoteEvent") then
        remote.OnClientEvent:Connect(function(...)
            printRemoteCall("RemoteEvent", remote.Name, warn)
            printArguments(...)
        end)
    elseif remote:IsA("RemoteFunction") then
        remote.OnClientInvoke = function(...)
            printRemoteCall("RemoteFunction", remote.Name, error)
            printArguments(...)
        end
    end
end

local function wrapRemotesInFolder(folder)
    for _, obj in ipairs(folder:GetDescendants()) do
        if obj:IsA("RemoteEvent") or obj:IsA("RemoteFunction") then
            wrapRemote(obj)
        end
    end
    folder.DescendantAdded:Connect(function(descendant)
        if descendant:IsA("RemoteEvent") or descendant:IsA("RemoteFunction") then
            wrapRemote(descendant)
        end
    end)
end

wrapRemotesInFolder(game.ReplicatedStorage)
wrapRemotesInFolder(game.StarterGui)
wrapRemotesInFolder(game.StarterPack)
wrapRemotesInFolder(game.StarterPlayer)

game.ReplicatedStorage.DescendantAdded:Connect(function(descendant)
    if descendant:IsA("RemoteEvent") or descendant:IsA("RemoteFunction") then
        wrapRemote(descendant)
    end
end)

game.StarterGui.DescendantAdded:Connect(function(descendant)
    if descendant:IsA("RemoteEvent") or descendant:IsA("RemoteFunction") then
        wrapRemote(descendant)
    end
end)

game.StarterPack.DescendantAdded:Connect(function(descendant)
    if descendant:IsA("RemoteEvent") or descendant:IsA("RemoteFunction") then
        wrapRemote(descendant)
    end
end)

game.StarterPlayer.DescendantAdded:Connect(function(descendant)
    if descendant:IsA("RemoteEvent") or descendant:IsA("RemoteFunction") then
        wrapRemote(descendant)
    end
end)

Features & Information

I only made this because remote spy doesn't work on Solara executor join my discord you bad bleep https://discord.gg/nWbqsUDcQx https://discord.gg/nWbqsUDcQx Prints remote events prints remote functions
#Universal#Remote Spy

Community Comments (6)

OpllohnOpllohnJun 19, 2024(edited)

glad he made this ngl

AuraAuraJun 19, 2024(edited)

@Opllohn great now drop a like pls :)

synzxlsynzxlJun 19, 2024(edited)

What is this even for I sound dumb

LanIsMeLanIsMeJun 19, 2024(edited)

how can i get the script for the event

AuraAuraJun 19, 2024(edited)

@LanIsMe making a ui for it too

SkireScriptsSkireScriptsJun 19, 2024(edited)

why did you make it print arguments as string tables? like simple spy? its very simple to make

More Scripts for Universal Scripts