Fire Remote v2
Key RequiredUniversal

Fire Remote v2

Universal ScriptA2000A2000 1.7K views 384 executesUpdated Dec 1, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•221 lines (7371 chars)
-- Remote Firer Classic + RemoteFunction Input Value (PERFECT)
-- Place in StarterPlayer > StarterPlayerScripts

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TweenService = game:GetService("TweenService")

local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

local screenGui = Instance.new("ScreenGui")
screenGui.Name = "RemoteFirer"
screenGui.ResetOnSpawn = false
screenGui.Parent = playerGui

-- Main window (classic size)
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 360, 0, 520)
mainFrame.Position = UDim2.new(0, 15, 0, 15)
mainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Parent = screenGui
Instance.new("UICorner", mainFrame).CornerRadius = UDim.new(0, 12)

-- Title
local titleBar = Instance.new("Frame")
titleBar.Size = UDim2.new(1, 0, 0, 50)
titleBar.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
titleBar.Parent = mainFrame
Instance.new("UICorner", titleBar).CornerRadius = UDim.new(0, 12)

local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 1, 0)
title.BackgroundTransparency = 1
title.Text = "Remote Firer + Value Input"
title.TextColor3 = Color3.new(1,1,1)
title.TextScaled = true
title.Font = Enum.Font.GothamBold
title.Parent = titleBar

-- Search
local searchBox = Instance.new("TextBox")
searchBox.Size = UDim2.new(1, -20, 0, 40)
searchBox.Position = UDim2.new(0, 10, 0, 60)
searchBox.BackgroundColor3 = Color3.fromRGB(50, 50, 55)
searchBox.PlaceholderText = "Search remotes..."
searchBox.Text = ""
searchBox.TextColor3 = Color3.new(1,1,1)
searchBox.Font = Enum.Font.Gotham
searchBox.TextScaled = true
searchBox.Parent = mainFrame
Instance.new("UICorner", searchBox).CornerRadius = UDim.new(0, 8)

-- List
local scrollingFrame = Instance.new("ScrollingFrame")
scrollingFrame.Size = UDim2.new(1, -20, 1, -120)
scrollingFrame.Position = UDim2.new(0, 10, 0, 110)
scrollingFrame.BackgroundTransparency = 1
scrollingFrame.ScrollBarThickness = 8
scrollingFrame.Parent = mainFrame

local layout = Instance.new("UIListLayout")
layout.Padding = UDim.new(0, 8)
layout.SortOrder = Enum.SortOrder.Name
layout.Parent = scrollingFrame

-- === INPUT POPUP FOR REMOTEFUNCTION ===
local inputFrame = Instance.new("Frame")
inputFrame.Size = UDim2.new(0, 300, 0, 160)
inputFrame.Position = UDim2.new(0.5, -150, 0.5, -80)
inputFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 40)
inputFrame.Visible = false
inputFrame.Parent = screenGui
Instance.new("UICorner", inputFrame).CornerRadius = UDim.new(0, 12)

local inputTitle = Instance.new("TextLabel")
inputTitle.Size = UDim2.new(1, 0, 0, 40)
inputTitle.BackgroundColor3 = Color3.fromRGB(50, 50, 55)
inputTitle.Text = "Enter Value"
inputTitle.TextColor3 = Color3.new(1,1,1)
inputTitle.TextScaled = true
inputTitle.Font = Enum.Font.GothamBold
inputTitle.Parent = inputFrame
Instance.new("UICorner", inputTitle).CornerRadius = UDim.new(0, 12)

local valueBox = Instance.new("TextBox")
valueBox.Size = UDim2.new(1, -20, 0, 50)
valueBox.Position = UDim2.new(0, 10, 0, 50)
valueBox.BackgroundColor3 = Color3.fromRGB(55, 55, 60)
valueBox.PlaceholderText = "e.g. -9999999999999999"
valueBox.Text = "-9999999999999999"  -- default huge negative
valueBox.TextColor3 = Color3.new(1,1,1)
valueBox.TextScaled = true
valueBox.Font = Enum.Font.Gotham
valueBox.Parent = inputFrame
Instance.new("UICorner", valueBox).CornerRadius = UDim.new(0, 8)

local invokeBtn = Instance.new("TextButton")
invokeBtn.Size = UDim2.new(0.5, -15, 0, 40)
invokeBtn.Position = UDim2.new(0.5, 5, 1, -50)
invokeBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 255)
invokeBtn.Text = "Invoke"
invokeBtn.TextColor3 = Color3.new(1,1,1)
invokeBtn.TextScaled = true
invokeBtn.Font = Enum.Font.GothamBold
invokeBtn.Parent = inputFrame
Instance.new("UICorner", invokeBtn).CornerRadius = UDim.new(0, 8)

local cancelBtn = Instance.new("TextButton")
cancelBtn.Size = UDim2.new(0.5, -15, 0, 40)
cancelBtn.Position = UDim2.new(0, 10, 1, -50)
cancelBtn.BackgroundColor3 = Color3.fromRGB(100, 100, 100)
cancelBtn.Text = "Cancel"
cancelBtn.TextColor3 = Color3.new(1,1,1)
cancelBtn.TextScaled = true
cancelBtn.Parent = inputFrame
Instance.new("UICorner", cancelBtn).CornerRadius = UDim.new(0, 8)

-- === LOGIC ===
local currentRemote = nil
local lastValue = "-9999999999999999"  -- saved last input

local smartArgs = {
    AddPoints = {999999}, AddMoney = {9999999}, GiveCash = {999999},
    GlobalAnnouncement = {"Firer"}, CanAffordGems = {-9999999999999999},
}

local allRemotes = {}
local buttons = {}
local MAX_REMOTES = 250

local function createButton(remote)
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(1, 0, 0, 44)
    btn.BackgroundColor3 = Color3.fromRGB(55, 55, 65)
    btn.TextColor3 = Color3.new(1,1,1)
    btn.Font = Enum.Font.Gotham
    btn.TextScaled = true
    btn.TextXAlignment = Enum.TextXAlignment.Left
    btn.Text = "  " .. remote.Name .. "  (" .. remote.ClassName:match("Remote%w+") .. ")"

    Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8)

    btn.MouseButton1Click:Connect(function()
        if remote:IsA("RemoteEvent") then
            local args = smartArgs[remote.Name] or {"Firer", 1337}
            task.spawn(function()
                pcall(function() remote:FireServer(unpack(args)) end)
            end)
        else -- RemoteFunction
            currentRemote = remote
            valueBox.Text = lastValue
            inputFrame.Visible = true
        end
    end)

    btn.Parent = scrollingFrame
    table.insert(buttons, btn)
end

invokeBtn.MouseButton1Click:Connect(function()
    if currentRemote then
        local value = tonumber(valueBox.Text) or 0
        lastValue = valueBox.Text  -- save for next time
        task.spawn(function()
            pcall(function()
                currentRemote:InvokeServer(value)
            end)
        end)
        inputFrame.Visible = false
    end
end)

cancelBtn.MouseButton1Click:Connect(function()
    inputFrame.Visible = false
end)

-- Refresh remotes
local function refresh()
    for _, b in buttons do b:Destroy() end
    buttons = {}; allRemotes = {}

    for _, obj in ReplicatedStorage:GetDescendants() do
        if #allRemotes >= MAX_REMOTES then break end
        if obj:IsA("RemoteEvent") or obj:IsA("RemoteFunction") then
            table.insert(allRemotes, obj)
        end
    end

    table.sort(allRemotes, function(a,b) return a.Name:lower() < b.Name:lower() end)

    for _, remote in allRemotes do
        createButton(remote)
    end

    scrollingFrame.CanvasSize = UDim2.new(0, 0, 0, layout.AbsoluteContentSize.Y + 10)
end

-- Search
local searching = false
searchBox:GetPropertyChangedSignal("Text"):Connect(function()
    if searching then return end
    searching = true
    task.wait(0.1)
    local query = searchBox.Text:lower()
    for i, btn in ipairs(buttons) do
        local remote = allRemotes[i]
        if remote then
            btn.Visible = (query == "" or remote.Name:lower():find(query, 1, true))
        end
    end
    searching = false
end)

layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
    scrollingFrame.CanvasSize = UDim2.new(0, 0, 0, layout.AbsoluteContentSize.Y + 10)
end)

refresh()
print("Remote Firer with Value Input loaded – perfect for CanAffordGems etc!")

Features & Information

Fire Remote 250 MAX REMOTE

Community Comments (5)

ShamzyShamzyDec 2, 2025

ai

Mano_GustavoMano_GustavoDec 2, 2025

Work

kingsleybaliog222kingsleybaliog222May 19, 2026

Nah wait who is that hm thats look like my script

Replying to @kingsleybaliog222
A2000A2000May 21, 2026

@kingsleybaliog222 Yours is 2 months old, mine is 6 months old.

kingsleybaliog222kingsleybaliog222May 19, 2026(edited)

But its been long one but upgrade your script its ok to copy my script in my profile

More Scripts for Universal Scripts