Run it
Copy the script and paste it into your executor.
Players = :()
ReplicatedStorage = :()
ServerStorage = :()
UserInputService = :()
RunService = :()
player = Players.LocalPlayer
playerGui = player.PlayerGui
(message)
( .. (message))
()
success, result = (()
loadingGui = .()
loadingGui.Name =
loadingGui.IgnoreGuiInset =
loadingGui.Parent = playerGui
()
loadingFrame = .()
loadingFrame.Size = .(, , , )
loadingFrame.Position = .(, , , )
loadingFrame.BackgroundColor3 = .(, , )
loadingFrame.BorderSizePixel =
loadingFrame.Parent = loadingGui
loadingText = .()
loadingText.Size = .(, , , )
loadingText.BackgroundTransparency =
loadingText.Text =
loadingText.TextColor3 = .(, , )
loadingText.TextScaled =
loadingText.Font = .Font.SourceSansBold
loadingText.Parent = loadingFrame
loadingCorner = .()
loadingCorner.CornerRadius = .(, )
loadingCorner.Parent = loadingFrame
loadingGui
)
success
( .. (result))
loadingGui = result
remoteEventDatabase = {}
()
(service)
service
_, item (service:())
item:()
remoteEventDatabase[item.Name] = item
( .. item.Name)
(()
(ReplicatedStorage)
(ServerStorage)
)
(()
()
loadingGui
loadingGui:()
()
)
gui = .()
gui.Name =
gui.IgnoreGuiInset =
gui.ResetOnSpawn =
gui.ZIndexBehavior = .ZIndexBehavior.Sibling
gui.Parent = playerGui
gui.Enabled =
()
frame = .()
frame.Size = .(, , , )
frame.Position = .(, , , )
frame.BackgroundColor3 = .(, , )
frame.BorderSizePixel =
frame.ZIndex =
frame.Parent = gui
frameCorner = .()
frameCorner.CornerRadius = .(, )
frameCorner.Parent = frame
dragging =
dragStartPos
frameStartPos
frame.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1
dragging =
dragStartPos = input.Position
frameStartPos = frame.Position
)
frame.InputEnded:((input)
input.UserInputType == .UserInputType.MouseButton1
dragging =
)
UserInputService.InputChanged:((input)
dragging input.UserInputType == .UserInputType.MouseMovement
delta = input.Position - dragStartPos
frame.Position = .(
frameStartPos.X.Scale,
frameStartPos.X.Offset + delta.X,
frameStartPos.Y.Scale,
frameStartPos.Y.Offset + delta.Y
)
)
eventIndicator = .()
eventIndicator.Size = .(, , , )
eventIndicator.Position = .(, , , )
eventIndicator.BackgroundTransparency =
eventIndicator.TextColor3 = .(, , )
eventIndicator.Text =
eventIndicator.TextScaled =
eventIndicator.Font = .Font.SourceSans
eventIndicator.ZIndex =
eventIndicator.Parent = frame
textBox = .()
textBox.Size = .(, , , )
textBox.Position = .(, , , )
textBox.BackgroundColor3 = .(, , )
textBox.TextColor3 = .(, , )
textBox.PlaceholderText =
textBox.TextScaled =
textBox.Font = .Font.SourceSans
textBox.ZIndex =
textBox.Parent = frame
textBoxCorner = .()
textBoxCorner.CornerRadius = .(, )
textBoxCorner.Parent = textBox
textBox:():(()
(()
textBox.Text ==
eventIndicator.Text =
eventIndicator.TextColor3 = .(, , )
remoteEventDatabase[textBox.Text]
eventIndicator.Text =
eventIndicator.TextColor3 = .(, , )
eventIndicator.Text =
eventIndicator.TextColor3 = .(, , )
)
)
fireButton = .()
fireButton.Size = .(, , , )
fireButton.Position = .(, , , )
fireButton.BackgroundColor3 = .(, , )
fireButton.TextColor3 = .(, , )
fireButton.Text =
fireButton.TextScaled =
fireButton.Font = .Font.SourceSansBold
fireButton.ZIndex =
fireButton.Parent = frame
fireButtonCorner = .()
fireButtonCorner.CornerRadius = .(, )
fireButtonCorner.Parent = fireButton
fire10xButton = .()
fire10xButton.Size = .(, , , )
fire10xButton.Position = .(, , , )
fire10xButton.BackgroundColor3 = .(, , )
fire10xButton.TextColor3 = .(, , )
fire10xButton.Text =
fire10xButton.TextScaled =
fire10xButton.Font = .Font.SourceSansBold
fire10xButton.ZIndex =
fire10xButton.Parent = frame
fire10xButtonCorner = .()
fire10xButtonCorner.CornerRadius = .(, )
fire10xButtonCorner.Parent = fire10xButton
loopButton = .()
loopButton.Size = .(, , , )
loopButton.Position = .(, , , )
loopButton.BackgroundColor3 = .(, , )
loopButton.TextColor3 = .(, , )
loopButton.Text =
loopButton.TextScaled =
loopButton.Font = .Font.SourceSansBold
loopButton.ZIndex =
loopButton.Parent = frame
loopButtonCorner = .()
loopButtonCorner.CornerRadius = .(, )
loopButtonCorner.Parent = loopButton
spyButton = .()
spyButton.Size = .(, , , )
spyButton.Position = .(, , , )
spyButton.BackgroundColor3 = .(, , )
spyButton.TextColor3 = .(, , )
spyButton.Text =
spyButton.TextScaled =
spyButton.Font = .Font.SourceSansBold
spyButton.ZIndex =
spyButton.Parent = frame
spyButtonCorner = .()
spyButtonCorner.CornerRadius = .(, )
spyButtonCorner.Parent = spyButton
helpButton = .()
helpButton.Size = .(, , , )
helpButton.Position = .(, , , )
helpButton.BackgroundColor3 = .(, , )
helpButton.TextColor3 = .(, , )
helpButton.Text =
helpButton.TextScaled =
helpButton.Font = .Font.SourceSansBold
helpButton.ZIndex =
helpButton.Parent = frame
helpButtonCorner = .()
helpButtonCorner.CornerRadius = .(, )
helpButtonCorner.Parent = helpButton
helpFrame = .()
helpFrame.Size = .(, , , )
helpFrame.Position = .(, , , )
helpFrame.BackgroundColor3 = .(, , )
helpFrame.Visible =
helpFrame.ZIndex =
helpFrame.Parent = frame
helpFrameCorner = .()
helpFrameCorner.CornerRadius = .(, )
helpFrameCorner.Parent = helpFrame
scrollingFrame = .()
scrollingFrame.Size = .(, , , )
scrollingFrame.Position = .(, , , )
scrollingFrame.BackgroundTransparency =
scrollingFrame.ScrollBarThickness =
scrollingFrame.ZIndex =
scrollingFrame.Parent = helpFrame
helpText = .()
helpText.Size = .(, , , )
helpText.BackgroundTransparency =
helpText.TextColor3 = .(, , )
helpText.Text =
helpText.TextWrapped =
helpText.TextScaled =
helpText.TextSize =
helpText.Font = .Font.SourceSans
helpText.TextXAlignment = .TextXAlignment.Left
helpText.TextYAlignment = .TextYAlignment.Top
helpText.ZIndex =
helpText.Parent = scrollingFrame
()
(()
scrollingFrame.CanvasSize = .(, , , helpText.TextBounds.Y + )
)
()
helpText:():(updateCanvasSize)
eventListButton = .()
eventListButton.Size = .(, , , )
eventListButton.Position = .(, , , )
eventListButton.BackgroundColor3 = .(, , )
eventListButton.TextColor3 = .(, , )
eventListButton.Text =
eventListButton.TextScaled =
eventListButton.Font = .Font.SourceSansBold
eventListButton.ZIndex =
eventListButton.Parent = frame
eventListButtonCorner = .()
eventListButtonCorner.CornerRadius = .(, )
eventListButtonCorner.Parent = eventListButton
eventListFrame = .()
eventListFrame.Size = .(, , , )
eventListFrame.Position = .(, , , )
eventListFrame.BackgroundColor3 = .(, , )
eventListFrame.Visible =
eventListFrame.ZIndex =
eventListFrame.Parent = frame
eventListFrameCorner = .()
eventListFrameCorner.CornerRadius = .(, )
eventListFrameCorner.Parent = eventListFrame
eventListScrolling = .()
eventListScrolling.Size = .(, , , )
eventListScrolling.Position = .(, , , )
eventListScrolling.BackgroundTransparency =
eventListScrolling.ScrollBarThickness =
eventListScrolling.ZIndex =
eventListScrolling.Parent = eventListFrame
spyFrame = .()
spyFrame.Size = .(, , , )
spyFrame.Position = .(, , , )
spyFrame.BackgroundColor3 = .(, , )
spyFrame.Visible =
spyFrame.ZIndex =
spyFrame.Parent = frame
spyFrameCorner = .()
spyFrameCorner.CornerRadius = .(, )
spyFrameCorner.Parent = spyFrame
()
spyScrolling = .()
spyScrolling.Size = .(, , , )
spyScrolling.Position = .(, , , )
spyScrolling.BackgroundTransparency =
spyScrolling.ScrollBarThickness =
spyScrolling.ZIndex =
spyScrolling.Parent = spyFrame
deleteFrame =
(eventName, eventButton, eventInstance)
deleteFrame
deleteFrame:()
deleteFrame = .()
deleteFrame.Size = .(, , , )
deleteFrame.Position = .(, , , )
deleteFrame.BackgroundColor3 = .(, , )
deleteFrame.BorderSizePixel =
deleteFrame.ZIndex =
deleteFrame.Parent = frame
deleteFrameCorner = .()
deleteFrameCorner.CornerRadius = .(, )
deleteFrameCorner.Parent = deleteFrame
deleteText = .()
deleteText.Size = .(, , , )
deleteText.Position = .(, , , )
deleteText.BackgroundTransparency =
deleteText.TextColor3 = .(, , )
deleteText.Text = .. eventName ..
deleteText.TextScaled =
deleteText.Font = .Font.SourceSans
deleteText.ZIndex =
deleteText.Parent = deleteFrame
yesButton = .()
yesButton.Size = .(, , , )
yesButton.Position = .(, , , )
yesButton.BackgroundColor3 = .(, , )
yesButton.TextColor3 = .(, , )
yesButton.Text =
yesButton.TextScaled =
yesButton.Font = .Font.SourceSansBold
yesButton.ZIndex =
yesButton.Parent = deleteFrame
yesButtonCorner = .()
yesButtonCorner.CornerRadius = .(, )
yesButtonCorner.Parent = yesButton
noButton = .()
noButton.Size = .(, , , )
noButton.Position = .(, , , )
noButton.BackgroundColor3 = .(, , )
noButton.TextColor3 = .(, , )
noButton.Text =
noButton.TextScaled =
noButton.Font = .Font.SourceSansBold
noButton.ZIndex =
noButton.Parent = deleteFrame
noButtonCorner = .()
noButtonCorner.CornerRadius = .(, )
noButtonCorner.Parent = noButton
yesButton.MouseButton1Click:(()
(()
eventInstance eventInstance.Parent
eventInstance:()
remoteEventDatabase[eventName] =
eventButton:()
()
deleteFrame:()
deleteFrame =
)
)
noButton.MouseButton1Click:(()
(()
deleteFrame:()
deleteFrame =
)
)
()
(()
_, child (eventListScrolling:())
child:()
child:()
yOffset =
eventName, eventInstance (remoteEventDatabase)
eventButton = .()
eventButton.Size = .(, , , )
eventButton.Position = .(, , , yOffset)
eventButton.BackgroundColor3 = .(, , )
eventButton.TextColor3 = .(, , )
eventButton.Text = eventName
eventButton.TextScaled =
eventButton.Font = .Font.SourceSans
eventButton.ZIndex =
eventButton.Parent = eventListScrolling
eventButtonCorner = .()
eventButtonCorner.CornerRadius = .(, )
eventButtonCorner.Parent = eventButton
eventButton.MouseButton1Click:(()
(()
textBox.Text = eventName
eventListFrame.Visible =
)
)
eventButton.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton2
(()
(eventName, eventButton, eventInstance)
)
)
yOffset = yOffset +
eventListScrolling.CanvasSize = .(, , , yOffset)
)
(populateEventList)
spyEvents = {}
spyConnections = {}
()
(()
_, child (spyScrolling:())
child:()
child:()
yOffset =
_, eventInfo (spyEvents)
eventButton = .()
eventButton.Size = .(, , , )
eventButton.Position = .(, , , yOffset)
eventButton.BackgroundColor3 = .(, , )
eventButton.TextColor3 = .(, , )
eventButton.Text = eventInfo.name .. .. eventInfo.source ..
eventButton.TextScaled =
eventButton.Font = .Font.SourceSans
eventButton.ZIndex =
eventButton.Parent = spyScrolling
eventButtonCorner = .()
eventButtonCorner.CornerRadius = .(, )
eventButtonCorner.Parent = eventButton
eventButton.MouseButton1Click:(()
(()
textBox.Text = eventInfo.name
spyFrame.Visible =
( .. eventInfo.name)
)
)
yOffset = yOffset +
spyScrolling.CanvasSize = .(, , , yOffset)
( .. #spyEvents .. )
)
()
(()
_, connection (spyConnections)
connection:()
spyConnections = {}
spyEvents = {}
eventName, eventInstance (remoteEventDatabase)
clientConnection = eventInstance.OnClientEvent:((...)
(()
.(spyEvents, {name = eventName, source = })
()
( .. eventName)
)
)
.(spyConnections, clientConnection)
)
(setupRemoteSpy)
eventListButton.MouseButton1Click:(()
(()
eventListFrame.Visible = eventListFrame.Visible
helpFrame.Visible =
spyFrame.Visible =
( .. (eventListFrame.Visible))
)
)
helpButton.MouseButton1Click:(()
(()
helpFrame.Visible = helpFrame.Visible
eventListFrame.Visible =
spyFrame.Visible =
( .. (helpFrame.Visible))
)
)
spyButton.MouseButton1Click:(()
(()
spyFrame.Visible = spyFrame.Visible
helpFrame.Visible =
eventListFrame.Visible =
( .. (spyFrame.Visible))
)
)
UserInputService.InputBegan:((input, gameProcessed)
gameProcessed
input.KeyCode == .KeyCode.LeftControl
(()
gui.Enabled = gui.Enabled
( .. (gui.Enabled))
)
)
loopingEvent =
loopingConnection =
(name)
remoteEventDatabase[name]
fireButton.MouseButton1Click:(()
(()
event = (textBox.Text)
event
event:()
.(spyEvents, {name = textBox.Text, source = })
()
( .. textBox.Text)
eventIndicator.Text =
eventIndicator.TextColor3 = .(, , )
)
)
fire10xButton.MouseButton1Click:(()
(()
event = (textBox.Text)
event
i = ,
event:()
.(spyEvents, {name = textBox.Text, source = })
.()
()
( .. textBox.Text)
eventIndicator.Text =
eventIndicator.TextColor3 = .(, , )
)
)
loopButton.MouseButton1Click:(()
(()
event = (textBox.Text)
event
eventIndicator.Text =
eventIndicator.TextColor3 = .(, , )
loopingEvent == event
loopingConnection
loopingConnection:()
loopingConnection =
loopingEvent =
loopButton.Text =
( .. textBox.Text)
loopingConnection
loopingConnection:()
loopingEvent = event
loopingConnection = RunService.Heartbeat:(()
(()
event:()
.(spyEvents, {name = textBox.Text, source = })
()
)
)
loopButton.Text =
( .. textBox.Text)
)
)rspy but better maybe

Universal