
KeylessUniversal

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)



glad he made this ngl
@Opllohn great now drop a like pls :)
What is this even for I sound dumb
how can i get the script for the event
@LanIsMe making a ui for it too
why did you make it print arguments as string tables? like simple spy? its very simple to make