Advertisement
abagde

Remote Spy 2024

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