Advertisement
HansCSia320

Remote2Spy

Jul 3rd, 2019
536
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 34.79 KB | None | 0 0
  1. -- FrontEnd // UI
  2.  
  3. -- Objects
  4.  
  5. local RemoteSpy = Instance.new("ScreenGui")
  6. local BG = Instance.new("Frame")
  7. local Ribbon = Instance.new("ImageLabel")
  8. local Hide = Instance.new("TextButton")
  9. local Title = Instance.new("TextLabel")
  10. local Remotes = Instance.new("ScrollingFrame")
  11. local Source = Instance.new("ScrollingFrame")
  12. local ButtonsFrame = Instance.new("Frame")
  13. local ToClipboard = Instance.new("TextButton")
  14. local Decompile = Instance.new("TextButton")
  15. local GetReturn = Instance.new("TextButton")
  16. local ClearList = Instance.new("TextButton")
  17. local CryptStrings = Instance.new("TextButton")
  18. local EnableSpy = Instance.new("TextButton")
  19. local Last = Instance.new("TextLabel")
  20. local Total = Instance.new("TextLabel")
  21. local Settings = Instance.new("TextButton")
  22. local SetRemotes = Instance.new("ScrollingFrame")
  23. local Storage = Instance.new("Frame")
  24. local RBTN = Instance.new("TextButton")
  25. local Icon = Instance.new("ImageLabel")
  26. local RemoteName = Instance.new("TextLabel")
  27. local ID = Instance.new("TextLabel")
  28. local SBTN = Instance.new("TextButton")
  29. local Icon_2 = Instance.new("ImageLabel")
  30. local RemoteName_2 = Instance.new("TextLabel")
  31. local ID_2 = Instance.new("TextLabel")
  32. local ScriptLine = Instance.new("Frame")
  33. local Line = Instance.new("TextLabel")
  34. local SourceText = Instance.new("TextLabel")
  35. local Tokens = Instance.new("TextLabel")
  36. local Strings = Instance.new("TextLabel")
  37. local Comments = Instance.new("TextLabel")
  38. local Keywords = Instance.new("TextLabel")
  39. local Globals = Instance.new("TextLabel")
  40. local RemoteHighlight = Instance.new("TextLabel")
  41. local Enabled = Instance.new("TextLabel")
  42. local FullScreen = Instance.new("TextButton")
  43. local SetRemotesTab = Instance.new("Frame")
  44. local FilterF = Instance.new("TextButton")
  45. local FilterE = Instance.new("TextButton")
  46. local Search = Instance.new("TextBox")
  47. local remotes_fired = 0
  48. local encrypt_string = false
  49. local spy_enabled = true
  50.  
  51. local lua_keywords = {"and", "break", "do", "else", "elseif", "end", "false", "for", "function", "goto", "if", "in", "local", "nil", "not", "or", "repeat", "return", "then", "true", "until", "while"}
  52. local global_env = {"game", "workspace", "script", "math", "string", "table", "print", "wait", "BrickColor", "Color3", "next", "pairs", "ipairs", "select", "unpack", "Instance", "Vector2", "Vector3", "CFrame", "Ray", "UDim2", "Enum", "assert", "error", "warn", "tick", "loadstring", "_G", "shared", "getfenv", "setfenv", "newproxy", "setmetatable", "getmetatable", "os", "debug", "pcall", "ypcall", "xpcall", "rawequal", "rawset", "rawget", "tonumber", "tostring", "type", "typeof", "_VERSION", "coroutine", "delay", "require", "spawn", "LoadLibrary", "settings", "stats", "time", "UserSettings", "version", "Axes", "ColorSequence", "Faces", "ColorSequenceKeypoint", "NumberRange", "NumberSequence", "NumberSequenceKeypoint", "gcinfo", "elapsedTime", "collectgarbage", "PhysicalProperties", "Rect", "Region3", "Region3int16", "UDim", "Vector2int16", "Vector3int16"}
  53.  
  54. -- Properties
  55.  
  56. RemoteSpy.Name = "RemoteSpy"
  57. RemoteSpy.Parent = game.CoreGui
  58.  
  59. BG.Name = "BG"
  60. BG.Parent = RemoteSpy
  61. BG.Active = true
  62. BG.BackgroundColor3 = Color3.new(0.141176, 0.141176, 0.141176)
  63. BG.BorderColor3 = Color3.new(0.243137, 0.243137, 0.243137)
  64. BG.Draggable = true
  65. BG.Position = UDim2.new(0.5, -700, 0.5, -400)
  66. BG.Size = UDim2.new(1, -300, 1, -200)
  67. BG.ClipsDescendants = true
  68.  
  69. Ribbon.Name = "Ribbon"
  70. Ribbon.Parent = BG
  71. Ribbon.BackgroundColor3 = Color3.new(0.760784, 0.0117647, 0.317647)
  72. Ribbon.BorderSizePixel = 0
  73. Ribbon.Size = UDim2.new(1, 0, 0, 20)
  74. Ribbon.ZIndex = 2
  75.  
  76. Hide.Name = "Hide"
  77. Hide.Parent = Ribbon
  78. Hide.BackgroundColor3 = Color3.new(1, 0, 0)
  79. Hide.BorderSizePixel = 0
  80. Hide.Position = UDim2.new(1, -40, 0, 0)
  81. Hide.Size = UDim2.new(0, 40, 0, 20)
  82. Hide.ZIndex = 3
  83. Hide.Font = Enum.Font.SourceSansBold
  84. Hide.FontSize = Enum.FontSize.Size14
  85. Hide.Text = "_"
  86. Hide.TextColor3 = Color3.new(1, 1, 1)
  87. Hide.TextSize = 14
  88.  
  89. Title.Name = "Title"
  90. Title.Parent = Ribbon
  91. Title.BackgroundColor3 = Color3.new(1, 0.0117647, 0.423529)
  92. Title.BorderSizePixel = 0
  93. Title.Position = UDim2.new(0.5, -100, 0, 0)
  94. Title.Size = UDim2.new(0, 200, 0, 20)
  95. Title.ZIndex = 3
  96. Title.Font = Enum.Font.SourceSansBold
  97. Title.FontSize = Enum.FontSize.Size14
  98. Title.Text = "Remote2Script v2"
  99. Title.TextColor3 = Color3.new(1, 1, 1)
  100. Title.TextSize = 14
  101.  
  102. Remotes.Name = "Remotes"
  103. Remotes.Parent = BG
  104. Remotes.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314)
  105. Remotes.BorderColor3 = Color3.new(0.243137, 0.243137, 0.243137)
  106. Remotes.Position = UDim2.new(0, 10, 0, 80)
  107. Remotes.CanvasSize = UDim2.new(0, 0, 40, 0)
  108. Remotes.Size = UDim2.new(0, 250, 1, -90)
  109. Remotes.ZIndex = 2
  110. Remotes.BottomImage = "rbxassetid://148970562"
  111. Remotes.MidImage = "rbxassetid://148970562"
  112. Remotes.ScrollBarThickness = 5
  113. Remotes.TopImage = "rbxassetid://148970562"
  114.  
  115. Source.Name = "Source"
  116. Source.Parent = BG
  117. Source.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314)
  118. Source.BorderColor3 = Color3.new(0.243137, 0.243137, 0.243137)
  119. Source.Position = UDim2.new(0, 270, 0, 80)
  120. Source.Size = UDim2.new(1, -280, 1, -90)
  121. Source.ZIndex = 2
  122. Source.BottomImage = "rbxassetid://148970562"
  123. Source.CanvasSize = UDim2.new(3, 0, 160, 0)
  124. Source.MidImage = "rbxassetid://148970562"
  125. Source.ScrollBarThickness = 5
  126. Source.TopImage = "rbxassetid://148970562"
  127.  
  128. ButtonsFrame.Name = "ButtonsFrame"
  129. ButtonsFrame.Parent = BG
  130. ButtonsFrame.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314)
  131. ButtonsFrame.BorderColor3 = Color3.new(0.243137, 0.243137, 0.243137)
  132. ButtonsFrame.Position = UDim2.new(0, 10, 0, 30)
  133. ButtonsFrame.Size = UDim2.new(1, -20, 0, 40)
  134. ButtonsFrame.ZIndex = 2
  135. ButtonsFrame.ClipsDescendants = true
  136.  
  137. ToClipboard.Name = "ToClipboard"
  138. ToClipboard.Parent = ButtonsFrame
  139. ToClipboard.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314)
  140. ToClipboard.BorderColor3 = Color3.new(0.117647, 0.392157, 0.117647)
  141. ToClipboard.Position = UDim2.new(0, 10, 0.5, -10)
  142. ToClipboard.Size = UDim2.new(0, 100, 0, 20)
  143. ToClipboard.ZIndex = 3
  144. ToClipboard.Font = Enum.Font.SourceSansBold
  145. ToClipboard.FontSize = Enum.FontSize.Size14
  146. ToClipboard.Text = "COPY"
  147. ToClipboard.TextColor3 = Color3.new(0.235294, 0.784314, 0.235294)
  148. ToClipboard.TextSize = 14
  149.  
  150. Decompile.Name = "Decompile"
  151. Decompile.Parent = ButtonsFrame
  152. Decompile.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314)
  153. Decompile.BorderColor3 = Color3.new(0.384314, 0.384314, 0.384314)
  154. Decompile.Position = UDim2.new(0, 120, 0.5, -10)
  155. Decompile.Size = UDim2.new(0, 100, 0, 20)
  156. Decompile.ZIndex = 3
  157. Decompile.Font = Enum.Font.SourceSansBold
  158. Decompile.FontSize = Enum.FontSize.Size14
  159. Decompile.Text = "DECOMPILE"
  160. Decompile.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314)
  161. Decompile.TextSize = 14
  162.  
  163. GetReturn.Name = "GetReturn"
  164. GetReturn.Parent = ButtonsFrame
  165. GetReturn.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314)
  166. GetReturn.BorderColor3 = Color3.new(0.384314, 0.384314, 0.384314)
  167. GetReturn.Position = UDim2.new(0, 230, 0.5, -10)
  168. GetReturn.Size = UDim2.new(0, 100, 0, 20)
  169. GetReturn.ZIndex = 3
  170. GetReturn.Font = Enum.Font.SourceSansBold
  171. GetReturn.FontSize = Enum.FontSize.Size14
  172. GetReturn.Text = "GET RETURN"
  173. GetReturn.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314)
  174. GetReturn.TextSize = 14
  175.  
  176. ClearList.Name = "ClearList"
  177. ClearList.Parent = ButtonsFrame
  178. ClearList.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314)
  179. ClearList.BorderColor3 = Color3.new(0.384314, 0.384314, 0.384314)
  180. ClearList.Position = UDim2.new(0, 340, 0.5, -10)
  181. ClearList.Size = UDim2.new(0, 100, 0, 20)
  182. ClearList.ZIndex = 3
  183. ClearList.Font = Enum.Font.SourceSansBold
  184. ClearList.FontSize = Enum.FontSize.Size14
  185. ClearList.Text = "CLEAR LOGS"
  186. ClearList.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314)
  187. ClearList.TextSize = 14
  188.  
  189. CryptStrings.Name = "CryptStrings"
  190. CryptStrings.Parent = ButtonsFrame
  191. CryptStrings.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314)
  192. CryptStrings.BorderColor3 = Color3.new(0.392157, 0.117647, 0.117647)
  193. CryptStrings.Position = UDim2.new(0, 450, 0.5, -10)
  194. CryptStrings.Size = UDim2.new(0, 100, 0, 20)
  195. CryptStrings.ZIndex = 3
  196. CryptStrings.Font = Enum.Font.SourceSansBold
  197. CryptStrings.FontSize = Enum.FontSize.Size14
  198. CryptStrings.Text = "CRYPT STRINGS"
  199. CryptStrings.TextColor3 = Color3.new(0.784314, 0.235294, 0.235294)
  200. CryptStrings.TextSize = 14
  201.  
  202. EnableSpy.Name = "EnableSpy"
  203. EnableSpy.Parent = ButtonsFrame
  204. EnableSpy.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314)
  205. EnableSpy.BorderColor3 = Color3.fromRGB(30, 100, 30)
  206. EnableSpy.Position = UDim2.new(0, 560, 0.5, -10)
  207. EnableSpy.Size = UDim2.new(0, 100, 0, 20)
  208. EnableSpy.ZIndex = 3
  209. EnableSpy.Font = Enum.Font.SourceSansBold
  210. EnableSpy.FontSize = Enum.FontSize.Size14
  211. EnableSpy.Text = "REMOTESPY"
  212. EnableSpy.TextColor3 = Color3.fromRGB(60, 200, 60)
  213. EnableSpy.TextSize = 14
  214.  
  215. Last.Name = "Last"
  216. Last.Parent = ButtonsFrame
  217. Last.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314)
  218. Last.BorderColor3 = Color3.new(0.384314, 0.384314, 0.384314)
  219. Last.Position = UDim2.new(0, 670, 0.5, -10)
  220. Last.Size = UDim2.new(0, 200, 0, 20)
  221. Last.ZIndex = 3
  222. Last.Font = Enum.Font.SourceSansBold
  223. Last.FontSize = Enum.FontSize.Size14
  224. Last.Text = ""
  225. Last.TextColor3 = Color3.new(1, 1, 1)
  226. Last.TextSize = 14
  227. Last.TextWrapped = true
  228.  
  229. Total.Name = "Total"
  230. Total.Parent = ButtonsFrame
  231. Total.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314)
  232. Total.BorderColor3 = Color3.new(0.384314, 0.384314, 0.384314)
  233. Total.Position = UDim2.new(0, 880, 0.5, -10)
  234. Total.Size = UDim2.new(0, 50, 0, 20)
  235. Total.ZIndex = 3
  236. Total.Font = Enum.Font.SourceSansBold
  237. Total.FontSize = Enum.FontSize.Size14
  238. Total.Text = "0"
  239. Total.TextColor3 = Color3.new(1, 1, 1)
  240. Total.TextSize = 14
  241. Total.TextWrapped = true
  242.  
  243. Settings.Name = "Settings"
  244. Settings.Parent = ButtonsFrame
  245. Settings.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314)
  246. Settings.BorderColor3 = Color3.new(0.117647, 0.392157, 0.392157)
  247. Settings.Position = UDim2.new(1, -110, 0.5, -10)
  248. Settings.Size = UDim2.new(0, 100, 0, 20)
  249. Settings.ZIndex = 3
  250. Settings.Font = Enum.Font.SourceSansBold
  251. Settings.FontSize = Enum.FontSize.Size14
  252. Settings.Text = "REMOTES"
  253. Settings.TextColor3 = Color3.new(0.235294, 0.784314, 0.784314)
  254. Settings.TextSize = 14
  255.  
  256. SetRemotes.Name = "SetRemotes"
  257. SetRemotes.Parent = BG
  258. SetRemotes.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314)
  259. SetRemotes.BorderColor3 = Color3.new(0.243137, 0.243137, 0.243137)
  260. SetRemotes.Position = UDim2.new(0, 270, 0, 80)
  261. SetRemotes.Size = UDim2.new(1, -280, 1, -140)
  262. SetRemotes.Visible = false
  263. SetRemotes.ZIndex = 2
  264. SetRemotes.BottomImage = "rbxassetid://148970562"
  265. SetRemotes.CanvasSize = UDim2.new(0, 0, 25, 0)
  266. SetRemotes.MidImage = "rbxassetid://148970562"
  267. SetRemotes.ScrollBarThickness = 5
  268. SetRemotes.TopImage = "rbxassetid://148970562"
  269.  
  270. Storage.Name = "Storage"
  271. Storage.Parent = RemoteSpy
  272. Storage.BackgroundColor3 = Color3.new(1, 1, 1)
  273. Storage.Size = UDim2.new(0, 100, 0, 100)
  274. Storage.Visible = false
  275.  
  276. RBTN.Name = "RBTN"
  277. RBTN.Parent = Storage
  278. RBTN.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314)
  279. RBTN.BorderColor3 = Color3.new(0.243137, 0.243137, 0.243137)
  280. RBTN.Position = UDim2.new(0, 10, 0, 10)
  281. RBTN.Size = UDim2.new(1, -20, 0, 20)
  282. RBTN.ZIndex = 3
  283. RBTN.Font = Enum.Font.SourceSansBold
  284. RBTN.FontSize = Enum.FontSize.Size14
  285. RBTN.Text = ""
  286. RBTN.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314)
  287. RBTN.TextSize = 14
  288. RBTN.TextXAlignment = Enum.TextXAlignment.Left
  289.  
  290. Icon.Name = "Icon"
  291. Icon.Parent = RBTN
  292. Icon.BackgroundColor3 = Color3.new(1, 1, 1)
  293. Icon.BackgroundTransparency = 1
  294. Icon.Size = UDim2.new(0, 20, 0, 20)
  295. Icon.ZIndex = 4
  296. Icon.Image = "rbxassetid://413369506"
  297.  
  298. RemoteName.Name = "RemoteName"
  299. RemoteName.Parent = RBTN
  300. RemoteName.BackgroundColor3 = Color3.new(0.713726, 0.00392157, 0.298039)
  301. RemoteName.BorderSizePixel = 0
  302. RemoteName.Position = UDim2.new(0, 30, 0, 0)
  303. RemoteName.Size = UDim2.new(0, 140, 0, 20)
  304. RemoteName.ZIndex = 4
  305. RemoteName.Font = Enum.Font.SourceSansBold
  306. RemoteName.FontSize = Enum.FontSize.Size14
  307. RemoteName.Text = "10"
  308. RemoteName.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314)
  309. RemoteName.TextSize = 14
  310.  
  311. ID.Name = "ID"
  312. ID.Parent = RBTN
  313. ID.BackgroundColor3 = Color3.new(0.458824, 0.00392157, 0.192157)
  314. ID.BorderSizePixel = 0
  315. ID.Position = UDim2.new(1, -50, 0, 0)
  316. ID.Size = UDim2.new(0, 50, 0, 20)
  317. ID.ZIndex = 4
  318. ID.Font = Enum.Font.SourceSansBold
  319. ID.FontSize = Enum.FontSize.Size14
  320. ID.Text = "10"
  321. ID.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314)
  322. ID.TextSize = 14
  323.  
  324. SBTN.Name = "SBTN"
  325. SBTN.Parent = Storage
  326. SBTN.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314)
  327. SBTN.BorderColor3 = Color3.new(0.243137, 0.243137, 0.243137)
  328. SBTN.Position = UDim2.new(0, 10, 0, 10)
  329. SBTN.Size = UDim2.new(1, -20, 0, 20)
  330. SBTN.ZIndex = 3
  331. SBTN.Font = Enum.Font.SourceSansBold
  332. SBTN.FontSize = Enum.FontSize.Size14
  333. SBTN.Text = ""
  334. SBTN.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314)
  335. SBTN.TextSize = 11
  336. SBTN.TextXAlignment = Enum.TextXAlignment.Left
  337.  
  338. Icon_2.Name = "Icon"
  339. Icon_2.Parent = SBTN
  340. Icon_2.BackgroundColor3 = Color3.new(1, 1, 1)
  341. Icon_2.BackgroundTransparency = 1
  342. Icon_2.Size = UDim2.new(0, 20, 0, 20)
  343. Icon_2.ZIndex = 4
  344. Icon_2.Image = "rbxassetid://413369506"
  345.  
  346. RemoteName_2.Name = "RemoteName"
  347. RemoteName_2.Parent = SBTN
  348. RemoteName_2.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
  349. RemoteName_2.BorderSizePixel = 1
  350. RemoteName_2.BorderColor3 = Color3.fromRGB(62, 62, 62)
  351. RemoteName_2.Position = UDim2.new(0, 30, 0, 0)
  352. RemoteName_2.Size = UDim2.new(0, 140, 0, 20)
  353. RemoteName_2.ZIndex = 4
  354. RemoteName_2.Font = Enum.Font.SourceSansBold
  355. RemoteName_2.FontSize = Enum.FontSize.Size14
  356. RemoteName_2.Text = "SayMessageRequest"
  357. RemoteName_2.TextColor3 = Color3.fromRGB(200, 200, 200)
  358. RemoteName_2.TextSize = 11
  359.  
  360. ID_2.Name = "ID"
  361. ID_2.Parent = SBTN
  362. ID_2.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
  363. ID_2.BorderSizePixel = 1
  364. ID_2.BorderColor3 = Color3.fromRGB(62, 62, 62)
  365. ID_2.Position = UDim2.new(1, -700, 0, 0)
  366. ID_2.Size = UDim2.new(0, 700, 0, 20)
  367. ID_2.ZIndex = 3
  368. ID_2.Font = Enum.Font.SourceSansBold
  369. ID_2.FontSize = Enum.FontSize.Size14
  370. ID_2.Text = "10"
  371. ID_2.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314)
  372. ID_2.TextSize = 14
  373.  
  374. ScriptLine.Name = "ScriptLine"
  375. ScriptLine.Parent = Storage
  376. ScriptLine.BackgroundColor3 = Color3.new(1, 1, 1)
  377. ScriptLine.BackgroundTransparency = 1
  378. ScriptLine.Size = UDim2.new(1, 0, 0, 17)
  379. ScriptLine.ZIndex = 2
  380.  
  381. Line.Name = "Line"
  382. Line.Parent = ScriptLine
  383. Line.BackgroundColor3 = Color3.new(0.329412, 0, 0)
  384. Line.BackgroundTransparency = 1
  385. Line.BorderSizePixel = 0
  386. Line.Size = UDim2.new(0, 40, 1, 0)
  387. Line.ZIndex = 3
  388. Line.Font = Enum.Font.SourceSansBold
  389. Line.FontSize = Enum.FontSize.Size18
  390. Line.Text = ""
  391. Line.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314)
  392. Line.TextSize = 17
  393.  
  394. SourceText.Name = "SourceText"
  395. SourceText.Parent = ScriptLine
  396. SourceText.BackgroundColor3 = Color3.new(1, 1, 1)
  397. SourceText.BackgroundTransparency = 1
  398. SourceText.Position = UDim2.new(0, 40, 0, 0)
  399. SourceText.Size = UDim2.new(1, -40, 1, 0)
  400. SourceText.ZIndex = 3
  401. SourceText.Font = Enum.Font.Code
  402. SourceText.FontSize = Enum.FontSize.Size18
  403. SourceText.Text = ""
  404. SourceText.TextColor3 = Color3.new(1, 1, 1)
  405. SourceText.TextSize = 17
  406. SourceText.TextXAlignment = Enum.TextXAlignment.Left
  407.  
  408. Tokens.Name = "Tokens"
  409. Tokens.Parent = ScriptLine
  410. Tokens.BackgroundColor3 = Color3.new(1, 1, 1)
  411. Tokens.BackgroundTransparency = 1
  412. Tokens.Position = UDim2.new(0, 40, 0, 0)
  413. Tokens.Size = UDim2.new(1, -40, 1, 0)
  414. Tokens.ZIndex = 3
  415. Tokens.Font = Enum.Font.Code
  416. Tokens.FontSize = Enum.FontSize.Size18
  417. Tokens.Text = ""
  418. Tokens.TextColor3 = Color3.new(0.392157, 0.392157, 0.392157)
  419. Tokens.TextSize = 17
  420. Tokens.TextXAlignment = Enum.TextXAlignment.Left
  421.  
  422. Strings.Name = "Strings"
  423. Strings.Parent = ScriptLine
  424. Strings.BackgroundColor3 = Color3.new(1, 1, 1)
  425. Strings.BackgroundTransparency = 1
  426. Strings.Position = UDim2.new(0, 40, 0, 0)
  427. Strings.Size = UDim2.new(1, -40, 1, 0)
  428. Strings.ZIndex = 5
  429. Strings.Font = Enum.Font.Code
  430. Strings.FontSize = Enum.FontSize.Size18
  431. Strings.Text = ""
  432. Strings.TextColor3 = Color3.new(1, 0.615686, 0)
  433. Strings.TextSize = 17
  434. Strings.TextXAlignment = Enum.TextXAlignment.Left
  435.  
  436. Comments.Name = "Comments"
  437. Comments.Parent = ScriptLine
  438. Comments.BackgroundColor3 = Color3.new(1, 1, 1)
  439. Comments.BackgroundTransparency = 1
  440. Comments.Position = UDim2.new(0, 40, 0, 0)
  441. Comments.Size = UDim2.new(1, -40, 1, 0)
  442. Comments.ZIndex = 5
  443. Comments.Font = Enum.Font.Code
  444. Comments.FontSize = Enum.FontSize.Size18
  445. Comments.Text = ""
  446. Comments.TextColor3 = Color3.fromRGB(60, 200, 60)
  447. Comments.TextSize = 17
  448. Comments.TextXAlignment = Enum.TextXAlignment.Left
  449.  
  450. RemoteHighlight.Name = "RemoteHighlight"
  451. RemoteHighlight.Parent = ScriptLine
  452. RemoteHighlight.BackgroundColor3 = Color3.new(1, 1, 1)
  453. RemoteHighlight.BackgroundTransparency = 1
  454. RemoteHighlight.Position = UDim2.new(0, 40, 0, 0)
  455. RemoteHighlight.Size = UDim2.new(1, -40, 1, 0)
  456. RemoteHighlight.ZIndex = 3
  457. RemoteHighlight.Font = Enum.Font.Code
  458. RemoteHighlight.FontSize = Enum.FontSize.Size18
  459. RemoteHighlight.Text = ""
  460. RemoteHighlight.TextColor3 = Color3.fromRGB(0, 145, 255)
  461. RemoteHighlight.TextSize = 17
  462. RemoteHighlight.TextXAlignment = Enum.TextXAlignment.Left
  463.  
  464. Keywords.Name = "Keywords"
  465. Keywords.Parent = ScriptLine
  466. Keywords.BackgroundColor3 = Color3.new(1, 1, 1)
  467. Keywords.BackgroundTransparency = 1
  468. Keywords.Position = UDim2.new(0, 40, 0, 0)
  469. Keywords.Size = UDim2.new(1, -40, 1, 0)
  470. Keywords.ZIndex = 3
  471. Keywords.Font = Enum.Font.Code
  472. Keywords.FontSize = Enum.FontSize.Size18
  473. Keywords.Text = ""
  474. Keywords.TextColor3 = Color3.new(0.231373, 1, 0)
  475. Keywords.TextSize = 17
  476. Keywords.TextXAlignment = Enum.TextXAlignment.Left
  477.  
  478. Globals.Name = "Globals"
  479. Globals.Parent = ScriptLine
  480. Globals.BackgroundColor3 = Color3.new(1, 1, 1)
  481. Globals.BackgroundTransparency = 1
  482. Globals.Position = UDim2.new(0, 40, 0, 0)
  483. Globals.Size = UDim2.new(1, -40, 1, 0)
  484. Globals.ZIndex = 3
  485. Globals.Font = Enum.Font.Code
  486. Globals.FontSize = Enum.FontSize.Size18
  487. Globals.Text = ""
  488. Globals.TextColor3 = Color3.new(1, 0, 0)
  489. Globals.TextSize = 17
  490. Globals.TextXAlignment = Enum.TextXAlignment.Left
  491.  
  492. Enabled.Name = "Enabled"
  493. Enabled.Parent = SBTN
  494. Enabled.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
  495. Enabled.BorderSizePixel = 1
  496. Enabled.BorderColor3 = Color3.fromRGB(30, 100, 30)
  497. Enabled.Position = UDim2.new(0, 210, 0, 0)
  498. Enabled.Size = UDim2.new(0, 100, 1, 0)
  499. Enabled.ZIndex = 4
  500. Enabled.Font = Enum.Font.SourceSansBold
  501. Enabled.FontSize = Enum.FontSize.Size14
  502. Enabled.Text = "Enabled"
  503. Enabled.TextColor3 = Color3.fromRGB(60, 200, 60)
  504. Enabled.TextSize = 14
  505.  
  506. FullScreen.Name = "FullScreen"
  507. FullScreen.Parent = Ribbon
  508. FullScreen.BackgroundColor3 = Color3.new(1, 0, 0)
  509. FullScreen.BorderSizePixel = 0
  510. FullScreen.Position = UDim2.new(1, -90, 0, 0)
  511. FullScreen.Size = UDim2.new(0, 40, 0, 20)
  512. FullScreen.ZIndex = 3
  513. FullScreen.Font = Enum.Font.SourceSansBold
  514. FullScreen.FontSize = Enum.FontSize.Size14
  515. FullScreen.Text = "[~]"
  516. FullScreen.TextColor3 = Color3.new(1, 1, 1)
  517. FullScreen.TextSize = 14
  518.  
  519. SetRemotesTab.Name = "SetRemotesTab"
  520. SetRemotesTab.Parent = BG
  521. SetRemotesTab.Visible = false
  522. SetRemotesTab.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314)
  523. SetRemotesTab.BorderColor3 = Color3.new(0.243137, 0.243137, 0.243137)
  524. SetRemotesTab.ClipsDescendants = true
  525. SetRemotesTab.Position = UDim2.new(0, 270, 1, -50)
  526. SetRemotesTab.Size = UDim2.new(1, -280, 0, 40)
  527. SetRemotesTab.ZIndex = 2
  528.  
  529. FilterF.Name = "FilterF"
  530. FilterF.Parent = SetRemotesTab
  531. FilterF.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314)
  532. FilterF.BorderColor3 = Color3.new(0.392157, 0.117647, 0.117647)
  533. FilterF.Position = UDim2.new(0, 120, 0.5, -10)
  534. FilterF.Size = UDim2.new(0, 120, 0, 20)
  535. FilterF.ZIndex = 3
  536. FilterF.Font = Enum.Font.SourceSansBold
  537. FilterF.FontSize = Enum.FontSize.Size14
  538. FilterF.Text = "FILTER FUNCTIONS"
  539. FilterF.TextColor3 = Color3.new(0.784314, 0.235294, 0.235294)
  540. FilterF.TextSize = 14
  541.  
  542. FilterE.Name = "FilterE"
  543. FilterE.Parent = SetRemotesTab
  544. FilterE.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314)
  545. FilterE.BorderColor3 = Color3.new(0.392157, 0.117647, 0.117647)
  546. FilterE.Position = UDim2.new(0, 10, 0.5, -10)
  547. FilterE.Size = UDim2.new(0, 100, 0, 20)
  548. FilterE.ZIndex = 3
  549. FilterE.Font = Enum.Font.SourceSansBold
  550. FilterE.FontSize = Enum.FontSize.Size14
  551. FilterE.Text = "FILTER EVENTS"
  552. FilterE.TextColor3 = Color3.new(0.784314, 0.235294, 0.235294)
  553. FilterE.TextSize = 14
  554.  
  555. Search.Name = "Search"
  556. Search.Parent = SetRemotesTab
  557. Search.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314)
  558. Search.BorderColor3 = Color3.new(0.243137, 0.243137, 0.243137)
  559. Search.Position = UDim2.new(0, 250, 0.5, -10)
  560. Search.Selectable = true
  561. Search.Size = UDim2.new(1, -260, 0, 20)
  562. Search.ZIndex = 3
  563. Search.Font = Enum.Font.SourceSansBold
  564. Search.FontSize = Enum.FontSize.Size14
  565. Search.Text = "[SEARCH]"
  566. Search.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314)
  567. Search.TextSize = 14
  568.  
  569. -- FrontEnd-Backend // UI Functions
  570.  
  571. local HasSpecial = function(string)
  572.   return (string:match("%c") or string:match("%s") or string:match("%p")) ~= nil
  573. end
  574.  
  575. local GetPath = function(Instance)
  576. local Obj = Instance
  577. local string = {}
  578. local temp = {}
  579. local error = false
  580.  
  581. while Obj ~= game do
  582. if Obj == nil then
  583. error = true
  584. break
  585. end
  586. table.insert(temp, Obj.Parent == game and Obj.ClassName or tostring(Obj))
  587. Obj = Obj.Parent
  588. end
  589.  
  590. table.insert(string, "game:GetService(\"" .. temp[#temp] .. "\")")
  591.  
  592. for i = #temp - 1, 1, -1 do
  593. table.insert(string, HasSpecial(temp[i]) and "[\"" .. temp[i] .. "\"]" or "." .. temp[i])
  594. end
  595.  
  596. return (error and "nil -- Path contained invalid instance" or table.concat(string, ""))
  597. end
  598.  
  599. local GetType = function(Instance)
  600. local Types =
  601. {
  602. EnumItem = function()
  603. return "Enum." .. tostring(Instance.EnumType) .. "." .. tostring(Instance.Name)
  604. end,
  605. Instance = function()
  606. return GetPath(Instance)
  607. end,
  608. CFrame = function()
  609. return "CFrame.new(" .. tostring(Instance) .. ")"
  610. end,
  611. Vector3 = function()
  612. return "Vector3.new(" .. tostring(Instance) .. ")"
  613. end,
  614. BrickColor = function()
  615. return "BrickColor.new(\"" .. tostring(Instance) .. "\")"
  616. end,
  617. Color3 = function()
  618. return "Color3.new(" .. tostring(Instance) .. ")"
  619. end,
  620. string = function()
  621. local S = tostring(Instance)
  622. return "\"" .. (encrypt_string and S:gsub(".", function(c) return "\\" .. c:byte() end) or S) .. "\""
  623. end,
  624. Ray = function()
  625. return "Ray.new(Vector3.new(" .. tostring(Instance.Origin) .. "), Vector3.new(" .. tostring(Instance.Direction) .. "))"
  626. end
  627. }
  628.  
  629. return Types[typeof(Instance)] ~= nil and Types[typeof(Instance)]() or tostring(Instance)
  630. end
  631.  
  632. local size_frame = function(frame, UDim)
  633. frame:TweenSize(UDim, "Out", "Quint", 0.3)
  634. end
  635.  
  636. local pos_frame = function(frame, UDim)
  637. frame:TweenPosition(UDim, "Out", "Quint", 0.3)
  638. end
  639.  
  640. local size_pos_frame = function(frame, UDim, UDim2)
  641. frame:TweenSizeAndPosition(UDim, UDim2, "Out", "Quint", 0.3)
  642. end
  643.  
  644. local hide = function()
  645. size_frame(BG, UDim2.new(0, 300, 0, 20))
  646. pos_frame(Title, UDim2.new(0, 0, 0, 0))
  647. pos_frame(Remotes, UDim2.new(0, 10, 0, 100))
  648. pos_frame(Source, UDim2.new(0, 270, 0, 100))
  649. BG.Draggable = true
  650. SetRemotes.Visible = false
  651. SetRemotesTab.Visible = false
  652. Source.Visible = true
  653.  
  654. return "[]"
  655. end
  656.  
  657. local show = function()
  658. size_frame(BG, UDim2.new(1, -300, 1, -200))
  659. pos_frame(BG, UDim2.new(0.1, 0, 0.1, 0))
  660. pos_frame(Title, UDim2.new(0.5, -100, 0, 0))
  661. pos_frame(Remotes, UDim2.new(0, 10, 0, 80))
  662. pos_frame(Source, UDim2.new(0, 270, 0, 80))
  663. BG.Draggable = false
  664.  
  665. return "_"
  666. end
  667.  
  668. local onclick_hide = function()
  669. Hide.Text = Hide.Text == "_" and hide() or show()
  670. end
  671.  
  672. local onclick_settings = function()
  673. Source.Visible = not Source.Visible
  674. SetRemotes.Visible = not Source.Visible
  675. SetRemotesTab.Visible = not Source.Visible
  676. end
  677.  
  678. local onclick_remotespy = function()
  679. spy_enabled = not spy_enabled
  680. EnableSpy.TextColor3 = EnableSpy.TextColor3 == Color3.fromRGB(60, 200, 60) and Color3.fromRGB(200, 60, 60) or Color3.fromRGB(60, 200, 60)
  681. EnableSpy.BorderColor3 = EnableSpy.TextColor3 == Color3.fromRGB(200, 60, 60) and Color3.fromRGB(100, 30, 30) or Color3.fromRGB(30, 100, 30)
  682. end
  683.  
  684. local onclick_cryptstring = function()
  685. encrypt_string = not encrypt_string
  686. CryptStrings.TextColor3 = CryptStrings.TextColor3 == Color3.fromRGB(60, 200, 60) and Color3.fromRGB(200, 60, 60) or Color3.fromRGB(60, 200, 60)
  687. CryptStrings.BorderColor3 = CryptStrings.TextColor3 == Color3.fromRGB(200, 60, 60) and Color3.fromRGB(100, 30, 30) or Color3.fromRGB(30, 100, 30)
  688. end
  689.  
  690. local clear_logs = function()
  691. Remotes:ClearAllChildren()
  692. remotes_fired = 0
  693. Total.Text = "0"
  694. end
  695.  
  696. local filter_events = function()
  697. local n = 0
  698. for i, v in pairs(SetRemotes:GetChildren()) do
  699. v.Visible = not (FilterE.TextColor3 == Color3.fromRGB(60, 200, 60) and v.Icon.Image == "rbxassetid://413369623")
  700. if v.Visible == true then
  701. n = n + 1
  702. v.Position = UDim2.new(0, 10, 0, -20 + n * 30)
  703. else
  704. v.Position = UDim2.new(0, 10, 0, -20 + i * 30)
  705. end
  706. end
  707. end
  708.  
  709. local filter_functions = function()
  710. local n = 0
  711. for i, v in pairs(SetRemotes:GetChildren()) do
  712. v.Visible = not (FilterF.TextColor3 == Color3.fromRGB(60, 200, 60) and v.Icon.Image == "rbxassetid://413369506")
  713. if v.Visible == true then
  714. n = n + 1
  715. v.Position = UDim2.new(0, 10, 0, -20 + n * 30)
  716. else
  717. v.Position = UDim2.new(0, 10, 0, -20 + i * 30)
  718. end
  719. end
  720. end
  721.  
  722. local onclick_fevents = function()
  723. FilterE.TextColor3 = FilterE.TextColor3 == Color3.fromRGB(60, 200, 60) and Color3.fromRGB(200, 60, 60) or Color3.fromRGB(60, 200, 60)
  724. FilterE.BorderColor3 = FilterE.TextColor3 == Color3.fromRGB(200, 60, 60) and Color3.fromRGB(100, 30, 30) or Color3.fromRGB(30, 100, 30)
  725. filter_events()
  726. end
  727.  
  728. local onclick_ffunctions = function()
  729. FilterF.TextColor3 = FilterF.TextColor3 == Color3.fromRGB(60, 200, 60) and Color3.fromRGB(200, 60, 60) or Color3.fromRGB(60, 200, 60)
  730. FilterF.BorderColor3 = FilterF.TextColor3 == Color3.fromRGB(200, 60, 60) and Color3.fromRGB(100, 30, 30) or Color3.fromRGB(30, 100, 30)
  731. filter_functions()
  732. end
  733.  
  734. local Highlight = function(string, keywords)
  735.   local K = {}
  736.   local S = string
  737.   local Token =
  738.   {
  739.       ["="] = true,
  740.       ["."] = true,
  741.       [","] = true,
  742.       ["("] = true,
  743.       [")"] = true,
  744.       ["["] = true,
  745.       ["]"] = true,
  746.       ["{"] = true,
  747.       ["}"] = true,
  748.       [":"] = true,
  749.       ["*"] = true,
  750.       ["/"] = true,
  751.       ["+"] = true,
  752.       ["-"] = true,
  753.       ["%"] = true,
  754. [";"] = true,
  755. ["~"] = true
  756.   }
  757.   for i, v in pairs(keywords) do
  758.       K[v] = true
  759.   end
  760.   S = S:gsub(".", function(c)
  761.       if Token[c] ~= nil then
  762.           return "\32"
  763.       else
  764.           return c
  765.       end
  766.   end)
  767.   S = S:gsub("%S+", function(c)
  768.       if K[c] ~= nil then
  769.           return c
  770.       else
  771.           return (" "):rep(#c)
  772.       end
  773.   end)
  774.  
  775.   return S
  776. end
  777.  
  778. local Tokens = function(string)
  779.   local Token =
  780.   {
  781.       ["="] = true,
  782.       ["."] = true,
  783.       [","] = true,
  784.       ["("] = true,
  785.       [")"] = true,
  786.       ["["] = true,
  787.       ["]"] = true,
  788.       ["{"] = true,
  789.       ["}"] = true,
  790.       [":"] = true,
  791.       ["*"] = true,
  792.       ["/"] = true,
  793.       ["+"] = true,
  794.       ["-"] = true,
  795.       ["%"] = true,
  796. [";"] = true,
  797. ["~"] = true
  798.   }
  799.   local A = ""
  800.   string:gsub(".", function(c)
  801.       if Token[c] ~= nil then
  802.           A = A .. c
  803.       elseif c == "\n" then
  804.           A = A .. "\n"
  805. elseif c == "\t" then
  806. A = A .. "\t"
  807.       else
  808.           A = A .. "\32"
  809.       end
  810.   end)
  811.  
  812.   return A
  813. end
  814.  
  815. local strings = function(string)
  816.   local highlight = ""
  817.   local quote = false
  818.   string:gsub(".", function(c)
  819.       if quote == false and c == "\"" then
  820.           quote = true
  821.       elseif quote == true and c == "\"" then
  822.           quote = false
  823.       end
  824.       if quote == false and c == "\"" then
  825.           highlight = highlight .. "\""
  826.       elseif c == "\n" then
  827.           highlight = highlight .. "\n"
  828. elseif c == "\t" then
  829.   highlight = highlight .. "\t"
  830.       elseif quote == true then
  831.           highlight = highlight .. c
  832.       elseif quote == false then
  833.           highlight = highlight .. "\32"
  834.       end
  835.   end)
  836.  
  837.   return highlight
  838. end
  839.  
  840. local comments = function(string)
  841.   local ret = ""
  842.   string:gsub("[^\r\n]+", function(c)
  843.       local comm = false
  844.       local i = 0
  845.       c:gsub(".", function(n)
  846.           i = i + 1
  847.           if c:sub(i, i + 1) == "--" then
  848.               comm = true
  849.           end
  850.           if comm == true then
  851.               ret = ret .. n
  852.           else
  853.               ret = ret .. "\32"
  854.           end
  855.       end)
  856.       ret = ret
  857.   end)
  858.  
  859.   return ret
  860. end
  861.  
  862. local copy_source = function()
  863. local script = ""
  864. local copy
  865. for i, v in pairs(Source:GetChildren()) do
  866. script = script .. v.SourceText.Text .. "\n"
  867. end
  868. if Clipboard ~= nil then
  869. copy = Clipboard.set
  870. elseif Synapse ~= nil then
  871. copy = function(str)
  872. Synapse:Copy(str)
  873. end
  874. elseif setclipboard ~= nil then
  875. copy = setclipboard
  876. end
  877. copy(script)
  878. end
  879.  
  880. local onclick_fullscreen = function()
  881. size_pos_frame(BG, UDim2.new(1, 0, 1, 40), UDim2.new(0, 0, 0, -40))
  882. BG.Draggable = false
  883. end
  884.  
  885. local filter_remotes = function(type)
  886. local n = 0
  887. if type == "Text" then
  888. for i, v in pairs(SetRemotes:GetChildren()) do
  889. if v.Name:lower():match(Search.Text:lower()) and string ~= "" then
  890. v.Visible = true
  891. n = n + 1
  892. else
  893. v.Visible = false
  894. end
  895. if v.Visible == true then
  896. v.Position = UDim2.new(0, 10, 0, -20 + n * 30)
  897. else
  898. v.Position = UDim2.new(0, 10, 0, -20 + i * 30)
  899. end
  900. end
  901. end
  902. end
  903.  
  904. local fix = function(string)
  905. if string == "/e fix" then
  906. show()
  907. wait(0.3)
  908. pos_frame(BG, UDim2.new(0.1, 0, 0.1, 0))
  909. end
  910. end
  911.  
  912. -- FrontEnd-Connections // UI Events
  913.  
  914. Hide.MouseButton1Down:Connect(onclick_hide)
  915. Settings.MouseButton1Down:Connect(onclick_settings)
  916. ClearList.MouseButton1Down:Connect(clear_logs)
  917. EnableSpy.MouseButton1Down:Connect(onclick_remotespy)
  918. ToClipboard.MouseButton1Down:Connect(copy_source)
  919. CryptStrings.MouseButton1Down:Connect(onclick_cryptstring)
  920. FullScreen.MouseButton1Down:Connect(onclick_fullscreen)
  921. FilterE.MouseButton1Down:Connect(onclick_fevents)
  922. FilterF.MouseButton1Down:Connect(onclick_ffunctions)
  923. Search.Changed:Connect(filter_remotes)
  924. game:GetService("Players").LocalPlayer.Chatted:Connect(fix)
  925.  
  926. -- Recursive Remotefill // UI-Backend
  927.  
  928. Table_TS = function(T)
  929.   local M = {}
  930.   for i, v in pairs(T) do
  931.       local I = "\n\t" .. (type(i) == "number" and "[" .. i .. "] = " or "[\"" .. i .. "\"] = ")
  932.       table.insert(M, I .. (type(v) == "table" and Table_TS(v) or GetType(v)))
  933.   end
  934.  
  935.   return "\n{" .. table.concat(M, ", ") .. "\n}"
  936. end
  937.  
  938. function fill(base)
  939. for i, v in pairs(base:GetChildren()) do
  940. if v.ClassName:match("Remote") and v.Name ~= "CharacterSoundEvent" then
  941. local B = SBTN:Clone()
  942.  
  943. B.Parent = SetRemotes
  944. B.Icon.Image = (v.ClassName == "RemoteEvent" and "rbxassetid://413369506" or "rbxassetid://413369623")
  945. B.RemoteName.Text = v.Name
  946. B.ID.Text = GetPath(v)
  947. B.Name = v.Name
  948. B.Position = UDim2.new(0, 10, 0, -20 + #SetRemotes:GetChildren() * 30)
  949. B.MouseButton1Down:Connect(function()
  950. B.Enabled.Text = B.Enabled.Text == "Enabled" and "Disabled" or "Enabled"
  951. B.Enabled.TextColor3 = B.Enabled.Text == "Enabled" and Color3.fromRGB(60, 200, 60) or Color3.fromRGB(200, 60, 60)
  952. B.Enabled.BorderColor3 = B.Enabled.Text == "Enabled" and Color3.fromRGB(30, 100, 30) or Color3.fromRGB(100, 30, 30)
  953. end)
  954. end
  955. fill(v)
  956. end
  957. end
  958.  
  959. fill(game)
  960.  
  961. -- Backend // Remotespy Backend
  962.  
  963. local game_meta = getrawmetatable(game)
  964. local game_namecall = game_meta.__namecall
  965. local namecall_dump = {}
  966. local current_rmt = nil
  967. local g_caller = nil
  968. local f_return = nil
  969. local Step = game:GetService("RunService").Stepped
  970.  
  971. local mwr
  972.  
  973. if setreadonly ~= nil then
  974. mwr = function()
  975. setreadonly(game_meta, false)
  976. end
  977. elseif make_writeable ~= nil then
  978. mwr = function()
  979. make_writeable(game_meta)
  980. end
  981. end
  982.  
  983. mwr()
  984.  
  985. local namecall_script = function(object, method, ...)
  986. local script = "-- Script generated by R2Sv2\n-- R2Sv2 developed by Luckyxero\n\32\n"
  987. local args = {}
  988. for i, v in pairs{...} do
  989. script = script .. "local A_" .. i .. " = " .. (type(v) == "table" and Table_TS(v) or GetType(v)) .. "\n"
  990. table.insert(args, "A_" .. i)
  991. end
  992. script = script .. "local Event = " .. GetPath(object) .. "\n\n"
  993. script = script .. "Event:" .. method .. "(" .. table.concat(args, ", ") .. ")"
  994.  
  995. return script
  996. end
  997.  
  998. local dump_script = function(script)
  999. Source:ClearAllChildren()
  1000. local lines = 0
  1001. script:gsub("[^\r\n]+", function(c)
  1002. lines = lines + 1
  1003. local tabs = 0
  1004. c:gsub("%\t", function() tabs = tabs + 1 end)
  1005. local line = ScriptLine:Clone()
  1006. line.Parent = Source
  1007. line.SourceText.Text = c
  1008. line.Line.Text = lines
  1009. line.RemoteHighlight.Text = Highlight(c, {"FireServer", "InvokeServer", "invokeServer", "fireServer"})
  1010. line.Position = UDim2.new(0, tabs * (17 * 2), 0, -17 + #Source:GetChildren() * 17)
  1011. line.Globals.Text = Highlight(c, global_env)
  1012. line.Line.Position = UDim2.new(0, 0 - tabs * (17 * 2), 0, 0)
  1013. line.Strings.Text = strings(c)
  1014. line.Keywords.Text = Highlight(c, lua_keywords)
  1015. line.Tokens.Text = Tokens(c)
  1016. line.Comments.Text = comments(c)
  1017. end)
  1018. end
  1019.  
  1020. local log_remote = function(table)
  1021. if SetRemotes[table.object.Name].Enabled.Text == "Disabled" then return end
  1022. local B = RBTN:Clone()
  1023. g_caller = table.caller
  1024. remotes_fired = remotes_fired + 1
  1025. Total.Text = remotes_fired
  1026.  
  1027. B.Parent = Remotes
  1028. B.Position = UDim2.new(0, 10, 0, -20 + #Remotes:GetChildren() * 30)
  1029. B.Icon.Image = table.method == "FireServer" and "rbxassetid://413369506" or "rbxassetid://413369623"
  1030. B.RemoteName.Text = table.object.Name
  1031. B.ID.Text = tostring(remotes_fired)
  1032. B.MouseButton1Down:Connect(function()
  1033. dump_script(table.script)
  1034. g_caller = table.caller
  1035. f_return = table.freturn == nil and table.object.Name .. " is not RemoteFunction" or table.freturn
  1036. end)
  1037. end
  1038.  
  1039.  
  1040. local get_namecall_dump = function(script, object, ...)
  1041. local Ret = nil
  1042. if object.ClassName == "RemoteFunction" then
  1043. local freturn = {pcall(object.InvokeServer, object, ...)}
  1044. freturn = {select(2, unpack(freturn))}
  1045.  
  1046. if #freturn == 0 then
  1047. Ret = object.Name .. " is a void type RemoteFunction."
  1048. else
  1049. Ret = Table_TS(freturn)
  1050. end
  1051. end
  1052. namecall_dump[#namecall_dump + 1] =
  1053. {
  1054. script = namecall_script(object, object.ClassName == "RemoteEvent" and "FireServer" or "InvokeServer", ...),
  1055. caller = script,
  1056. object = object,
  1057. method = object.ClassName == "RemoteEvent" and "FireServer" or "InvokeServer",
  1058. freturn = Ret
  1059. }
  1060. end
  1061.  
  1062. GetReturn.MouseButton1Down:Connect(function()
  1063. dump_script(f_return)
  1064. end)
  1065.  
  1066. Decompile.MouseButton1Down:Connect(function()
  1067. local source = decompile(g_caller)
  1068.  
  1069. dump_script(type(source) == "boolean" and "Failed to decompile caller script!" or source)
  1070. end)
  1071.  
  1072. Step:Connect(function()
  1073. while #namecall_dump > 0 do
  1074. log_remote(table.remove(namecall_dump, 1))
  1075. end
  1076. end)
  1077.  
  1078. local on_namecall = function(object, ...)
  1079. local method = select(#{...}, ...)
  1080. local args = {...}
  1081. args[#args] = nil
  1082. if object.Name ~= "CharacterSoundEvent" and method:match("Server") and spy_enabled == true then get_namecall_dump(getfenv(2).script, object, unpack(args)) end
  1083.  
  1084. return game_namecall(object, ...)
  1085. end
  1086.  
  1087. game_meta.__namecall = on_namecall
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement