Advertisement
CipRos

RemoteSpy

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