remote spy script roblox --[[ SimpleSpy v0.8 SOURCE Credits: Not By Me You can make script FE with it ]] ---- GENERATED BY GUI to LUA ---- local Players = game:GetService("Players") local CoreGui = game:GetService("CoreGui") remote spy script roblox PasteShr remote spy script roblox local ScreenGui = Instance.new("ScreenGui") local main = Instance.new("Frame") local topbar = Instance.new("Frame") local minimize = Instance.new("TextButton") local titleLabel = Instance.new("TextLabel") local remotes = Instance.new("ScrollingFrame") local UIListLayout = Instance.new("UIListLayout") local eTemplate = Instance.new("TextButton") local icon = Instance.new("ImageLabel") local name = Instance.new("TextLabel") remote spy script roblox How to dowload it? remote spy script roblox local fTemplate = Instance.new("TextButton") local icon_2 = Instance.new("ImageLabel") local name_2 = Instance.new("TextLabel") local properties = Instance.new("Frame") local codeframe = Instance.new("ScrollingFrame") codebox = Instance.new("TextBox") local propertyframe = Instance.new("ScrollingFrame") local UIListLayout_2 = Instance.new("UIListLayout") local property = Instance.new("Frame") local name_3 = Instance.new("TextLabel") remote spy script roblox How to use it? remote spy script roblox local property_2 = Instance.new("TextButton") local methodToggle = Instance.new("TextButton") --Properties: ScreenGui.ResetOnSpawn = false ScreenGui.DisplayOrder = 999999999 ScreenGui.Parent = Players.LocalPlayer:WaitForChild("PlayerGui") ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling remote spy script roblox How to use it? remote spy script roblox main.Name = "main" main.Parent = ScreenGui main.BackgroundColor3 = Color3.new(0.219608, 0.219608, 0.219608) main.BorderSizePixel = 0 main.Position = UDim2.new(0, 100, 0, 100) main.Size = UDim2.new(0.5, 0, 0.5, 0) topbar.Name = "topbar" topbar.Parent = main topbar.BorderSizePixel = 0 remote spy script roblox How to get it for free? remote spy script roblox topbar.BackgroundColor3 = Color3.new(0.121569, 0.121569, 0.121569) topbar.Size = UDim2.new(1, 0, 0, 18) minimize.Name = "minimize" minimize.Parent = topbar minimize.BackgroundColor3 = Color3.new(0, 0.105882, 0.792157) minimize.BorderSizePixel = 0 minimize.Position = UDim2.new(0, 0, 0, 0) minimize.Size = UDim2.new(0, 18, 0, 18) minimize.Font = Enum.Font.SourceSans remote spy script roblox How to get it? remote spy script roblox minimize.Text = "" minimize.TextColor3 = Color3.new(0, 0, 0) minimize.TextSize = 14 titleLabel.Parent = topbar titleLabel.BackgroundColor3 = Color3.new(1, 1, 1) titleLabel.BackgroundTransparency = 1 titleLabel.BorderSizePixel = 0 titleLabel.Position = UDim2.new(0.25, 0, 0, 0) titleLabel.Size = UDim2.new(0.5, 0, 1, 0) remote spy script roblox How to get it for free? remote spy script roblox titleLabel.Font = Enum.Font.SourceSansBold titleLabel.Text = "SimpleSpy v0.8 | exxtremewa#9394" titleLabel.TextColor3 = Color3.new(0.905882, 0.905882, 0.905882) titleLabel.TextSize = 14 remotes.Name = "remotes" remotes.Parent = main remotes.BackgroundColor3 = Color3.new(1, 1, 1) remotes.BackgroundTransparency = 1 remotes.BorderSizePixel = 0 remote spy script roblox How to get it? remote spy script roblox remotes.Position = UDim2.new(0, 0, 0, 18) remotes.Size = UDim2.new(0.5, 0, 1, -18) remotes.BottomImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" remotes.ScrollBarThickness = 10 remotes.TopImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" UIListLayout.Parent = remotes UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder eTemplate.Name = "eTemplate" remote spy script roblox How to use it? remote spy script roblox eTemplate.Text = "" eTemplate.Parent = remotes eTemplate.BackgroundColor3 = Color3.new(0.219608, 0.219608, 0.219608) eTemplate.BorderColor3 = Color3.new(0.8, 0.8, 0.8) eTemplate.BorderSizePixel = 1 eTemplate.Size = UDim2.new(1, -10, 0, 20) eTemplate.BorderMode = Enum.BorderMode.Inset icon.Name = "icon" icon.Parent = eTemplate remote spy script roblox PasteShr remote spy script roblox icon.BackgroundColor3 = Color3.new(1, 1, 1) icon.BackgroundTransparency = 1 icon.BorderSizePixel = 0 icon.Size = UDim2.new(0, 18, 0, 18) icon.Position = UDim2.new(0, 2, 0, 2) icon.Image = "http://www.roblox.com/asset/?id=4640035463" icon.ScaleType = Enum.ScaleType.Fit name.Name = "name" name.Parent = eTemplate remote spy script roblox PasteShr remote spy script roblox name.BackgroundColor3 = Color3.new(1, 1, 1) name.BackgroundTransparency = 1 name.Position = UDim2.new(0, 25, 0, 0) name.Size = UDim2.new(1, -25, 1, 0) name.Font = Enum.Font.SourceSansBold name.Text = "RemoteEventName" name.TextColor3 = Color3.new(0.976471, 0.921569, 0.121569) name.TextSize = 14 name.TextXAlignment = Enum.TextXAlignment.Left remote spy script roblox How to use it? remote spy script roblox fTemplate.Name = "fTemplate" fTemplate.Text = "" fTemplate.Parent = remotes fTemplate.BackgroundColor3 = Color3.new(0.219608, 0.219608, 0.219608) fTemplate.BorderColor3 = Color3.new(0.8, 0.8, 0.8) fTemplate.BorderSizePixel = 1 fTemplate.Size = UDim2.new(1, -10, 0, 20) fTemplate.BorderMode = Enum.BorderMode.Inset icon_2.Name = "icon" remote spy script roblox How to get it for free? remote spy script roblox icon_2.Parent = fTemplate icon_2.BackgroundColor3 = Color3.new(1, 1, 1) icon_2.BackgroundTransparency = 1 icon_2.BorderSizePixel = 0 icon_2.Size = UDim2.new(0, 18, 0, 18) icon_2.Position = UDim2.new(0, 2, 0, 2) icon_2.Image = "http://www.roblox.com/asset/?id=4640035282" icon_2.ScaleType = Enum.ScaleType.Fit name_2.Name = "name" remote spy script roblox How to dowload it? remote spy script roblox name_2.Parent = fTemplate name_2.BackgroundColor3 = Color3.new(1, 1, 1) name_2.BackgroundTransparency = 1 name_2.Position = UDim2.new(0, 25, 0, 0) name_2.Size = UDim2.new(1, -25, 1, 0) name_2.Font = Enum.Font.SourceSansBold name_2.Text = "RemoteFunctionName" name_2.TextColor3 = Color3.new(0.666667, 0.12549, 1) name_2.TextSize = 14 name_2.TextXAlignment = Enum.TextXAlignment.Left remote spy script roblox How to get it? remote spy script roblox properties.Name = "properties" properties.Parent = main properties.BackgroundColor3 = Color3.new(1, 1, 1) properties.BackgroundTransparency = 1 properties.Position = UDim2.new(0.5, 0, 0, 18) properties.Size = UDim2.new(0.5, 0, 1, -18) codeframe.Name = "codeframe" codeframe.Parent = properties remote spy script roblox How to use it? remote spy script roblox codeframe.BackgroundColor3 = Color3.new(1, 1, 1) codeframe.BackgroundTransparency = 1 codeframe.Size = UDim2.new(1, 0, 0.5, 0) codeframe.BottomImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" codeframe.ScrollBarThickness = 10 codeframe.TopImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" codebox.Name = "codebox" codebox.Parent = codeframe codebox.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) remote spy script roblox How to get it? remote spy script roblox codebox.BorderSizePixel = 0 codebox.Selectable = true codebox.Size = UDim2.new(1, -10, 1, 0) codebox.Font = Enum.Font.SourceSansSemibold codebox.Text = "{\\n [1] = true\\n}" codebox.TextColor3 = Color3.new(0.827451, 0.827451, 0.827451) codebox.TextSize = 14 codebox.TextXAlignment = Enum.TextXAlignment.Left codebox.TextYAlignment = Enum.TextYAlignment.Top codebox.ClearTextOnFocus = false remote spy script roblox How to dowload it? remote spy script roblox propertyframe.Name = "propertyframe" propertyframe.Parent = properties propertyframe.BackgroundColor3 = Color3.new(0.141176, 0.141176, 0.141176) propertyframe.BorderSizePixel = 0 propertyframe.Position = UDim2.new(0, 0, 0.5, 0) propertyframe.Size = UDim2.new(1, 0, 0.5, 0) propertyframe.BottomImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" propertyframe.ScrollBarThickness = 10 propertyframe.TopImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" remote spy script roblox PasteShr remote spy script roblox UIListLayout_2.Parent = propertyframe UIListLayout_2.SortOrder = Enum.SortOrder.LayoutOrder property.Name = "property" property.Parent = propertyframe property.BackgroundColor3 = Color3.new(0.164706, 0.164706, 0.164706) property.BorderColor3 = Color3.new(0.415686, 0.415686, 0.415686) property.BorderSizePixel = 0 property.Size = UDim2.new(1, -10, 0, 15) remote spy script roblox How to get it for free? remote spy script roblox name_3.Name = "name" name_3.Parent = property name_3.BackgroundColor3 = Color3.new(0.164706, 0.164706, 0.164706) name_3.BorderColor3 = Color3.new(0.478431, 0.478431, 0.478431) name_3.Size = UDim2.new(0.400000006, 0, 1, 0) name_3.Font = Enum.Font.SourceSans name_3.Text = "Name" name_3.TextColor3 = Color3.new(0.909804, 0.909804, 0.909804) name_3.TextSize = 14 remote spy script roblox PasteShr remote spy script roblox name_3.TextXAlignment = Enum.TextXAlignment.Left property_2.Name = "property" property_2.Parent = property property_2.BackgroundColor3 = Color3.new(0.0941177, 0.0941177, 0.0941177) property_2.BorderColor3 = Color3.new(0.478431, 0.478431, 0.478431) property_2.Position = UDim2.new(0.300000012, 0, 0, 0) property_2.Size = UDim2.new(0.699999988, 0, 1, 0) property_2.Font = Enum.Font.SourceSans property_2.Text = "Function" remote spy script roblox How to use it? remote spy script roblox property_2.TextColor3 = Color3.new(0.909804, 0.909804, 0.909804) property_2.TextSize = 14 property_2.TextXAlignment = Enum.TextXAlignment.Left methodToggle.Name = "MethodToggle" methodToggle.Parent = topbar methodToggle.BackgroundColor3 = Color3.new(0.7450980392156863, 0.7450980392156863, 0.7450980392156863) methodToggle.BorderSizePixel = 0 methodToggle.Position = UDim2.new(1, -80, 0, 0) methodToggle.Size = UDim2.new(0, 80, 1, 0) remote spy script roblox How to use it? remote spy script roblox methodToggle.TextScaled = true methodToggle.Font = Enum.Font.SourceSans ------------------------------------------------------------------------------- -- init local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local ContentProvider = game:GetService("ContentProvider") remote spy script roblox How to get it for free? remote spy script roblox --- UDim2 size of `main` while minimized local minSize = UDim2.new(0, 100, 0, 15) --- UDim2 size of `main` while expanded local mainSize = main.Size local selectedColor = Color3.new(0.321569, 0.333333, 1) local deselectedColor = Color3.new(0.8, 0.8, 0.8) --- So things are descending local layoutOrderNum = 999999999 --- Whether or not the gui is closed (defaults to false) closed = false remote spy script roblox PasteShr remote spy script roblox --- The event logs to be read from logs = {} --- The event currently selected.Log (defaults to nil) selected = nil --- The blacklist (can be a string name or the Remote Instance) blacklist = {} --- The block list (can be a string name or the Remote Instance) blocklist = {} --- Whether or not to add getNil function local getNil = false remote spy script roblox How to use it? remote spy script roblox --- Array of remotes (and original functions) connected to local connectedRemotes = {} --- True = hookfunction, false = namecall local toggle = false local gm = getrawmetatable(game) local original = gm.__namecall setreadonly(gm, false) --- This event is the main handler for remotes local remoteHandlerEvent = Instance.new("BindableEvent") remote spy script roblox PasteShr remote spy script roblox -- functions --- Toggles the remote spy method (when button clicked) function onToggleButtonClick() if toggle then methodToggle.Text = "Disabled" else methodToggle.Text = "Enabled" end toggleSpyMethod() remote spy script roblox How to use it? remote spy script roblox end --- Drags gui (so long as mouse is held down) function onBarInput(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then local lastPos = UserInputService:GetMouseLocation() RunService:BindToRenderStep( "drag", 1, function() remote spy script roblox How to get it for free? remote spy script roblox local newPos = UserInputService:GetMouseLocation() if newPos ~= lastPos then main.Position = UDim2.new( 0, main.Position.X.Offset + (newPos - lastPos).X, 0, main.Position.Y.Offset + (newPos - lastPos).Y ) lastPos = newPos remote spy script roblox PasteShr remote spy script roblox end end ) topbar.InputEnded:Connect( function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then RunService:UnbindFromRenderStep("drag") end end ) remote spy script roblox How to get it for free? remote spy script roblox end end --- Expands and minimizes the gui (closed is the toggle boolean) function toggleMinimize() if not closed then closed = not closed remotes.Visible = false properties.Visible = false titleLabel.Visible = false remote spy script roblox How to use it? remote spy script roblox methodToggle.Visible = false TweenService:Create(main, TweenInfo.new(0.5), {Size = minSize}):Play() else closed = not closed TweenService:Create(main, TweenInfo.new(0.5), {Size = mainSize}):Play() wait(0.5) methodToggle.Visible = true remotes.Visible = true properties.Visible = true titleLabel.Visible = true remote spy script roblox How to get it? remote spy script roblox end end --- Checks if the given Remote is blacklisted; returns true if blacklisted, false if not function blacklisted(remote) if #blacklist > 0 then for _, v in pairs(blacklist) do if type(v) == "string" and v == remote.Name then return true elseif typeof(v) == "Instance" and v == remote then remote spy script roblox How to get it? remote spy script roblox return true end end end return false end --- Checks if the given Remote is blocked; returns true if blacklisted, false if not function blocked(remote) if #blocklist > 0 then remote spy script roblox PasteShr remote spy script roblox for _, v in pairs(blocklist) do if type(v) == "string" and v == remote.Name then return true elseif typeof(v) == "Instance" and v == remote then return true end end end return false end remote spy script roblox How to use it? remote spy script roblox --- Runs on MouseButton1Click of an event frame function eventSelect(frame) if --[[input.UserInputType == Enum.UserInputType.MouseButton1 and]] (not selected or selected.Log ~= frame) then if selected then TweenService:Create(selected.Log, TweenInfo.new(0.5), {BorderColor3 = deselectedColor, BorderSizePixel = 1}):Play( ) selected = nil end remote spy script roblox How to use it? remote spy script roblox for _, v in pairs(logs) do if frame == v.Log then selected = v end end if selected then TweenService:Create(selected.Log, TweenInfo.new(0.5), {BorderColor3 = selectedColor, BorderSizePixel = 2}):Play( ) codebox.Text = selected.GenScript remote spy script roblox PasteShr remote spy script roblox end end end --- Creates new function button (below codebox) function newButton(name, defaultName, onClick) local button = property:Clone() button.name.Text = name button.property.Text = defaultName button.property.MouseButton1Click:Connect( remote spy script roblox How to use it? remote spy script roblox function(...) if selected then onClick(button.property, ...) end end ) button.Parent = propertyframe end --- Adds new RemoteEvent to logs remote spy script roblox PasteShr remote spy script roblox function newEvent(name, gen_script, remote, source_script, blocked, upvalues, constants, num) local remoteFrame = eTemplate:Clone() remoteFrame.name.Text = name local id = Instance.new("IntValue") id.Name = "ID" id.Value = #logs + 1 id.Parent = remoteFrame logs[#logs + 1] = { Name = name, GenScript = gen_script, remote spy script roblox How to use it? remote spy script roblox Source = source_script, Remote = remote, Log = remoteFrame, Upvalues = upvalues, Constants = constants, Blocked = blocked, FunNum = num } if blocked then logs[#logs].GenScript = "-- THIS REMOTE WAS PREVENTED FROM FIRING THE SERVER BY SIMPLESPY\n\n" .. logs[#logs].GenScript remote spy script roblox How to use it? remote spy script roblox end remoteFrame.MouseButton1Click:Connect( function(...) eventSelect(remoteFrame, ...) end ) if layoutOrderNum < 1 then layoutOrderNum = 999999999 end remoteFrame.LayoutOrder = layoutOrderNum remote spy script roblox How to get it for free? remote spy script roblox layoutOrderNum = layoutOrderNum - 1 remoteFrame.Parent = remotes end --- Adds new RemoteFunction to logs function newFunction(name, gen_script, remote, source_script, blocked, upvalues, constants, num) local remoteFrame = fTemplate:Clone() remoteFrame.name.Text = name local id = Instance.new("IntValue") id.Name = "ID" remote spy script roblox How to use it? remote spy script roblox id.Value = #logs + 1 id.Parent = remoteFrame logs[#logs + 1] = { Name = name, GenScript = gen_script, Source = source_script, Remote = remote, Log = remoteFrame, Upvalues = upvalues, Constants = constants, remote spy script roblox How to dowload it? remote spy script roblox Blocked = blocked, FunNum = num } if blocked then logs[#logs].GenScript = "-- THIS REMOTE WAS PREVENTED FROM FIRING THE SERVER BY SIMPLESPY\n\n" .. logs[#logs].GenScript end remoteFrame.MouseButton1Click:Connect( function(...) eventSelect(remoteFrame, ...) end remote spy script roblox How to dowload it? remote spy script roblox ) if layoutOrderNum < 1 then layoutOrderNum = 999999999 end remoteFrame.LayoutOrder = layoutOrderNum layoutOrderNum = layoutOrderNum - 1 remoteFrame.Parent = remotes end --- Generates a script from the provided arguments (first has to be remote path) remote spy script roblox How to dowload it? remote spy script roblox function genScript(remote, ...) local gen = "" local args = {...} if #args > 0 then if not pcall( function() gen = gen .. "local args = " .. tableToString(args) .. "\n\n" end ) remote spy script roblox How to use it? remote spy script roblox then gen = gen .. "-- TableToString failure! Reverting to legacy functionality (results may vary)\nlocal args = {" if not pcall( function() for i, v in pairs(args) do if type(i) ~= "Instance" and type(i) ~= "userdata" then gen = gen .. "\n [" .. tostring(i) .. "] = " elseif type(i) == "string" then remote spy script roblox How to get it for free? remote spy script roblox gen = gen .. '\n ["' .. tostring(i) .. '"] = ' elseif type(i) == "userdata" and typeof(i) ~= "Instance" then gen = gen .. "\n [" .. typeof(i) .. ".new(" .. tostring(i) .. ")] = " elseif type(i) == "userdata" then gen = gen .. "\n [game." .. i:GetFullName() .. ")] = " end if type(v) ~= "Instance" and type(v) ~= "userdata" then gen = gen .. tostring(v) elseif type(v) == "string" then gen = gen .. '"' .. tostring(v) .. '"' remote spy script roblox How to use it? remote spy script roblox elseif type(v) == "userdata" and typeof(v) ~= "Instance" then gen = gen .. typeof(v) .. ".new(" .. tostring(v) .. ")" elseif type(v) == "userdata" then gen = gen .. "game." .. v:GetFullName() end end gen = gen .. "\n}\n\n" end ) then remote spy script roblox How to get it for free? remote spy script roblox gen = gen .. "}\n-- Legacy tableToString failure! Unable to decompile." end end if remote:IsA("RemoteEvent") then gen = gen .. typeToString(remote) .. ":FireServer(unpack(args))" elseif remote:IsA("RemoteFunction") then gen = gen .. typeToString(remote) .. ":InvokeServer(unpack(args))" end else if remote:IsA("RemoteEvent") then remote spy script roblox How to use it? remote spy script roblox gen = gen .. typeToString(remote) .. ":FireServer()" elseif remote:IsA("RemoteFunction") then gen = gen .. typeToString(remote) .. ":InvokeServer()" end end if getNil then gen = "function getNil(name,class) for _,v in pairs(getnilinstances())do if v.ClassName==class and v.Name==name then return v;end end end\n\n" .. gen getNil = false remote spy script roblox How to dowload it? remote spy script roblox end gen = "-- Script generated by SimpleSpy - credits to exxtremewa#9394\n-- This generator is IN DEVELOPMENT, not compatible with all types/classes yet\n\n" .. gen return gen end --- Generates spaces based on the provided level function space(level) local out = "" remote spy script roblox How to get it? remote spy script roblox for i = 1, level do out = out .. " " end return out end --- Adds \'s to the text as a replacement to whitespace chars and other things function getSpecials(s, nested) if not nested then s = s:gsub("\\", "\\\\") remote spy script roblox How to get it for free? remote spy script roblox end if s:match("\n") then local pos, pos2 = s:find("\n") s = s:sub(0, pos - 1) .. "\\n" .. s:sub(pos2 + 1, s:len()) return getSpecials(s, true) elseif s:match("\t") then local pos, pos2 = s:find("\t") s = s:sub(0, pos - 1) .. "\\t" .. s:sub(pos2 + 1, s:len()) return getSpecials(s, true) elseif s:match("\t") then remote spy script roblox PasteShr remote spy script roblox local pos, pos2 = s:find("\t") s = s:sub(0, pos - 1) .. "\\t" .. s:sub(pos2 + 1, s:len()) return getSpecials(s, true) elseif s:match("\"") and (s:sub(s:find("\"") - 1, s:find("\"") - 1) ~= "\\") then local pos, pos2 = s:find("\"") s = s:sub(0, pos - 1) .. "\\\"" .. s:sub(pos2 + 1, s:len()) return getSpecials(s, true) elseif s:match("'") and (s:sub(s:find("'") - 1, s:find("'") - 1) ~= "\\") then local pos, pos2 = s:find("'") s = s:sub(0, pos - 1) .. "\\'" .. s:sub(pos2 + 1, s:len()) remote spy script roblox How to get it for free? remote spy script roblox return getSpecials(s, true) else return s end end --- Converts a var to a string (including userdata) function typeToString(var, level) if not level then level = 4 remote spy script roblox How to use it? remote spy script roblox end local out = "" if type(var) ~= "userdata" and type(var) ~= "table" and type(var) ~= "string" then -- Number, booleans out = out .. tostring(var) elseif type(var) == "string" then -- Strings out = out .. '"' .. getSpecials(var) .. '"' elseif type(var) == "table" then -- Tables remote spy script roblox PasteShr remote spy script roblox out = out .. tableToString(var, level) elseif typeof(var) == "TweenInfo" then -- TweenInfo out = out .. "TweenInfo.new(" .. tostring(var.Time) .. ", Enum.EasingStyle." .. tostring(var.EasingStyle) .. ", Enum.EasingDirection." .. remote spy script roblox How to use it? remote spy script roblox tostring(var.EasingDirection) .. ", " .. tostring(var.RepeatCount) .. ", " .. tostring(var.Reverses) .. ", " .. tostring(var.DelayTime) .. ")" elseif typeof(var) == "Ray" then -- Ray out = out .. "Ray.new(Vector3.new(" .. tostring(var.Origin) .. "), Vector3.new(" .. tostring(var.Direction) .. "))" elseif typeof(var) == "NumberSequence" then remote spy script roblox How to use it? remote spy script roblox -- NumberSequence out = out .. "NumberSequence.new(" for i, v in pairs(var.KeyPoints) do out = out .. tostring(v) if i < #var.Keypoints then out = out .. ", " end end out = out .. ")" elseif typeof(var) == "DockWidgetPluginGuiInfo" then remote spy script roblox How to use it? remote spy script roblox -- DockWidgetPluginGuiInfo out = out .. "DockWidgetPluginGuiInfo.new(Enum.InitialDockState" .. tostring(var) .. ")" elseif typeof(var) == "ColorSequence" then -- ColorSequence out = out .. "ColorSequence.new(" for i, v in pairs(var.KeyPoints) do out = out .. "Color3.new(" .. tostring(v) .. ")" if i < #var.Keypoints then out = out .. ", " end remote spy script roblox How to dowload it? remote spy script roblox end out = out .. ")" elseif typeof(var) == "BrickColor" then -- BrickColor out = out .. "BrickColor.new(" .. tostring(var.Number) .. ")" elseif typeof(var) == "NumberRange" then -- NumberRange out = out .. "NumberRange.new(" .. tostring(var.Min) .. ", " .. tostring(var.Max) .. ")" elseif typeof(var) == "Region3" then -- Region3 remote spy script roblox How to get it? remote spy script roblox local center = var.CFrame.Position local size = var.CFrame.Size local vector1 = center - size / 2 local vector2 = center + size / 2 out = out .. "Region3.new(Vector3.new(" .. tostring(vector1) .. "), Vector3.new(" .. tostring(vector2) .. ")" elseif type(var) == "userdata" and typeof(var) ~= "Instance" then -- Default userdata (no instances) local dataName = typeof(var) local args = tostring(var) for i = 1, args:len() do remote spy script roblox How to dowload it? remote spy script roblox if args:sub(i, i) == "}" or args:sub(i, i) == "{" then if i > 1 and i < args:len() then args = args:sub(1, i - 1) .. " " .. args:sub(i + 1, args:len()) elseif i == 1 then args = " " .. args:sub(i + 1, args:len()) elseif i == args:len() then args = args:sub(1, i - 1) .. " " end end end remote spy script roblox How to get it for free? remote spy script roblox out = out .. dataName .. ".new(" .. args .. ")" elseif type(var) == "userdata" and typeof(var) == "Instance" then -- Instances local parent = var if parent == nil then out = "nil" elseif parent ~= game then while true do if parent and parent.Parent == game then if game:GetService(parent.ClassName) then remote spy script roblox How to get it? remote spy script roblox if parent.ClassName == "Workspace" then out = "workspace" .. out else out = 'game:GetService("' .. parent.ClassName .. '")' .. out end break else out = 'game["' .. getSpecials(parent.Name) .. '"]' break end remote spy script roblox How to get it for free? remote spy script roblox elseif parent.Parent == nil then getNil = true out = 'getNil("' .. getSpecials(parent.Name) .. '", "' .. parent.ClassName .. '")' break else if parent.Name:match("%a+") ~= parent.Name then out = '["' .. getSpecials(parent.Name) .. '"]' .. out else out = "." .. parent.Name .. out end remote spy script roblox How to get it? remote spy script roblox end parent = parent.Parent end else out = "game" end -- legacy method -- out = out .. "game." .. var:GetFullName() .. "," end return out remote spy script roblox PasteShr remote spy script roblox end --- Converts a table to a string (includes nested tables) function tableToString(t, level) if type(level) ~= "number" then level = 4 else level = level + 4 end local out = "" remote spy script roblox How to get it? remote spy script roblox for i, v in pairs(t) do out = out .. "\n" .. space(level) .. "[" .. typeToString(i, level) .. "] = " .. typeToString(v, level) .. "," end out = "{" .. out .. "\n" .. space(level - 4) .. "}" return out end --- Toggles on and off the Hookfunction remote spy method (DISABLED- will not run) function toggleHook() if toggle then remote spy script roblox How to dowload it? remote spy script roblox -- local function connect(remote) -- spawn( -- function() -- if remote:IsA("RemoteEvent") then -- local old -- old = -- hookfunction( -- remote.FireServer, -- function(...) -- newEvent(remote.Name, genScript(remote, ...), remote, rawget(getfenv(2), "script")) remote spy script roblox How to get it? remote spy script roblox -- return old(...) -- end -- ) -- table.insert(connectedRemotes, {remote, old}) -- elseif remote:IsA("RemoteFunction") then -- local old -- old = -- hookfunction( -- remote.InvokeServer, -- function(...) remote spy script roblox PasteShr remote spy script roblox -- newEvent(remote.Name, genScript(remote, ...), remote, rawget(getfenv(2), "script")) -- return old(...) -- end -- ) -- table.insert(connectedRemotes, {remote, old}) -- end -- end -- ) -- end -- game.ChildAdded:Connect( remote spy script roblox How to get it for free? remote spy script roblox -- function(c) -- pcall( -- function() -- if c:IsA("RemoteEvent") and c:IsA("RemoteFunction") then -- connect(c) -- end -- end -- ) -- end -- ) remote spy script roblox How to get it for free? remote spy script roblox -- spawn( -- function() -- for _, v in pairs(game:GetDescendants()) do -- if toggle then -- pcall( -- function() -- if v:IsA("RemoteEvent") or v:IsA("RemoteFunction") then -- connect(v) -- end -- end remote spy script roblox How to get it for free? remote spy script roblox -- ) -- wait() -- end -- end -- end -- ) else -- for _, v in pairs(connectedRemotes) do -- if v[1] and v[2] then -- if v[1]:IsA("RemoteEvent") then remote spy script roblox How to get it? remote spy script roblox -- hookfunction(v[1].FireServer, v[2]) -- elseif v[1]:IsA("RemoteFunction") then -- hookfunction(v[1].InvokeServer, v[2]) -- end -- end -- end -- connectedRemotes = {} end end remote spy script roblox PasteShr remote spy script roblox --- Toggles on and off the namecall remote spy method function toggleNamecall() if not toggle then gm.__namecall = function(...) local args = {...} local remote = args[1] local methodName = getnamecallmethod() if methodName == "FireServer" and not blacklisted(remote) then table.remove(args, 1) local script = rawget(getfenv(2), "script") remote spy script roblox How to use it? remote spy script roblox local func = debug.getinfo(2).func spawn( function() local funNum for i, v in pairs(getgc()) do if v == func then funNum = i break end end remote spy script roblox How to get it for free? remote spy script roblox remoteHandlerEvent:Fire("RemoteEvent", remote.Name, genScript(remote, unpack(args)), remote, script, blocked(remote), tableToString(debug.getupvalues(func)), tableToString(debug.getconstants(func)), funNum) end ) elseif methodName == "InvokeServer" and not blacklisted(remote) then table.remove(args, 1) local script = rawget(getfenv(2), "script") local func = debug.getinfo(2).func spawn( function() local funNum remote spy script roblox How to dowload it? remote spy script roblox for i, v in pairs(getgc()) do if v == func then funNum = i break end end remoteHandlerEvent:Fire("RemoteFunction", remote.Name, genScript(remote, unpack(args)), remote, script, blocked(remote), tableToString(debug.getupvalues(func)), tableToString(debug.getconstants(func)), funNum) end ) end remote spy script roblox PasteShr remote spy script roblox if (methodName == "InvokeServer" or methodName == "FireServer") and blocked(remote) then return nil else return original(...) end end else gm.__namecall = original end end remote spy script roblox How to get it for free? remote spy script roblox --- Toggles between the two remotespy methods (hookfunction currently = disabled) function toggleSpyMethod() toggleHook() toggleNamecall() toggle = not toggle end --- Handles the button creation things... Connected to `remoteHandlerEvent` function bindableHandler(type, ...) remote spy script roblox PasteShr remote spy script roblox if type == "RemoteEvent" then newEvent(...) elseif type == "RemoteFunction" then newFunction(...) end end -- main if not _G.SimpleSpyExecuted then ContentProvider:PreloadAsync({icon, icon_2}) remote spy script roblox PasteShr remote spy script roblox property.Parent = nil fTemplate.Parent = nil eTemplate.Parent = nil codebox.Text = "" topbar.InputBegan:Connect(onBarInput) minimize.MouseButton1Click:Connect(toggleMinimize) methodToggle.MouseButton1Click:Connect(onToggleButtonClick) remoteHandlerEvent.Event:Connect(bindableHandler) onToggleButtonClick() _G.SimpleSpyExecuted = true remote spy script roblox PasteShr remote spy script roblox else ScreenGui:Destroy() collectgarbage() end ----- ADD ONS ----- (easily add or remove additonal functionality to the RemoteSpy!) --[[ Some helpful things: - add your function in here, and create buttons for them through the 'newButton' function - the first argument provided is the TextButton the player clicks to run the function remote spy script roblox How to get it? remote spy script roblox - generated scripts are generated when the namecall is initially fired and saved in remoteFrame objects - blacklisted remotes will be ignored directly in namecall (less lag) - the properties of a 'remoteFrame' object: { Name: (string) The name of the Remote GenScript: (string) The generated script that appears in the codebox (generated when namecall fired) Source: (Instance (LocalScript)) The script that fired/invoked the remote Remote: (Instance (RemoteEvent) | Instance (RemoteFunction)) The remote that was fired/invoked Log: (Instance (TextButton)) The button being used for the remote (same as 'selected.Log') } remote spy script roblox How to dowload it? remote spy script roblox - globals list: (contact @exxtremewa#9394 for more information or if you have suggestions for more to be added) - closed: (boolean) whether or not the GUI is currently minimized - logs: (table[remoteFrame]) full of remoteFrame objects (properties listed above) - selected: (remoteFrame) the currently selected remoteFrame (properties listed above) - blacklist: (string[] | Instance[] (RemoteEvent) | Instance[] (RemoteFunction)) an array of blacklisted names and remotes - codebox: (Instance (TextBox)) the textbox that holds all the code- cleared often ]] -- Copies the contents of the codebox newButton( "Copy Code", remote spy script roblox PasteShr remote spy script roblox "Click to copy code", function(button) local orText = "Click to copy code" syn.write_clipboard(codebox.Text) button.Text = "Copied successfully!" wait(2) button.Text = orText end ) remote spy script roblox How to get it? remote spy script roblox --- Copies the source script (that fired the remote) newButton( "Copy Remote", "Click to copy the path of the remote", function(button) local orText = "Click to copy the path of the remote" syn.write_clipboard(typeToString(selected.Remote)) button.Text = "Copied!" wait(3) button.Text = orText remote spy script roblox How to use it? remote spy script roblox end ) --- Copies the source script (that fired the remote) newButton( "Copy Source", "Click to copy the path of the source script", function(button) local orText = "Click to copy the path of the source script" syn.write_clipboard(typeToString(selected.Source)) remote spy script roblox How to get it for free? remote spy script roblox button.Text = "Copied!" wait(3) button.Text = orText end ) --- Puts the upvalues from the remote into the console for your viewing pleasure... (also puts function #) newButton( "Get Upvalues", "Click to get the upvalues from the source", remote spy script roblox PasteShr remote spy script roblox function(button) local orText = "Click to get upvalues from the source script" codebox.Text = "-- Serialized with SimpleSpy's TableToString! (credits to @exxtremewa#9394)\n-- (getgc) Function #" .. tostring(selected.FunNum) .. "\n\n" .. selected.Upvalues button.Text = "Put in Code Box!" wait(3) button.Text = orText end ) --- Puts the constants from the remote into the console for your viewing pleasure... (also puts function #) remote spy script roblox How to dowload it? remote spy script roblox newButton( "Get Constants", "Click to get the constants from the source", function(button) local orText = "Click to get constants from the source script" codebox.Text = "-- Serialized with SimpleSpy's TableToString! (credits to @exxtremewa#9394)\n-- (getgc) Function #" .. tostring(selected.FunNum) .. "\n\n" .. selected.Constants button.Text = "Put in Code Box!" wait(3) button.Text = orText end remote spy script roblox How to get it for free? remote spy script roblox ) --- Decompiles the script that fired the remote and puts it in the code box newButton( "Decompile Source", "Click to decompile the source script", function(button) local orText = "Click to decompile the source script" codebox.Text = "-- Decompiled code from:\n-- " .. typeToString(selected.Source) .. "\n\n" .. decompile(selected.Source) button.Text = "Decompiled!" remote spy script roblox How to dowload it? remote spy script roblox wait(3) button.Text = orText end ) -- Executes the contents of the codebox through loadstring newButton( "Run Code", "Click to execute code", function(button) remote spy script roblox How to dowload it? remote spy script roblox local orText = "Click to execute code" button.Text = "Executing..." local execute = { pcall( function() return loadstring(codebox.Text)() end ) } if execute[1] then remote spy script roblox How to get it? remote spy script roblox button.Text = "Executed successfully!" else warn(execute[2], execute[3]) button.Text = "Execution error!" end wait(3) button.Text = orText end ) remote spy script roblox How to get it for free? remote spy script roblox --- Clears the Remote logs newButton( "Clear Logs", "Click to clear logs", function(button) local orText = "Click to clear logs" button.Text = "Clearing..." logs = {} for _, v in pairs(remotes:GetChildren()) do if not v:IsA("UIListLayout") then remote spy script roblox PasteShr remote spy script roblox v:Destroy() end end codebox.Text = "" selected = nil button.Text = "Logs cleared!" wait(3) button.Text = orText end ) remote spy script roblox How to get it for free? remote spy script roblox --- Excludes the selected.Log Remote from the RemoteSpy newButton( "Exclude (single)", "Click to exclude this Remote", function(button) local orText = "Click to exclude this Remote" table.insert(blacklist, #blacklist + 1, selected.Remote) button.Text = "Excluded!" wait(3) remote spy script roblox How to use it? remote spy script roblox button.Text = orText end ) --- Excludes all Remotes that share the same name as the selected.Log remote from the RemoteSpy newButton( "Exclude (by name)", "Click to exclude all remotes with this name", function(button) local orText = "Click to exclude all remotes with this name" remote spy script roblox How to get it? remote spy script roblox table.insert(blacklist, #blacklist + 1, selected.Name) button.Text = "Excluded!" wait(3) button.Text = orText end ) --- clears blacklist newButton( "Clear Blacklist", remote spy script roblox PasteShr remote spy script roblox "Click to clear the blacklist", function(button) local orText = "Click to clear the blacklist" blacklist = {} button.Text = "Blacklist cleared!" wait(3) button.Text = orText end ) remote spy script roblox PasteShr remote spy script roblox --- Prevents the selected.Log Remote from firing the server (still logged) newButton( "Block (single)", "Click to stop this remote from firing", function(button) local orText = "Click to stop this remote from firing" table.insert(blocklist, #blocklist + 1, selected.Remote) button.Text = "Excluded!" wait(3) button.Text = orText remote spy script roblox How to get it for free? remote spy script roblox end ) --- Prevents all remotes from firing that share the same name as the selected.Log remote from the RemoteSpy (still logged) newButton( "Block (by name)", "Click to stop remotes with this name from firing", function(button) local orText = "Click to stop remotes with this name from firing" table.insert(blocklist, #blocklist + 1, selected.Name) remote spy script roblox PasteShr remote spy script roblox button.Text = "Excluded!" wait(3) button.Text = orText end ) --- clears blacklist newButton( "Clear Blocklist", "Click to stop blocking remotes", remote spy script roblox How to get it for free? remote spy script roblox function(button) local orText = "Click to stop blocking remotes" blocklist = {} button.Text = "Blocklist cleared!" wait(3) button.Text = orText end ) remote spy script roblox