Advertisement
ScriptingCat

Remote Spy

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