-- 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!")