epic remote spy
Key RequiredUniversal Patched

epic remote spy

Universal ScriptEpic_ScriptsEpic_Scripts 1.4K views 5.4K executesUpdated Aug 31, 2026
5.0/ 5(2 votes)
20100% Positive
Lua Script•597 lines (9530 chars)
--// Services

local Players = game:GetService("Players")

local UIS = game:GetService("UserInputService")

local ReplicatedStorage = game:GetService("ReplicatedStorage")

local TweenService = game:GetService("TweenService")



local LocalPlayer = Players.LocalPlayer



--// GUI

local ScreenGui = Instance.new("ScreenGui")

ScreenGui.Name = "LiveRemoteSpy"

ScreenGui.ResetOnSpawn = false

ScreenGui.Parent = game:GetService("CoreGui")



-- Notification

local Notification = Instance.new("TextLabel")

Notification.Size = UDim2.new(0,420,0,36)

Notification.Position = UDim2.new(0.5,-210,0,20)

Notification.BackgroundColor3 = Color3.fromRGB(30,30,30)

Notification.BorderSizePixel = 0

Notification.TextColor3 = Color3.new(1,1,1)

Notification.Font = Enum.Font.SourceSansBold

Notification.TextSize = 16

Notification.Visible = false

Notification.TextTransparency = 1

Notification.BackgroundTransparency = 1

Notification.Parent = ScreenGui



-- Show notification function

local function showNotification(text, color)

    Notification.Text = text

    Notification.BackgroundColor3 = color

    Notification.Visible = true



    TweenService:Create(Notification, TweenInfo.new(0.4), {

        TextTransparency = 0,

        BackgroundTransparency = 0

    }):Play()



    task.delay(3, function()

        TweenService:Create(Notification, TweenInfo.new(0.4), {

            TextTransparency = 1,

            BackgroundTransparency = 1

        }):Play()

    end)

end



-- Main Window

local Main = Instance.new("Frame")

Main.Size = UDim2.new(0,430,0,270)

Main.Position = UDim2.new(0.5,-215,0.5,-135)

Main.BackgroundColor3 = Color3.fromRGB(30,30,30)

Main.BorderSizePixel = 0

Main.Parent = ScreenGui



-- Drag functionality for Main

do

    local dragging, dragInput, startPos, startInput = false



    local function update(input)

        local delta = input.Position - startInput

        Main.Position = UDim2.new(

            startPos.X.Scale,

            startPos.X.Offset + delta.X,

            startPos.Y.Scale,

            startPos.Y.Offset + delta.Y

        )

    end



    Main.InputBegan:Connect(function(input)

        if input.UserInputType == Enum.UserInputType.MouseButton1

        or input.UserInputType == Enum.UserInputType.Touch then

            dragging = true

            startInput = input.Position

            startPos = Main.Position



            input.Changed:Connect(function()

                if input.UserInputState == Enum.UserInputState.End then

                    dragging = false

                end

            end)

        end

    end)



    Main.InputChanged:Connect(function(input)

        if input.UserInputType == Enum.UserInputType.MouseMovement

        or input.UserInputType == Enum.UserInputType.Touch then

            dragInput = input

        end

    end)



    UIS.InputChanged:Connect(function(input)

        if input == dragInput and dragging then

            update(input)

        end

    end)

end



-- Title

local Title = Instance.new("TextLabel")

Title.Size = UDim2.new(1, -82, 0, 26)

Title.BackgroundColor3 = Color3.fromRGB(40,40,40)

Title.Text = "epic remotespy for epic pplz"

Title.TextColor3 = Color3.new(1,1,1)

Title.Font = Enum.Font.SourceSansBold

Title.TextSize = 14

Title.Parent = Main



-- Toggle Button

local ToggleBtn = Instance.new("TextButton")

ToggleBtn.Size = UDim2.new(0,24,0,24)

ToggleBtn.Position = UDim2.new(1,-28,0,1)

ToggleBtn.Text = "-"

ToggleBtn.Font = Enum.Font.SourceSansBold

ToggleBtn.TextSize = 18

ToggleBtn.BackgroundColor3 = Color3.fromRGB(90,60,60)

ToggleBtn.TextColor3 = Color3.new(1,1,1)

ToggleBtn.Parent = Title



local guiVisible = true

ToggleBtn.MouseButton1Click:Connect(function()

    guiVisible = not guiVisible

    Main.Visible = guiVisible

    ToggleBtn.Text = guiVisible and "-" or "+"

end)



-- Credits Button

local CreditsBtn = Instance.new("TextButton")

CreditsBtn.Size = UDim2.new(0,50,0,24)

CreditsBtn.Position = UDim2.new(1,-82,0,1)

CreditsBtn.Text = "Credits"

CreditsBtn.Font = Enum.Font.SourceSansBold

CreditsBtn.TextSize = 14

CreditsBtn.BackgroundColor3 = Color3.fromRGB(70,70,120)

CreditsBtn.TextColor3 = Color3.new(1,1,1)

CreditsBtn.Parent = Title



-- Credits GUI

local CreditsGUI = Instance.new("Frame")

CreditsGUI.Size = UDim2.new(0,300,0,100)

CreditsGUI.Position = UDim2.new(0.5,-150,0.5,-50)

CreditsGUI.BackgroundColor3 = Color3.fromRGB(30,30,30)

CreditsGUI.BorderSizePixel = 0

CreditsGUI.Visible = false

CreditsGUI.Parent = ScreenGui



-- Credits Title

local CreditsTitle = Instance.new("TextLabel")

CreditsTitle.Size = UDim2.new(1,0,0,30)

CreditsTitle.BackgroundColor3 = Color3.fromRGB(40,40,40)

CreditsTitle.Text = "Credits"

CreditsTitle.TextColor3 = Color3.new(1,1,1)

CreditsTitle.Font = Enum.Font.SourceSansBold

CreditsTitle.TextSize = 16

CreditsTitle.Parent = CreditsGUI



-- Creator Text

local CreatorText = Instance.new("TextLabel")

CreatorText.Size = UDim2.new(1,0,0,30)

CreatorText.Position = UDim2.new(0,0,0,35)

CreatorText.BackgroundTransparency = 1

CreatorText.Text = "Creator: roblozplayers_88Alt"

CreatorText.TextColor3 = Color3.new(1,1,1)

CreatorText.Font = Enum.Font.SourceSans

CreatorText.TextSize = 14

CreatorText.Parent = CreditsGUI



-- Helper Text

local HelperText = Instance.new("TextLabel")

HelperText.Size = UDim2.new(1,0,0,30)

HelperText.Position = UDim2.new(0,0,0,65)

HelperText.BackgroundTransparency = 1

HelperText.Text = "GUI editor/Helper: 98ikidds"

HelperText.TextColor3 = Color3.new(1,1,1)

HelperText.Font = Enum.Font.SourceSans

HelperText.TextSize = 14

HelperText.Parent = CreditsGUI



-- Close Button

local CloseCreditsBtn = Instance.new("TextButton")

CloseCreditsBtn.Size = UDim2.new(0,50,0,24)

CloseCreditsBtn.Position = UDim2.new(1,-55,0,5)

CloseCreditsBtn.Text = "X"

CloseCreditsBtn.Font = Enum.Font.SourceSansBold

CloseCreditsBtn.TextSize = 14

CloseCreditsBtn.BackgroundColor3 = Color3.fromRGB(120,40,40)

CloseCreditsBtn.TextColor3 = Color3.new(1,1,1)

CloseCreditsBtn.Parent = CreditsGUI



-- Show/Hide Credits GUI

CreditsBtn.MouseButton1Click:Connect(function()

    CreditsGUI.Visible = true

end)



CloseCreditsBtn.MouseButton1Click:Connect(function()

    CreditsGUI.Visible = false

end)



-- Drag functionality for Credits GUI

do

    local dragging, dragInput, startPos, startInput = false



    local function update(input)

        local delta = input.Position - startInput

        CreditsGUI.Position = UDim2.new(

            startPos.X.Scale,

            startPos.X.Offset + delta.X,

            startPos.Y.Scale,

            startPos.Y.Offset + delta.Y

        )

    end



    CreditsGUI.InputBegan:Connect(function(input)

        if input.UserInputType == Enum.UserInputType.MouseButton1 or

           input.UserInputType == Enum.UserInputType.Touch then

            dragging = true

            startInput = input.Position

            startPos = CreditsGUI.Position



            input.Changed:Connect(function()

                if input.UserInputState == Enum.UserInputState.End then

                    dragging = false

                end

            end)

        end

    end)



    CreditsGUI.InputChanged:Connect(function(input)

        if input.UserInputType == Enum.UserInputType.MouseMovement or

           input.UserInputType == Enum.UserInputType.Touch then

            dragInput = input

        end

    end)



    UIS.InputChanged:Connect(function(input)

        if input == dragInput and dragging then

            update(input)

        end

    end)

end



-- Search Bar

local SearchBox = Instance.new("TextBox")

SearchBox.Position = UDim2.new(0,6,0,32)

SearchBox.Size = UDim2.new(0,190,0,22)

SearchBox.Text = ""

SearchBox.PlaceholderText = "search remotes"

SearchBox.BackgroundColor3 = Color3.fromRGB(35,35,35)

SearchBox.TextColor3 = Color3.new(1,1,1)

SearchBox.Font = Enum.Font.SourceSans

SearchBox.TextSize = 13

SearchBox.ClearTextOnFocus = false

SearchBox.Parent = Main



-- Remote List

local List = Instance.new("ScrollingFrame")

List.Position = UDim2.new(0,6,0,58)

List.Size = UDim2.new(0,190,1,-94)

List.CanvasSize = UDim2.new(0,0,0,0)

List.ScrollBarThickness = 6

List.BackgroundColor3 = Color3.fromRGB(45,45,45)

List.BorderSizePixel = 0

List.Parent = Main



local UIList = Instance.new("UIListLayout", List)

UIList.Padding = UDim.new(0,4)



-- Code Box (fixed to wrap text)

local CodeBox = Instance.new("TextBox")

CodeBox.Position = UDim2.new(0,202,0,32)

CodeBox.Size = UDim2.new(1,-208,1,-94)

CodeBox.BackgroundColor3 = Color3.fromRGB(20,20,20)

CodeBox.TextColor3 = Color3.new(1,1,1)

CodeBox.Font = Enum.Font.Code

CodeBox.TextSize = 13

CodeBox.MultiLine = true

CodeBox.ClearTextOnFocus = false

CodeBox.TextXAlignment = Enum.TextXAlignment.Left

CodeBox.TextYAlignment = Enum.TextYAlignment.Top

CodeBox.TextWrapped = true -- <--- fixed wrapping

CodeBox.Text = "-- Select a remote from the list"

CodeBox.Parent = Main



-- Run Button

local RunBtn = Instance.new("TextButton")

RunBtn.Position = UDim2.new(0,202,1,-34)

RunBtn.Size = UDim2.new(1,-208,0,28)

RunBtn.Text = "RUN REMOTE"

RunBtn.Font = Enum.Font.SourceSansBold

RunBtn.TextSize = 14

RunBtn.BackgroundColor3 = Color3.fromRGB(70,120,70)

RunBtn.TextColor3 = Color3.new(1,1,1)

RunBtn.Parent = Main



-- COPY CODE Button

local CopyBtn = Instance.new("TextButton")

CopyBtn.Position = UDim2.new(0,202,1,-64)

CopyBtn.Size = UDim2.new(1,-208,0,28)

CopyBtn.Text = "COPY CODE"

Features & Information

my own remote spy lol and yes we update all da time Credits: 98ikidds, roblozplayers88_alt
#remote spy#op

Community Comments (3)

GundrieGundrieSep 2, 2026

wait what do remotespies do again

Replying to @Gundrie
Epic_ScriptsEpic_ScriptsSep 2, 2026

@Gundrie execute remotes for example on the script if you find a "cash" or "money" or other remotes you run the remote and sometimes it gives it to you depending how weak the security of the game is

WafflerWafflerSep 2, 2026

pretty cool

More Scripts for Universal Scripts