
KeylessUniversal

local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer
-- Clean up any pre-existing UI instance
local oldGui = player:WaitForChild("PlayerGui"):FindFirstChild("RemoteLaSper_Console")
if oldGui then oldGui:Destroy() end
-- ScreenGui Container
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "RemoteLaSper_Console"
screenGui.ResetOnSpawn = false
screenGui.Parent = player:WaitForChild("PlayerGui")
-- Main Frame
local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, 720, 0, 440)
mainFrame.Position = UDim2.new(0.5, -360, 0.5, -220)
mainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 18)
mainFrame.BorderSizePixel = 0
mainFrame.ClipsDescendants = true
mainFrame.Parent = screenGui
local mainCorner = Instance.new("UICorner")
mainCorner.CornerRadius = UDim.new(0, 10)
mainCorner.Parent = mainFrame
-- Title Bar
local titleBar = Instance.new("Frame")
titleBar.Name = "TitleBar"
titleBar.Size = UDim2.new(1, 0, 0, 35)
titleBar.BackgroundColor3 = Color3.fromRGB(22, 22, 26)
titleBar.BorderSizePixel = 0
titleBar.Parent = mainFrame
local titleLabel = Instance.new("TextLabel")
titleLabel.Name = "Title"
titleLabel.Size = UDim2.new(1, -120, 1, 0)
titleLabel.Position = UDim2.new(0, 12, 0, 0)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "RemoteLaSper | Remote Scanner"
titleLabel.TextColor3 = Color3.fromRGB(235, 235, 240)
titleLabel.TextXAlignment = Enum.TextXAlignment.Left
titleLabel.Font = Enum.Font.GothamBold
titleLabel.TextSize = 14
titleLabel.Parent = titleBar
-- Control Window Buttons (X, [], -)
local function createTopButton(name, text, posOffset, color)
local btn = Instance.new("TextButton")
btn.Name = name
btn.Size = UDim2.new(0, 35, 1, 0)
btn.Position = UDim2.new(1, posOffset, 0, 0)
btn.BackgroundTransparency = 1
btn.Text = text
btn.TextColor3 = color
btn.Font = Enum.Font.GothamBold
btn.TextSize = 14
btn.Parent = titleBar
return btn
end
local closeBtn = createTopButton("Close", "✕", -35, Color3.fromRGB(255, 90, 90))
local minimizeBtn = createTopButton("Minimize", "▢", -70, Color3.fromRGB(180, 180, 190))
local refreshBtn = createTopButton("Refresh", "—", -105, Color3.fromRGB(180, 180, 190))
-- Left Panel (Editor & Controls)
local leftPanel = Instance.new("Frame")
leftPanel.Size = UDim2.new(0, 360, 1, -45)
leftPanel.Position = UDim2.new(0, 10, 0, 40)
leftPanel.BackgroundTransparency = 1
leftPanel.Parent = mainFrame
-- Code / Script Viewing Box
local codeBox = Instance.new("TextBox")
codeBox.Name = "CodeInput"
codeBox.Size = UDim2.new(1, 0, 0, 260)
codeBox.Position = UDim2.new(0, 0, 0, 0)
codeBox.BackgroundColor3 = Color3.fromRGB(25, 25, 30)
codeBox.Text = "-- Click 'Scan Remotes' to find all events.\n-- Select an event to generate its firing code."
codeBox.TextColor3 = Color3.fromRGB(200, 200, 210)
codeBox.TextXAlignment = Enum.TextXAlignment.Left
codeBox.TextYAlignment = Enum.TextYAlignment.Top
codeBox.ClearTextOnFocus = false
codeBox.MultiLine = true
codeBox.Font = Enum.Font.Code
codeBox.TextSize = 12
codeBox.Parent = leftPanel
Instance.new("UICorner", codeBox).CornerRadius = UDim.new(0, 6)
-- Run Code Button
local runBtn = Instance.new("TextButton")
runBtn.Name = "RunCodeBtn"
runBtn.Size = UDim2.new(0.48, 0, 0, 35)
runBtn.Position = UDim2.new(0, 0, 0, 270)
runBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 52)
runBtn.Text = "Run Code"
runBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
runBtn.Font = Enum.Font.GothamSemibold
runBtn.TextSize = 13
runBtn.Parent = leftPanel
Instance.new("UICorner", runBtn).CornerRadius = UDim.new(0, 6)
-- Scan Remotes Button
local scanRemotesBtn = Instance.new("TextButton")
scanRemotesBtn.Name = "ScanRemotesBtn"
scanRemotesBtn.Size = UDim2.new(0.48, 0, 0, 35)
scanRemotesBtn.Position = UDim2.new(0.52, 0, 0, 270)
scanRemotesBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 52)
scanRemotesBtn.Text = "Scan Remotes"
scanRemotesBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
scanRemotesBtn.Font = Enum.Font.GothamSemibold
scanRemotesBtn.TextSize = 13
scanRemotesBtn.Parent = leftPanel
Instance.new("UICorner", scanRemotesBtn).CornerRadius = UDim.new(0, 6)
-- Big COPY Button
local copyBtn = Instance.new("TextButton")
copyBtn.Name = "CopyBtn"
copyBtn.Size = UDim2.new(1, 0, 0, 35)
copyBtn.Position = UDim2.new(0, 0, 0, 312)
copyBtn.BackgroundColor3 = Color3.fromRGB(20, 20, 22)
copyBtn.Text = "COPY"
copyBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
copyBtn.Font = Enum.Font.GothamBold
copyBtn.TextSize = 13
copyBtn.Parent = leftPanel
Instance.new("UICorner", copyBtn).CornerRadius = UDim.new(0, 6)
-- Right Panel (Studio Game Explorer)
local rightPanel = Instance.new("Frame")
rightPanel.Size = UDim2.new(0, 330, 1, -45)
rightPanel.Position = UDim2.new(0, 380, 0, 40)
rightPanel.BackgroundColor3 = Color3.fromRGB(22, 22, 26)
rightPanel.Parent = mainFrame
Instance.new("UICorner", rightPanel).CornerRadius = UDim.new(0, 8)
local explorerHeader = Instance.new("TextLabel")
explorerHeader.Size = UDim2.new(1, -10, 0, 25)
explorerHeader.Position = UDim2.new(0, 10, 0, 2)
explorerHeader.BackgroundTransparency = 1
explorerHeader.Text = "EXPLORER / REMOTES"
explorerHeader.TextColor3 = Color3.fromRGB(140, 140, 150)
explorerHeader.TextXAlignment = Enum.TextXAlignment.Left
explorerHeader.Font = Enum.Font.GothamBold
explorerHeader.TextSize = 11
explorerHeader.Parent = rightPanel
local scrollFrame = Instance.new("ScrollingFrame")
scrollFrame.Name = "ExplorerList"
scrollFrame.Size = UDim2.new(1, -10, 1, -35)
scrollFrame.Position = UDim2.new(0, 5, 0, 28)
scrollFrame.BackgroundTransparency = 1
scrollFrame.ScrollBarThickness = 4
scrollFrame.ScrollBarImageColor3 = Color3.fromRGB(80, 80, 90)
scrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
scrollFrame.Parent = rightPanel
local listLayout = Instance.new("UIListLayout")
listLayout.Padding = UDim.new(0, 3)
listLayout.SortOrder = Enum.SortOrder.LayoutOrder
listLayout.Parent = scrollFrame
-- Animated Dragging Mechanics
local dragging, dragStart, startPos
titleBar.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = mainFrame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
local delta = input.Position - dragStart
mainFrame.Position = UDim2.new(
startPos.X.Scale, startPos.X.Offset + delta.X,
startPos.Y.Scale, startPos.Y.Offset + delta.Y
)
end
end)
-- Code Generator Function
local function generateCodeForRemote(instance)
local path = instance:GetFullName()
local code = "-- RemoteLaSper Script Generator\n"
code = code .. "local target = " .. path .. "\n\n"
code = code .. "local args = {\n"
code = code .. " [1] = \"Put your arguments here!\",\n"
code = code .. " [2] = 12345\n"
code = code .. "}\n\n"
if instance:IsA("RemoteEvent") then
code = code .. "-- Fire the event to the server\n"
code = code .. "target:FireServer(unpack(args))"
elseif instance:IsA("RemoteFunction") then
code = code .. "-- Invoke the server and wait for return\n"
code = code .. "local result = target:InvokeServer(unpack(args))\n"
code = code .. "print(result)"
end
return code
end
-- Safely Scan For Remotes
local function scanForRemotes()
for _, child in ipairs(scrollFrame:GetChildren()) do
if child:IsA("Frame") then child:Destroy() end
end
local yCount = 0
-- Using pcall prevents the script from crashing if it hits restricted CoreGui services
local allDescendants = {}
pcall(function()
allDescendants = game:GetDescendants()
end)
for _, instance in ipairs(allDescendants) do
if instance:IsA("RemoteEvent") or instance:IsA("RemoteFunction") then
yCount = yCount + 1
local itemContainer = Instance.new("Frame")
itemContainer.Size = UDim2.new(1, 0, 0, 24)
itemContainer.BackgroundTransparency = 1
itemContainer.Parent = scrollFrame
local expandBtn = Instance.new("TextButton")
expandBtn.Size = UDim2.new(0, 18, 0, 18)
expandBtn.Position = UDim2.new(0, 5, 0, 3)
expandBtn.BackgroundColor3 = instance:IsA("RemoteEvent") and Color3.fromRGB(200, 150, 0) or Color3.fromRGB(150, 0, 200)
expandBtn.Text = "+"
expandBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
expandBtn.Font = Enum.Font.GothamBold
expandBtn.TextSize = 11
expandBtn.Parent = itemContainer
Instance.new("UICorner", expandBtn).CornerRadius = UDim.new(0, 4)
local itemBtn = Instance.new("TextButton")
itemBtn.Size = UDim2.new(1, -30, 1, 0)
itemBtn.Position = UDim2.new(0, 28, 0, 0)
itemBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 42)
itemBtn.Text = " " .. instance.Name .. " (" .. instance.ClassName .. ")"
itemBtn.TextColor3 = Color3.fromRGB(220, 220, 225)
itemBtn.TextXAlignment = Enum.TextXAlignment.Left
itemBtn.Font = Enum.Font.Gotham
itemBtn.TextSize = 11
itemBtn.Parent = itemContainer
Instance.new("UICorner", itemBtn).CornerRadius = UDim.new(0, 4)
-- Generate Code on click
itemBtn.MouseButton1Click:Connect(function()
codeBox.Text = generateCodeForRemote(instance)
end)
end
end
if yCount == 0 then
codeBox.Text = "-- No RemoteEvents or RemoteFunctions found in this game."
else
codeBox.Text = "-- Found " .. yCount .. " Remotes.\n-- Select one from the list to view its code."
end
scrollFrame.CanvasSize = UDim2.new(0, 0, 0, yCount * 27)
end
-- Button Connections
scanRemotesBtn.MouseButton1Click:Connect(function()
scanForRemotes()
end)
refreshBtn.MouseButton1Click:Connect(function()
codeBox.Text = "-- Refreshed!"
scanForRemotes()
end)
-- Window Animations
local minimized = false
local storedPosition = mainFrame.Position
minimizeBtn.MouseButton1Click:Connect(function()
minimized = not minimized
local tweenInfo = TweenInfo.new(0.4, Enum.EasingStyle.Back, Enum.EasingDirection.InOut)
if minimized then
storedPosition = mainFrame.Position
local targetPos = UDim2.new(storedPosition.X.Scale, storedPosition.X.Offset, 1, 100)
TweenService:Create(mainFrame, tweenInfo, {Position = targetPos}):Play()
else
TweenService:Create(mainFrame, tweenInfo, {Position = storedPosition}):Play()
end
end)
closeBtn.MouseButton1Click:Connect(function()
local closeTween = TweenService:Create(mainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.In), {
Size = UDim2.new(0, 720, 0, 0),
BackgroundTransparency = 1
})
closeTween:Play()
closeTween.Completed:Connect(function()
screenGui:Destroy()
end)
end)
-- Copy Button Logic
copyBtn.MouseButton1Click:Connect(function()
if setclipboard then
setclipboard(codeBox.Text)
copyBtn.Text = "Copied to Clipboard!"
else
copyBtn.Text = "Highlight text to copy (No setclipboard)"
end
copyBtn.BackgroundColor3 = Color3.fromRGB(35, 120, 60)
task.wait(1.2)
copyBtn.Text = "COPY"
copyBtn.BackgroundColor3 = Color3.fromRGB(20, 20, 22)
end)
-- Run Code
runBtn.MouseButton1Click:Connect(function()
print("Code in box:")
print(codeBox.Text)
print("NOTE: To execute raw strings on the client, use an external compiler or print to console.")
end)
-- Start with a blank list until scan is clicked
codeBox.Text = "-- RemoteLaSper Ready.\n-- Click 'Scan Remotes' to fetch events."No comments yet for this script.



