Vzurxy

Untitled

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