
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 ServerStorage = game:GetService("ServerStorage")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local playerGui = player.PlayerGui
-- Error logging function
local function logError(message)
print("Error in RemoteEventGUI: " .. tostring(message))
end
-- Debug print to confirm script start
print("RemoteEventGUI: Script started")
-- Create loading screen
local success, result = pcall(function()
local loadingGui = Instance.new("ScreenGui")
loadingGui.Name = "LoadingGui"
loadingGui.IgnoreGuiInset = true
loadingGui.Parent = playerGui
print("RemoteEventGUI: Loading GUI created")
local loadingFrame = Instance.new("Frame")
loadingFrame.Size = UDim2.new(0.3, 0, 0.1, 0)
loadingFrame.Position = UDim2.new(0.35, 0, 0.45, 0)
loadingFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
loadingFrame.BorderSizePixel = 0
loadingFrame.Parent = loadingGui
local loadingText = Instance.new("TextLabel")
loadingText.Size = UDim2.new(1, 0, 1, 0)
loadingText.BackgroundTransparency = 1
loadingText.Text = "FINDING REMOTE EVENTS..."
loadingText.TextColor3 = Color3.fromRGB(255, 255, 255)
loadingText.TextScaled = true
loadingText.Font = Enum.Font.SourceSansBold
loadingText.Parent = loadingFrame
local loadingCorner = Instance.new("UICorner")
loadingCorner.CornerRadius = UDim.new(0, 10)
loadingCorner.Parent = loadingFrame
return loadingGui
end)
if not success then
logError("Failed to create loading GUI: " .. tostring(result))
end
local loadingGui = result
-- Search for RemoteEvents and build database
local remoteEventDatabase = {}
local function findRemoteEvents()
local function searchService(service)
if not service then return end
for _, item in pairs(service:GetDescendants()) do
if item:IsA("RemoteEvent") then
remoteEventDatabase[item.Name] = item
print("RemoteEventGUI: Found RemoteEvent " .. item.Name)
end
end
end
pcall(function()
searchService(ReplicatedStorage)
searchService(ServerStorage)
end)
end
-- Create main GUI after finding RemoteEvents
pcall(function()
findRemoteEvents()
if loadingGui then
loadingGui:Destroy()
print("RemoteEventGUI: Loading GUI destroyed")
end
end)
local gui = Instance.new("ScreenGui")
gui.Name = "RemoteEventGUI"
gui.IgnoreGuiInset = true
gui.ResetOnSpawn = false
gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
gui.Parent = playerGui
gui.Enabled = true
print("RemoteEventGUI: Main GUI created and enabled")
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0.3, 0, 0.5, 0)
frame.Position = UDim2.new(0.35, 0, 0.25, 0)
frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
frame.BorderSizePixel = 0
frame.ZIndex = 1
frame.Parent = gui
local frameCorner = Instance.new("UICorner")
frameCorner.CornerRadius = UDim.new(0, 12)
frameCorner.Parent = frame
-- Draggable functionality
local dragging = false
local dragStartPos
local frameStartPos
frame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStartPos = input.Position
frameStartPos = frame.Position
end
end)
frame.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = false
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local delta = input.Position - dragStartPos
frame.Position = UDim2.new(
frameStartPos.X.Scale,
frameStartPos.X.Offset + delta.X,
frameStartPos.Y.Scale,
frameStartPos.Y.Offset + delta.Y
)
end
end)
-- Event found indicator
local eventIndicator = Instance.new("TextLabel")
eventIndicator.Size = UDim2.new(0.9, 0, 0.05, 0)
eventIndicator.Position = UDim2.new(0.05, 0, 0.0, 0)
eventIndicator.BackgroundTransparency = 1
eventIndicator.TextColor3 = Color3.fromRGB(255, 255, 255)
eventIndicator.Text = "Enter an event name"
eventIndicator.TextScaled = true
eventIndicator.Font = Enum.Font.SourceSans
eventIndicator.ZIndex = 1
eventIndicator.Parent = frame
-- TextBox for RemoteEvent name input
local textBox = Instance.new("TextBox")
textBox.Size = UDim2.new(0.9, 0, 0.15, 0)
textBox.Position = UDim2.new(0.05, 0, 0.07, 0)
textBox.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
textBox.TextColor3 = Color3.fromRGB(255, 255, 255)
textBox.PlaceholderText = "Enter RemoteEvent name (e.g., EventName)"
textBox.TextScaled = true
textBox.Font = Enum.Font.SourceSans
textBox.ZIndex = 1
textBox.Parent = frame
local textBoxCorner = Instance.new("UICorner")
textBoxCorner.CornerRadius = UDim.new(0, 8)
textBoxCorner.Parent = textBox
-- Update indicator when text changes
textBox:GetPropertyChangedSignal("Text"):Connect(function()
pcall(function()
if textBox.Text == "" then
eventIndicator.Text = "Enter an event name"
eventIndicator.TextColor3 = Color3.fromRGB(255, 255, 255)
elseif remoteEventDatabase[textBox.Text] then
eventIndicator.Text = "Event found!"
eventIndicator.TextColor3 = Color3.fromRGB(0, 255, 0)
else
eventIndicator.Text = "Event not found"
eventIndicator.TextColor3 = Color3.fromRGB(255, 0, 0)
end
end)
end)
-- Buttons
local fireButton = Instance.new("TextButton")
fireButton.Size = UDim2.new(0.22, 0, 0.15, 0)
fireButton.Position = UDim2.new(0.05, 0, 0.27, 0)
fireButton.BackgroundColor3 = Color3.fromRGB(0, 120, 215)
fireButton.TextColor3 = Color3.fromRGB(255, 255, 255)
fireButton.Text = "Fire Event"
fireButton.TextScaled = true
fireButton.Font = Enum.Font.SourceSansBold
fireButton.ZIndex = 1
fireButton.Parent = frame
local fireButtonCorner = Instance.new("UICorner")
fireButtonCorner.CornerRadius = UDim.new(0, 8)
fireButtonCorner.Parent = fireButton
local fire10xButton = Instance.new("TextButton")
fire10xButton.Size = UDim2.new(0.22, 0, 0.15, 0)
fire10xButton.Position = UDim2.new(0.29, 0, 0.27, 0)
fire10xButton.BackgroundColor3 = Color3.fromRGB(0, 120, 215)
fire10xButton.TextColor3 = Color3.fromRGB(255, 255, 255)
fire10xButton.Text = "Fire 10x"
fire10xButton.TextScaled = true
fire10xButton.Font = Enum.Font.SourceSansBold
fire10xButton.ZIndex = 1
fire10xButton.Parent = frame
local fire10xButtonCorner = Instance.new("UICorner")
fire10xButtonCorner.CornerRadius = UDim.new(0, 8)
fire10xButtonCorner.Parent = fire10xButton
local loopButton = Instance.new("TextButton")
loopButton.Size = UDim2.new(0.22, 0, 0.15, 0)
loopButton.Position = UDim2.new(0.53, 0, 0.27, 0)
loopButton.BackgroundColor3 = Color3.fromRGB(0, 120, 215)
loopButton.TextColor3 = Color3.fromRGB(255, 255, 255)
loopButton.Text = "Loop Fire"
loopButton.TextScaled = true
loopButton.Font = Enum.Font.SourceSansBold
loopButton.ZIndex = 1
loopButton.Parent = frame
local loopButtonCorner = Instance.new("UICorner")
loopButtonCorner.CornerRadius = UDim.new(0, 8)
loopButtonCorner.Parent = loopButton
local spyButton = Instance.new("TextButton")
spyButton.Size = UDim2.new(0.22, 0, 0.15, 0)
spyButton.Position = UDim2.new(0.77, 0, 0.27, 0)
spyButton.BackgroundColor3 = Color3.fromRGB(0, 120, 215)
spyButton.TextColor3 = Color3.fromRGB(255, 255, 255)
spyButton.Text = "Remote Spy"
spyButton.TextScaled = true
spyButton.Font = Enum.Font.SourceSansBold
spyButton.ZIndex = 1
spyButton.Parent = frame
local spyButtonCorner = Instance.new("UICorner")
spyButtonCorner.CornerRadius = UDim.new(0, 8)
spyButtonCorner.Parent = spyButton
-- Help button and help frame
local helpButton = Instance.new("TextButton")
helpButton.Size = UDim2.new(0.1, 0, 0.1, 0)
helpButton.Position = UDim2.new(0.85, 0, 0.07, 0)
helpButton.BackgroundColor3 = Color3.fromRGB(100, 100, 100)
helpButton.TextColor3 = Color3.fromRGB(255, 255, 255)
helpButton.Text = "?"
helpButton.TextScaled = true
helpButton.Font = Enum.Font.SourceSansBold
helpButton.ZIndex = 1
helpButton.Parent = frame
local helpButtonCorner = Instance.new("UICorner")
helpButtonCorner.CornerRadius = UDim.new(0, 8)
helpButtonCorner.Parent = helpButton
local helpFrame = Instance.new("Frame")
helpFrame.Size = UDim2.new(0.8, 0, 0.6, 0)
helpFrame.Position = UDim2.new(0.1, 0, 0.17, 0)
helpFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
helpFrame.Visible = false
helpFrame.ZIndex = 2
helpFrame.Parent = frame
local helpFrameCorner = Instance.new("UICorner")
helpFrameCorner.CornerRadius = UDim.new(0, 8)
helpFrameCorner.Parent = helpFrame
local scrollingFrame = Instance.new("ScrollingFrame")
scrollingFrame.Size = UDim2.new(0.9, 0, 0.9, 0)
scrollingFrame.Position = UDim2.new(0.05, 0, 0.05, 0)
scrollingFrame.BackgroundTransparency = 1
scrollingFrame.ScrollBarThickness = 5
scrollingFrame.ZIndex = 2
scrollingFrame.Parent = helpFrame
local helpText = Instance.new("TextLabel")
helpText.Size = UDim2.new(1, 0, 0, 450)
helpText.BackgroundTransparency = 1
helpText.TextColor3 = Color3.fromRGB(255, 255, 255)
helpText.Text = [[
RemoteEvent GUI Help
1. **How to Use the GUI**:
- Enter the RemoteEvent name (e.g., "EventName").
- Check the indicator to see if the event is found.
- 'Fire Event': Fires the event once.
- 'Fire 10x': Fires the event 10 times.
- 'Loop Fire': Starts/stops looping the event.
- 'Remote Spy': Shows a list of fired RemoteEvents.
2. **Toggling the GUI**:
- Press Left Control to show/hide.
3. **Looping Behavior**:
- Looping continues until stopped.
- Re-enter the same event name and click 'Loop Fire' to stop.
- Entering a new event switches the loop to the new event.
4. **Finding RemoteEvents**:
- Searches ReplicatedStorage and ServerStorage, including all folders.
- Use 'Can't find RemoteEvent?' to browse all found events.
- Right-click an event in the list to delete it.
5. **Remote Spy**:
- Tracks RemoteEvents fired by the player or server.
- Displays event names and source (Player/Server) in a list.
- Click an event to autofill the textbox.
6. **Deleting RemoteEvents**:
- Right-click an event in the 'Can't find RemoteEvent?' list to open a menu.
- Confirm deletion to remove the event from the game and list.
7. **Notes**:
- Only enter the event name, not the full path.
- Fires events without arguments.
- Check executor output for errors if issues occur.
]]
helpText.TextWrapped = true
helpText.TextScaled = false
helpText.TextSize = 16
helpText.Font = Enum.Font.SourceSans
helpText.TextXAlignment = Enum.TextXAlignment.Left
helpText.TextYAlignment = Enum.TextYAlignment.Top
helpText.ZIndex = 2
helpText.Parent = scrollingFrame
-- Update ScrollingFrame CanvasSize
local function updateCanvasSize()
pcall(function()
scrollingFrame.CanvasSize = UDim2.new(0, 0, 0, helpText.TextBounds.Y + 20)
end)
end
updateCanvasSize()
helpText:GetPropertyChangedSignal("TextBounds"):Connect(updateCanvasSize)
-- Can't find RemoteEvent button and event list frame
local eventListButton = Instance.new("TextButton")
eventListButton.Size = UDim2.new(0.44, 0, 0.1, 0)
eventListButton.Position = UDim2.new(0.05, 0, 0.73, 0)
eventListButton.BackgroundColor3 = Color3.fromRGB(100, 100, 100)
eventListButton.TextColor3 = Color3.fromRGB(255, 255, 255)
eventListButton.Text = "Can't find RemoteEvent?"
eventListButton.TextScaled = true
eventListButton.Font = Enum.Font.SourceSansBold
eventListButton.ZIndex = 1
eventListButton.Parent = frame
local eventListButtonCorner = Instance.new("UICorner")
eventListButtonCorner.CornerRadius = UDim.new(0, 8)
eventListButtonCorner.Parent = eventListButton
local eventListFrame = Instance.new("Frame")
eventListFrame.Size = UDim2.new(0.8, 0, 0.6, 0)
eventListFrame.Position = UDim2.new(0.1, 0, 0.17, 0)
eventListFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
eventListFrame.Visible = false
eventListFrame.ZIndex = 2
eventListFrame.Parent = frame
local eventListFrameCorner = Instance.new("UICorner")
eventListFrameCorner.CornerRadius = UDim.new(0, 8)
eventListFrameCorner.Parent = eventListFrame
local eventListScrolling = Instance.new("ScrollingFrame")
eventListScrolling.Size = UDim2.new(0.9, 0, 0.9, 0)
eventListScrolling.Position = UDim2.new(0.05, 0, 0.05, 0)
eventListScrolling.BackgroundTransparency = 1
eventListScrolling.ScrollBarThickness = 5
eventListScrolling.ZIndex = 2
eventListScrolling.Parent = eventListFrame
-- Remote Spy frame
local spyFrame = Instance.new("Frame")
spyFrame.Size = UDim2.new(0.8, 0, 0.6, 0)
spyFrame.Position = UDim2.new(0.1, 0, 0.17, 0)
spyFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
spyFrame.Visible = false
spyFrame.ZIndex = 2
spyFrame.Parent = frame
local spyFrameCorner = Instance.new("UICorner")
spyFrameCorner.CornerRadius = UDim.new(0, 8)
spyFrameCorner.Parent = spyFrame
print("RemoteEventGUI: Spy frame created")
local spyScrolling = Instance.new("ScrollingFrame")
spyScrolling.Size = UDim2.new(0.9, 0, 0.9, 0)
spyScrolling.Position = UDim2.new(0.05, 0, 0.05, 0)
spyScrolling.BackgroundTransparency = 1
spyScrolling.ScrollBarThickness = 5
spyScrolling.ZIndex = 2
spyScrolling.Parent = spyFrame
-- Delete confirmation frame
local deleteFrame = nil
local function createDeleteMenu(eventName, eventButton, eventInstance)
if deleteFrame then
deleteFrame:Destroy()
end
deleteFrame = Instance.new("Frame")
deleteFrame.Size = UDim2.new(0.6, 0, 0.3, 0)
deleteFrame.Position = UDim2.new(0.2, 0, 0.35, 0)
deleteFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
deleteFrame.BorderSizePixel = 0
deleteFrame.ZIndex = 3
deleteFrame.Parent = frame
local deleteFrameCorner = Instance.new("UICorner")
deleteFrameCorner.CornerRadius = UDim.new(0, 8)
deleteFrameCorner.Parent = deleteFrame
local deleteText = Instance.new("TextLabel")
deleteText.Size = UDim2.new(0.9, 0, 0.4, 0)
deleteText.Position = UDim2.new(0.05, 0, 0.05, 0)
deleteText.BackgroundTransparency = 1
deleteText.TextColor3 = Color3.fromRGB(255, 255, 255)
deleteText.Text = "Would you like to delete " .. eventName .. "?"
deleteText.TextScaled = true
deleteText.Font = Enum.Font.SourceSans
deleteText.ZIndex = 3
deleteText.Parent = deleteFrame
local yesButton = Instance.new("TextButton")
yesButton.Size = UDim2.new(0.4, 0, 0.3, 0)
yesButton.Position = UDim2.new(0.05, 0, 0.55, 0)
yesButton.BackgroundColor3 = Color3.fromRGB(0, 120, 215)
yesButton.TextColor3 = Color3.fromRGB(255, 255, 255)
yesButton.Text = "Yes"
yesButton.TextScaled = true
yesButton.Font = Enum.Font.SourceSansBold
yesButton.ZIndex = 3
yesButton.Parent = deleteFrame
local yesButtonCorner = Instance.new("UICorner")
yesButtonCorner.CornerRadius = UDim.new(0, 8)
yesButtonCorner.Parent = yesButton
local noButton = Instance.new("TextButton")
noButton.Size = UDim2.new(0.4, 0, 0.3, 0)
noButton.Position = UDim2.new(0.55, 0, 0.55, 0)
noButton.BackgroundColor3 = Color3.fromRGB(100, 100, 100)
noButton.TextColor3 = Color3.fromRGB(255, 255, 255)
noButton.Text = "No"
noButton.TextScaled = true
noButton.Font = Enum.Font.SourceSansBold
noButton.ZIndex = 3
noButton.Parent = deleteFrame
local noButtonCorner = Instance.new("UICorner")
noButtonCorner.CornerRadius = UDim.new(0, 8)
noButtonCorner.Parent = noButton
yesButton.MouseButton1Click:Connect(function()
pcall(function()
if eventInstance and eventInstance.Parent then
eventInstance:Destroy()
remoteEventDatabase[eventName] = nil
eventButton:Destroy()
populateEventList()
end
deleteFrame:Destroy()
deleteFrame = nil
end)
end)
noButton.MouseButton1Click:Connect(function()
pcall(function()
deleteFrame:Destroy()
deleteFrame = nil
end)
end)
end
-- Populate event list
local function populateEventList()
pcall(function()
for _, child in pairs(eventListScrolling:GetChildren()) do
if child:IsA("TextButton") then
child:Destroy()
end
end
local yOffset = 0
for eventName, eventInstance in pairs(remoteEventDatabase) do
local eventButton = Instance.new("TextButton")
eventButton.Size = UDim2.new(1, 0, 0, 30)
eventButton.Position = UDim2.new(0, 0, 0, yOffset)
eventButton.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
eventButton.TextColor3 = Color3.fromRGB(255, 255, 255)
eventButton.Text = eventName
eventButton.TextScaled = true
eventButton.Font = Enum.Font.SourceSans
eventButton.ZIndex = 2
eventButton.Parent = eventListScrolling
local eventButtonCorner = Instance.new("UICorner")
eventButtonCorner.CornerRadius = UDim.new(0, 6)
eventButtonCorner.Parent = eventButton
eventButton.MouseButton1Click:Connect(function()
pcall(function()
textBox.Text = eventName
eventListFrame.Visible = false
end)
end)
eventButton.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton2 then
pcall(function()
createDeleteMenu(eventName, eventButton, eventInstance)
end)
end
end)
yOffset = yOffset + 35
end
eventListScrolling.CanvasSize = UDim2.new(0, 0, 0, yOffset)
end)
end
pcall(populateEventList)
-- Remote Spy functionality
local spyEvents = {}
local spyConnections = {}
local function populateSpyList()
pcall(function()
for _, child in pairs(spyScrolling:GetChildren()) do
if child:IsA("TextButton") then
child:Destroy()
end
end
local yOffset = 0
for _, eventInfo in ipairs(spyEvents) do
local eventButton = Instance.new("TextButton")
eventButton.Size = UDim2.new(1, 0, 0, 30)
eventButton.Position = UDim2.new(0, 0, 0, yOffset)
eventButton.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
eventButton.TextColor3 = Color3.fromRGB(255, 255, 255)
eventButton.Text = eventInfo.name .. " (" .. eventInfo.source .. ")"
eventButton.TextScaled = true
eventButton.Font = Enum.Font.SourceSans
eventButton.ZIndex = 2
eventButton.Parent = spyScrolling
local eventButtonCorner = Instance.new("UICorner")
eventButtonCorner.CornerRadius = UDim.new(0, 6)
eventButtonCorner.Parent = eventButton
eventButton.MouseButton1Click:Connect(function()
pcall(function()
textBox.Text = eventInfo.name
spyFrame.Visible = false
print("RemoteEventGUI: Spy event selected: " .. eventInfo.name)
end)
end)
yOffset = yOffset + 35
end
spyScrolling.CanvasSize = UDim2.new(0, 0, 0, yOffset)
print("RemoteEventGUI: Spy list updated, " .. #spyEvents .. " events")
end)
end
local function setupRemoteSpy()
pcall(function()
for _, connection in pairs(spyConnections) do
connection:Disconnect()
end
spyConnections = {}
spyEvents = {}
for eventName, eventInstance in pairs(remoteEventDatabase) do
local clientConnection = eventInstance.OnClientEvent:Connect(function(...)
pcall(function()
table.insert(spyEvents, {name = eventName, source = "Server"})
populateSpyList()
print("RemoteEventGUI: Server fired event: " .. eventName)
end)
end)
table.insert(spyConnections, clientConnection)
end
end)
end
pcall(setupRemoteSpy)
-- Toggle event list frame
eventListButton.MouseButton1Click:Connect(function()
pcall(function()
eventListFrame.Visible = not eventListFrame.Visible
helpFrame.Visible = false
spyFrame.Visible = false
print("RemoteEventGUI: Event list frame toggled, Visible: " .. tostring(eventListFrame.Visible))
end)
end)
-- Toggle help frame
helpButton.MouseButton1Click:Connect(function()
pcall(function()
helpFrame.Visible = not helpFrame.Visible
eventListFrame.Visible = false
spyFrame.Visible = false
print("RemoteEventGUI: Help frame toggled, Visible: " .. tostring(helpFrame.Visible))
end)
end)
-- Toggle spy frame
spyButton.MouseButton1Click:Connect(function()
pcall(function()
spyFrame.Visible = not spyFrame.Visible
helpFrame.Visible = false
eventListFrame.Visible = false
print("RemoteEventGUI: Spy frame toggled, Visible: " .. tostring(spyFrame.Visible))
end)
end)
-- Toggle GUI with Left Control
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
if input.KeyCode == Enum.KeyCode.LeftControl then
pcall(function()
gui.Enabled = not gui.Enabled
print("RemoteEventGUI: Main GUI toggled, Enabled: " .. tostring(gui.Enabled))
end)
end
end)
-- RemoteEvent handling
local loopingEvent = nil
local loopingConnection = nil
local function getRemoteEvent(name)
return remoteEventDatabase[name]
end
fireButton.MouseButton1Click:Connect(function()
pcall(function()
local event = getRemoteEvent(textBox.Text)
if event then
event:FireServer()
table.insert(spyEvents, {name = textBox.Text, source = "Player"})
populateSpyList()
print("RemoteEventGUI: Fired event: " .. textBox.Text)
else
eventIndicator.Text = "Event not found"
eventIndicator.TextColor3 = Color3.fromRGB(255, 0, 0)
end
end)
end)
fire10xButton.MouseButton1Click:Connect(function()
pcall(function()
local event = getRemoteEvent(textBox.Text)
if event then
for i = 1, 10 do
event:FireServer()
table.insert(spyEvents, {name = textBox.Text, source = "Player"})
task.wait(0.1)
end
populateSpyList()
print("RemoteEventGUI: Fired event 10x: " .. textBox.Text)
else
eventIndicator.Text = "Event not found"
eventIndicator.TextColor3 = Color3.fromRGB(255, 0, 0)
end
end)
end)
loopButton.MouseButton1Click:Connect(function()
pcall(function()
local event = getRemoteEvent(textBox.Text)
if not event then
eventIndicator.Text = "Event not found"
eventIndicator.TextColor3 = Color3.fromRGB(255, 0, 0)
return
end
if loopingEvent == event then
if loopingConnection then
loopingConnection:Disconnect()
loopingConnection = nil
loopingEvent = nil
loopButton.Text = "Loop Fire"
print("RemoteEventGUI: Stopped looping event: " .. textBox.Text)
end
else
if loopingConnection then
loopingConnection:Disconnect()
end
loopingEvent = event
loopingConnection = RunService.Heartbeat:Connect(function()
pcall(function()
event:FireServer()
table.insert(spyEvents, {name = textBox.Text, source = "Player"})
populateSpyList()
end)
end)
loopButton.Text = "Stop Loop"
print("RemoteEventGUI: Started looping event: " .. textBox.Text)
end
end)
end)No comments yet for this script.

![[KEYLESS] Moondiety Script | 17+ supported Games](https://scriptblox.com/images/sb/0-1753093706828.png)

