Advertisement
1zxyuuki

A

Jan 26th, 2025
19
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.41 KB | None | 0 0
  1. --[[
  2. WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
  3. ]]
  4. local Players = game:GetService("Players")
  5. local CoreGui = game:GetService("CoreGui")
  6. local UserInputService = game:GetService("UserInputService")
  7.  
  8. local Colors = {
  9. Background = Color3.fromRGB(25, 25, 25),
  10. Primary = Color3.fromRGB(40, 40, 40),
  11. Secondary = Color3.fromRGB(50, 50, 50),
  12. Text = Color3.fromRGB(220, 220, 220),
  13. Accent = Color3.fromRGB(0, 120, 220),
  14. RemoteEvent = Color3.fromRGB(0, 180, 120),
  15. RemoteFunction = Color3.fromRGB(0, 120, 220)
  16. }
  17.  
  18. local RemoteDetectorGui = Instance.new("ScreenGui")
  19. RemoteDetectorGui.Name = "RemoteDetectorGui"
  20. RemoteDetectorGui.Parent = CoreGui
  21.  
  22. local Frame = Instance.new("Frame")
  23. Frame.Size = UDim2.new(0.5, 0, 0.7, 0)
  24. Frame.Position = UDim2.new(0.25, 0, 0.15, 0)
  25. Frame.BackgroundColor3 = Colors.Background
  26. Frame.BorderColor3 = Colors.Primary
  27. Frame.BorderSizePixel = 1
  28. Frame.Parent = RemoteDetectorGui
  29.  
  30. local function makeDraggable(dragParent)
  31. local dragging
  32. local dragInput
  33. local dragStart
  34. local startPos
  35. local dragTopbar = Instance.new("Frame")
  36. dragTopbar.Size = UDim2.new(1, 0, 0.1, 0)
  37. dragTopbar.BackgroundTransparency = 1
  38. dragTopbar.Parent = dragParent
  39.  
  40. local function update(input)
  41. local delta = input.Position - dragStart
  42. dragParent.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
  43. end
  44.  
  45. dragTopbar.InputBegan:Connect(function(input)
  46. if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
  47. dragging = true
  48. dragStart = input.Position
  49. startPos = dragParent.Position
  50.  
  51. input.Changed:Connect(function()
  52. if input.UserInputState == Enum.UserInputState.End then
  53. dragging = false
  54. end
  55. end)
  56. end
  57. end)
  58.  
  59. dragTopbar.InputChanged:Connect(function(input)
  60. if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
  61. dragInput = input
  62. end
  63. end)
  64.  
  65. UserInputService.InputChanged:Connect(function(input)
  66. if input == dragInput and dragging then
  67. update(input)
  68. end
  69. end)
  70.  
  71. return dragTopbar
  72. end
  73. local DragTopbar = makeDraggable(Frame)
  74.  
  75. local TitleBar = Instance.new("Frame")
  76. TitleBar.Size = UDim2.new(1, 0, 0.1, 0)
  77. TitleBar.BackgroundColor3 = Colors.Primary
  78. TitleBar.BorderSizePixel = 0
  79. TitleBar.Parent = Frame
  80.  
  81. local Title = Instance.new("TextLabel")
  82. Title.Size = UDim2.new(1, -10, 1, 0)
  83. Title.Position = UDim2.new(0, 10, 0, 0)
  84. Title.Text = "Remote Detector"
  85. Title.Font = Enum.Font.GothamMedium
  86. Title.TextSize = 16
  87. Title.TextColor3 = Colors.Text
  88. Title.TextXAlignment = Enum.TextXAlignment.Left
  89. Title.BackgroundTransparency = 1
  90. Title.Parent = TitleBar
  91.  
  92. local SearchBox = Instance.new("TextBox")
  93. SearchBox.Size = UDim2.new(1, -20, 0, 30)
  94. SearchBox.Position = UDim2.new(0, 10, 0.1, 10)
  95. SearchBox.BackgroundColor3 = Colors.Secondary
  96. SearchBox.BorderSizePixel = 0
  97. SearchBox.Font = Enum.Font.GothamMedium
  98. SearchBox.TextSize = 14
  99. SearchBox.PlaceholderText = "Search Remotes..."
  100. SearchBox.TextColor3 = Colors.Text
  101. SearchBox.PlaceholderColor3 = Color3.fromRGB(150, 150, 150)
  102. SearchBox.Parent = Frame
  103.  
  104. local ScrollFrame = Instance.new("ScrollingFrame")
  105. ScrollFrame.Size = UDim2.new(1, 0, 0.7, 0)
  106. ScrollFrame.Position = UDim2.new(0, 0, 0.25, 0)
  107. ScrollFrame.BackgroundTransparency = 1
  108. ScrollFrame.BorderSizePixel = 0
  109. ScrollFrame.ScrollBarThickness = 4
  110. ScrollFrame.ScrollBarImageColor3 = Colors.Accent
  111. ScrollFrame.Parent = Frame
  112.  
  113. local UIListLayout = Instance.new("UIListLayout")
  114. UIListLayout.SortOrder = Enum.SortOrder.Name
  115. UIListLayout.Padding = UDim.new(0, 5)
  116. UIListLayout.Parent = ScrollFrame
  117.  
  118. local function createRemoteUsageGui(remotePath, remoteType)
  119. local DetailsGui = Instance.new("ScreenGui")
  120. DetailsGui.Name = "RemoteDetailsGui"
  121. DetailsGui.Parent = CoreGui
  122.  
  123. local DetailsFrame = Instance.new("Frame")
  124. DetailsFrame.Size = UDim2.new(0.4, 0, 0.5, 0)
  125. DetailsFrame.Position = UDim2.new(0.3, 0, 0.25, 0)
  126. DetailsFrame.BackgroundColor3 = Colors.Background
  127. DetailsFrame.BorderColor3 = Colors.Primary
  128. DetailsFrame.BorderSizePixel = 1
  129. DetailsFrame.Parent = DetailsGui
  130.  
  131. local CloseButton = Instance.new("TextButton")
  132. CloseButton.Size = UDim2.new(0.1, 0, 0.1, 0)
  133. CloseButton.Position = UDim2.new(0.9, 0, 0, 0)
  134. CloseButton.Text = "✕"
  135. CloseButton.Font = Enum.Font.GothamBold
  136. CloseButton.TextSize = 16
  137. CloseButton.BackgroundColor3 = Colors.Background
  138. CloseButton.BorderSizePixel = 0
  139. CloseButton.TextColor3 = Color3.fromRGB(200, 50, 50)
  140.  
  141. CloseButton.MouseEnter:Connect(function()
  142. CloseButton.BackgroundColor3 = Colors.Secondary
  143. CloseButton.TextColor3 = Color3.fromRGB(255, 80, 80)
  144. end)
  145. CloseButton.MouseLeave:Connect(function()
  146. CloseButton.BackgroundColor3 = Colors.Background
  147. CloseButton.TextColor3 = Color3.fromRGB(200, 50, 50)
  148. end)
  149.  
  150. CloseButton.Parent = DetailsFrame
  151.  
  152. CloseButton.MouseButton1Click:Connect(function()
  153. DetailsGui:Destroy()
  154. end)
  155.  
  156. local DetailsTitle = Instance.new("TextLabel")
  157. DetailsTitle.Size = UDim2.new(0.8, 0, 0.1, 0)
  158. DetailsTitle.Position = UDim2.new(0.1, 0, 0, 0)
  159. DetailsTitle.Text = "Remote Usage: " .. remotePath
  160. DetailsTitle.Font = Enum.Font.GothamMedium
  161. DetailsTitle.TextSize = 14
  162. DetailsTitle.BackgroundTransparency = 1
  163. DetailsTitle.TextColor3 = Colors.Text
  164. DetailsTitle.Parent = DetailsFrame
  165.  
  166. local CopyButton = Instance.new("TextButton")
  167. CopyButton.Size = UDim2.new(0.1, 0, 0.1, 0)
  168. CopyButton.Position = UDim2.new(0, 0, 0, 0)
  169. CopyButton.Text = "📋"
  170. CopyButton.Font = Enum.Font.GothamBold
  171. CopyButton.TextSize = 16
  172. CopyButton.BackgroundColor3 = Colors.Background
  173. CopyButton.BorderSizePixel = 0
  174. CopyButton.TextColor3 = Colors.Accent
  175.  
  176. CopyButton.MouseEnter:Connect(function()
  177. CopyButton.BackgroundColor3 = Colors.Secondary
  178. CopyButton.TextColor3 = Color3.fromRGB(100, 180, 255)
  179. end)
  180. CopyButton.MouseLeave:Connect(function()
  181. CopyButton.BackgroundColor3 = Colors.Background
  182. CopyButton.TextColor3 = Colors.Accent
  183. end)
  184.  
  185. CopyButton.Parent = DetailsFrame
  186.  
  187. local UsageScroll = Instance.new("ScrollingFrame")
  188. UsageScroll.Size = UDim2.new(0.9, 0, 0.8, 0)
  189. UsageScroll.Position = UDim2.new(0.05, 0, 0.15, 0)
  190. UsageScroll.BackgroundColor3 = Colors.Primary
  191. UsageScroll.BorderSizePixel = 1
  192. UsageScroll.BorderColor3 = Colors.Secondary
  193. UsageScroll.ScrollBarThickness = 4
  194. UsageScroll.ScrollBarImageColor3 = Colors.Accent
  195. UsageScroll.Parent = DetailsFrame
  196.  
  197. local UsageText = Instance.new("TextLabel")
  198. UsageText.Size = UDim2.new(1, -10, 1, 0)
  199. UsageText.Position = UDim2.new(0, 5, 0, 0)
  200. UsageText.BackgroundTransparency = 1
  201. UsageText.Font = Enum.Font.Code
  202. UsageText.TextSize = 12
  203. UsageText.TextColor3 = Colors.Text
  204. UsageText.TextXAlignment = Enum.TextXAlignment.Left
  205. UsageText.TextYAlignment = Enum.TextYAlignment.Top
  206. UsageText.RichText = true
  207. UsageText.Parent = UsageScroll
  208.  
  209. local exampleText = ""
  210. local copiedCode = ""
  211.  
  212. if remotePath:find("VoiceChatService") then
  213. exampleText = [[
  214. <font color="#00B4FF"><b>Voice Chat Remote Usage:</b></font>
  215. ```lua
  216. -- Client-side
  217. local VoiceChatService = game:GetService("VoiceChatService")
  218. VoiceChatService:joinVoice()
  219.  
  220. -- To leave voice chat
  221. VoiceChatService:leaveVoice()
  222. ```
  223. <font color="#00B4FF"><b>Potential Use Cases:</b></font>
  224. - Join team voice channels
  225. - Enable/disable microphone
  226. - Check voice chat status
  227. ]]
  228. copiedCode = [[-- Client-side
  229. local VoiceChatService = game:GetService("VoiceChatService")
  230. VoiceChatService:joinVoice()
  231.  
  232. -- To leave voice chat
  233. VoiceChatService:leaveVoice()]]
  234. elseif remoteType == "RemoteEvent" then
  235. exampleText = string.format([[
  236. <font color="#00B4FF"><b>RemoteEvent Usage for %s:</b></font>
  237. ```lua
  238. -- Client-side (Firing to Server)
  239. local remote = %s
  240. remote:FireServer(arg1, arg2)
  241.  
  242. -- Server-side (Handling the Event)
  243. remote.OnServerEvent:Connect(function(player, arg1, arg2)
  244. -- Process the received arguments
  245. print("Received from " .. player.Name)
  246. end)
  247. ```
  248. <font color="#00B4FF"><b>Common Patterns:</b></font>
  249. - Sending player actions
  250. - Triggering server-side events
  251. - Synchronizing game states
  252. ]], remotePath, remotePath)
  253. copiedCode = string.format([[-- Client-side (Firing to Server)
  254. local remote = %s
  255. remote:FireServer(arg1, arg2)
  256.  
  257. -- Server-side (Handling the Event)
  258. remote.OnServerEvent:Connect(function(player, arg1, arg2)
  259. -- Process the received arguments
  260. print("Received from " .. player.Name)
  261. end)]], remotePath)
  262. elseif remoteType == "RemoteFunction" then
  263. exampleText = string.format([[
  264. <font color="#00B4FF"><b>RemoteFunction Usage for %s:</b></font>
  265. ```lua
  266. -- Client-side (Invoking Server)
  267. local remote = %s
  268. local result = remote:InvokeServer(arg1, arg2)
  269. print("Server returned:", result)
  270.  
  271. -- Server-side (Handling the Invocation)
  272. remote.OnServerInvoke = function(player, arg1, arg2)
  273. -- Process arguments and return a value
  274. return someComputedValue
  275. end
  276. ```
  277. <font color="#00B4FF"><b>Common Use Cases:</b></font>
  278. - Data retrieval
  279. - Server-side computations
  280. - Validation checks
  281. ]], remotePath, remotePath)
  282. copiedCode = string.format([[-- Client-side (Invoking Server)
  283. local remote = %s
  284. local result = remote:InvokeServer(arg1, arg2)
  285. print("Server returned:", result)
  286.  
  287. -- Server-side (Handling the Invocation)
  288. remote.OnServerInvoke = function(player, arg1, arg2)
  289. -- Process arguments and return a value
  290. return someComputedValue
  291. end]], remotePath)
  292. else
  293. exampleText = [[
  294. <font color="#FF6B6B"><b>Generic Remote Interaction:</b></font>
  295. Unable to generate specific example.
  296. Check the remote's context and purpose.
  297. ]]
  298. copiedCode = "-- No specific code example available"
  299. end
  300.  
  301. UsageText.Text = exampleText
  302.  
  303. -- Copy functionality
  304. CopyButton.MouseButton1Click:Connect(function()
  305. setclipboard(copiedCode)
  306. CopyButton.Text = "✓"
  307. task.wait(0.5)
  308. CopyButton.Text = "📋"
  309. end)
  310.  
  311. return DetailsGui
  312. end
  313.  
  314. local function DetectRemotes(searchTerm)
  315. for _, child in ipairs(ScrollFrame:GetChildren()) do
  316. if child:IsA("TextButton") then
  317. child:Destroy()
  318. end
  319. end
  320.  
  321. local function scanForRemotes(parent)
  322. for _, child in ipairs(parent:GetDescendants()) do
  323. if (child:IsA("RemoteEvent") or child:IsA("RemoteFunction")) and
  324. (not searchTerm or child:GetFullName():lower():find(searchTerm:lower())) then
  325. local RemoteButton = Instance.new("TextButton")
  326. RemoteButton.Size = UDim2.new(1, -10, 0, 35)
  327. RemoteButton.Position = UDim2.new(0, 5, 0, 0)
  328. RemoteButton.Text = child:GetFullName()
  329. RemoteButton.Font = Enum.Font.GothamMedium
  330. RemoteButton.TextSize = 14
  331. RemoteButton.BackgroundColor3 = child:IsA("RemoteEvent") and Colors.RemoteEvent or Colors.RemoteFunction
  332. RemoteButton.BackgroundTransparency = 0.7
  333. RemoteButton.BorderSizePixel = 0
  334. RemoteButton.TextColor3 = Colors.Text
  335.  
  336. RemoteButton.MouseEnter:Connect(function()
  337. RemoteButton.BackgroundTransparency = 0.4
  338. end)
  339. RemoteButton.MouseLeave:Connect(function()
  340. RemoteButton.BackgroundTransparency = 0.7
  341. end)
  342.  
  343. RemoteButton.MouseButton1Click
  344. :Connect(function()
  345. local existingGui = CoreGui:FindFirstChild("RemoteDetailsGui")
  346. if existingGui then
  347. existingGui:Destroy()
  348. end
  349.  
  350. createRemoteUsageGui(child:GetFullName(), child.ClassName)
  351. end)
  352.  
  353. RemoteButton.Parent = ScrollFrame
  354. end
  355. end
  356. end
  357.  
  358. scanForRemotes(game)
  359. end
  360.  
  361. SearchBox.Changed:Connect(function(property)
  362. if property == "Text" then
  363. DetectRemotes(SearchBox.Text)
  364. end
  365. end)
  366.  
  367. local RefreshButton = Instance.new("TextButton")
  368. RefreshButton.Size = UDim2.new(1, 0, 0.1, 0)
  369. RefreshButton.Position = UDim2.new(0, 0, 0.95, 0)
  370. RefreshButton.Text = "Refresh Remotes"
  371. RefreshButton.Font = Enum.Font.GothamMedium
  372. RefreshButton.TextSize = 14
  373. RefreshButton.BackgroundColor3 = Colors.Primary
  374. RefreshButton.BorderSizePixel = 0
  375. RefreshButton.TextColor3 = Colors.Accent
  376. RefreshButton.Parent = Frame
  377.  
  378. RefreshButton.MouseEnter:Connect(function()
  379. RefreshButton.BackgroundColor3 = Colors.Secondary
  380. end)
  381. RefreshButton.MouseLeave:Connect(function()
  382. RefreshButton.BackgroundColor3 = Colors.Primary
  383. end)
  384.  
  385. RefreshButton.MouseButton1Click:Connect(function()
  386. SearchBox.Text = ""
  387. DetectRemotes()
  388. end)
  389.  
  390. DetectRemotes()
  391.  
  392. UserInputService.InputBegan:Connect(function(input, gameProcessed)
  393. if input.KeyCode == Enum.KeyCode.F3 and not gameProcessed then
  394. RemoteDetectorGui.Enabled = not RemoteDetectorGui.Enabled
  395. end
  396. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement