Scriptorz5

audio logger

Dec 23rd, 2018
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.71 KB | None | 0 0
  1. aa = game:GetObjects("rbxassetid://01997056190")[1]
  2. aa.Parent = game.CoreGui
  3. wait(0.2)
  4. GUI = aa.PopupFrame.PopupFrame
  5. pos = 0
  6.  
  7. ignore = {
  8. "rbxasset://sounds/action_get_up.mp3",
  9. "rbxasset://sounds/uuhhh.mp3",
  10. "rbxasset://sounds/action_falling.mp3",
  11. "rbxasset://sounds/action_jump.mp3",
  12. "rbxasset://sounds/action_jump_land.mp3",
  13. "rbxasset://sounds/impact_water.mp3",
  14. "rbxasset://sounds/action_swim.mp3",
  15. "rbxasset://sounds/action_footsteps_plastic.mp3"
  16. }
  17.  
  18. GUI.Close.MouseButton1Click:connect(function()
  19. GUI:TweenSize(UDim2.new(0, 360, 0, 0),"Out","Quad",0.5,true) wait(0.6)
  20. GUI.Parent:TweenSize(UDim2.new(0, 0, 0, 20),"Out","Quad",0.5,true) wait(0.6)
  21. aa:Destroy()
  22. end)
  23.  
  24. local min = false
  25. GUI.Minimize.MouseButton1Click:connect(function()
  26. if min == false then
  27. GUI:TweenSize(UDim2.new(0, 360, 0, 20),"Out","Quad",0.5,true) min = true
  28. else
  29. GUI:TweenSize(UDim2.new(0, 360, 0, 260),"Out","Quad",0.5,true) min = false
  30. end
  31. end)
  32.  
  33. function printTable(tbl)
  34. if type(tbl) ~= 'table' then return nil end
  35. local depthCount = -15
  36.  
  37. local function run(val, inPrefix)
  38. depthCount = depthCount + 15
  39. -- if inPrefix then print(string.rep(' ', depthCount) .. '{') end
  40. for i,v in pairs(val) do
  41. if type(v) == 'table' then
  42. -- print(string.rep(' ', depthCount) .. ' [' .. tostring(i) .. '] = {')
  43. GUI.Store.Text = GUI.Store.Text..'\n'..string.rep(' ', depthCount) .. ' [' .. tostring(i) .. '] = {'
  44. run(v, false)
  45. wait()
  46. else
  47. -- print(string.rep(' ', depthCount) .. ' [' .. tostring(i) .. '] = ' .. tostring(v))
  48. GUI.Store.Text = GUI.Store.Text..'\n'..string.rep(' ', depthCount) .. ' [' .. tostring(i) .. '] = ' .. tostring(v)
  49. wait()
  50. end
  51. end
  52. -- print(string.rep(' ', depthCount) .. '}')
  53. depthCount = depthCount - 15
  54. end
  55. run(tbl, true)
  56. end
  57.  
  58. function refreshlist()
  59. pos = 0
  60. GUI.Logs.CanvasSize = UDim2.new(0,0,0,0)
  61. for i,v in pairs(GUI.Logs:GetChildren()) do
  62. v.Position = UDim2.new(0,0,0, pos)
  63. GUI.Logs.CanvasSize = UDim2.new(0,0,0, pos+20)
  64. pos = pos+20
  65. end
  66. end
  67.  
  68. function FindTable(Table, Name)
  69. for i,v in pairs(Table) do
  70. if v == Name then
  71. return true
  72. end end
  73. return false
  74. end
  75.  
  76. function writefileExploit()
  77. if writefile then
  78. return true
  79. end
  80. end
  81.  
  82. writeaudio = {}
  83. running = false
  84. GUI.SS.MouseButton1Click:connect(function()
  85. if writefileExploit() then
  86. if running == false then
  87. GUI.Load.Visible = true running = true
  88. GUI.Load:TweenSize(UDim2.new(0, 360, 0, 20),"Out","Quad",0.5,true) wait(0.3)
  89. for _, child in pairs(GUI.Logs:GetChildren()) do
  90. if child:FindFirstChild('ImageButton') then local bttn = child:FindFirstChild('ImageButton')
  91. if bttn.BackgroundTransparency == 0 then
  92. writeaudio[#writeaudio + 1] = {NAME = child.NAME.Value, ID = child.ID.Value}
  93. end
  94. end
  95. end
  96. GUI.Store.Visible = true
  97. printTable(writeaudio)
  98. wait(0.2)
  99. local filename = 0
  100. local function write()
  101. local file
  102. pcall(function() file = readfile("Audios"..filename..".txt") end)
  103. if file then
  104. filename = filename+1
  105. write()
  106. else
  107. local text = tostring(GUI.Store.Text)
  108. text = text:gsub('\n', '\r\n')
  109. writefile("Audios"..filename..".txt", text)
  110. end
  111. end
  112. write()
  113. for rep = 1,10 do
  114. GUI.Load.BackgroundTransparency = GUI.Load.BackgroundTransparency + 0.1
  115. wait(0.05)
  116. end
  117. GUI.Load.Visible = false
  118. GUI.Load.BackgroundTransparency = 0
  119. GUI.Load.Size = UDim2.new(0, 0, 0, 20)
  120. running = false
  121. GUI.Store.Visible = false
  122. GUI.Store.Text = ''
  123. writeaudio = {}
  124. game:FindService('StarterGui'):SetCore('SendNotification', {
  125. Title = 'Audio Logger',
  126. Text = 'Saved audios\n(Audios'..filename..'.txt)',
  127. Icon = 'http://www.roblox.com/asset/?id=176572847',
  128. Duration = 5,
  129. })
  130. end
  131. else
  132. game:FindService('StarterGui'):SetCore('SendNotification', {
  133. Title = 'Audio Logger',
  134. Text = 'Exploit cannot writefile :(',
  135. Icon = 'http://www.roblox.com/asset/?id=176572847',
  136. Duration = 5,
  137. })
  138. end
  139. end)
  140.  
  141. GUI.SA.MouseButton1Click:connect(function()
  142. if writefileExploit() then
  143. if running == false then
  144. GUI.Load.Visible = true running = true
  145. GUI.Load:TweenSize(UDim2.new(0, 360, 0, 20),"Out","Quad",0.5,true) wait(0.3)
  146. for _, child in pairs(GUI.Logs:GetChildren()) do
  147. writeaudio[#writeaudio + 1] = {NAME = child.NAME.Value, ID = child.ID.Value}
  148. end
  149. GUI.Store.Visible = true
  150. printTable(writeaudio)
  151. wait(0.2)
  152. local filename = 0
  153. local function write()
  154. local file
  155. pcall(function() file = readfile("Audios"..filename..".txt") end)
  156. if file then
  157. filename = filename+1
  158. write()
  159. else
  160. local text = tostring(GUI.Store.Text)
  161. text = text:gsub('\n', '\r\n')
  162. writefile("Audios"..filename..".txt", text)
  163. end
  164. end
  165. write()
  166. for rep = 1,10 do
  167. GUI.Load.BackgroundTransparency = GUI.Load.BackgroundTransparency + 0.1
  168. wait(0.05)
  169. end
  170. GUI.Load.Visible = false
  171. GUI.Load.BackgroundTransparency = 0
  172. GUI.Load.Size = UDim2.new(0, 0, 0, 20)
  173. running = false
  174. GUI.Store.Visible = false
  175. GUI.Store.Text = ''
  176. writeaudio = {}
  177. game:FindService('StarterGui'):SetCore('SendNotification', {
  178. Title = 'Audio Logger',
  179. Text = 'Saved audios\n(Audios'..filename..'.txt)',
  180. Icon = 'http://www.roblox.com/asset/?id=176572847',
  181. Duration = 5,
  182. })
  183. end
  184. else
  185. game:FindService('StarterGui'):SetCore('SendNotification', {
  186. Title = 'Audio Logger',
  187. Text = 'Exploit cannot writefile :(',
  188. Icon = 'http://www.roblox.com/asset/?id=176572847',
  189. Duration = 5,
  190. })
  191. end
  192. end)
  193.  
  194. selectedaudio = nil
  195. function getaudio(place)
  196. if running == false then
  197. GUI.Load.Visible = true running = true
  198. GUI.Load:TweenSize(UDim2.new(0, 360, 0, 20),"Out","Quad",0.5,true) wait(0.3)
  199. for _, child in pairs(place:GetDescendants()) do
  200. spawn(function()
  201. if child:IsA("Sound") and not GUI.Logs:FindFirstChild(child.SoundId) and not FindTable(ignore,child.SoundId) then
  202. local id = string.match(child.SoundId, "rbxasset://sounds.+") or string.match(child.SoundId, "&hash=.+") or string.match(child.SoundId, "%d+")
  203. if id ~= nil then
  204. local newsound = GUI.Audio:Clone()
  205. if string.sub(id, 1, 6) == "&hash=" or string.sub(id, 1, 7) == "&0hash=" then
  206. id = string.sub(id, (string.sub(id, 1, 6) == "&hash=" and 7) or (string.sub(id, 1, 7) == "&0hash=" and 8), string.len(id))
  207. newsound.ImageButton.Image = 'rbxassetid://1453863294'
  208. end
  209. newsound.Parent = GUI.Logs
  210. newsound.Name = child.SoundId
  211. newsound.Visible = true
  212. newsound.Position = UDim2.new(0,0,0, pos)
  213. GUI.Logs.CanvasSize = UDim2.new(0,0,0, pos+20)
  214. pos = pos+20
  215. local function findname()
  216. Asset = game:GetService("MarketplaceService"):GetProductInfo(id)
  217. end
  218. local audioname = 'error'
  219. local success, message = pcall(findname)
  220. if success then
  221. newsound.TextLabel.Text = Asset.Name
  222. audioname = Asset.Name
  223. else
  224. newsound.TextLabel.Text = child.Name
  225. audioname = child.Name
  226. end
  227. local data = Instance.new('StringValue') data.Parent = newsound data.Value = child.SoundId data.Name = 'ID'
  228. local data2 = Instance.new('StringValue') data2.Parent = newsound data2.Value = audioname data2.Name = 'NAME'
  229. local soundselected = false
  230. newsound.ImageButton.MouseButton1Click:Connect(function()
  231. if GUI.Info.Visible ~= true then
  232. if soundselected == false then soundselected = true
  233. newsound.ImageButton.BackgroundTransparency = 0
  234. else soundselected = false
  235. newsound.ImageButton.BackgroundTransparency = 1
  236. end
  237. end
  238. end)
  239. newsound.Click.MouseButton1Click:Connect(function()
  240. if GUI.Info.Visible ~= true then
  241. GUI.Info.TextLabel.Text = "Name: " ..audioname.. "\n\nID: " .. child.SoundId .. "\n\nWorkspace Name: " .. child.Name
  242. selectedaudio = child.SoundId
  243. GUI.Info.Visible = true
  244. end
  245. end)
  246. end
  247. end
  248. end)
  249. end
  250. end
  251. for rep = 1,10 do
  252. GUI.Load.BackgroundTransparency = GUI.Load.BackgroundTransparency + 0.1
  253. wait(0.05)
  254. end
  255. GUI.Load.Visible = false
  256. GUI.Load.BackgroundTransparency = 0
  257. GUI.Load.Size = UDim2.new(0, 0, 0, 20)
  258. running = false
  259. end
  260.  
  261. GUI.All.MouseButton1Click:connect(function() getaudio(game)end)
  262. GUI.Workspace.MouseButton1Click:connect(function() getaudio(workspace)end)
  263. GUI.Lighting.MouseButton1Click:connect(function() getaudio(game:GetService('Lighting'))end)
  264. GUI.SoundS.MouseButton1Click:connect(function() getaudio(game:GetService('SoundService'))end)
  265. GUI.Clr.MouseButton1Click:connect(function()
  266. for _, child in pairs(GUI.Logs:GetChildren()) do
  267. if child:FindFirstChild('ImageButton') then local bttn = child:FindFirstChild('ImageButton')
  268. if bttn.BackgroundTransparency == 1 then
  269. bttn.Parent:Destroy()
  270. refreshlist()
  271. end
  272. end
  273. end
  274. end)
  275. GUI.ClrS.MouseButton1Click:connect(function()
  276. for _, child in pairs(GUI.Logs:GetChildren()) do
  277. if child:FindFirstChild('ImageButton') then local bttn = child:FindFirstChild('ImageButton')
  278. if bttn.BackgroundTransparency == 0 then
  279. bttn.Parent:Destroy()
  280. refreshlist()
  281. end
  282. end
  283. end
  284. end)
  285. autoscan = false
  286. GUI.AutoScan.MouseButton1Click:connect(function()
  287. if autoscan == false then autoscan = true
  288. GUI.AutoScan.BackgroundTransparency = 0.5
  289. game:FindService('StarterGui'):SetCore('SendNotification', {
  290. Title = 'Audio Logger',
  291. Text = 'Auto Scan ENABLED',
  292. Icon = 'http://www.roblox.com/asset/?id=176572847',
  293. Duration = 5,
  294. })
  295. else autoscan = false
  296. GUI.AutoScan.BackgroundTransparency = 0
  297. game:FindService('StarterGui'):SetCore('SendNotification', {
  298. Title = 'Audio Logger',
  299. Text = 'Auto Scan DISABLED',
  300. Icon = 'http://www.roblox.com/asset/?id=176572847',
  301. Duration = 5,
  302. })
  303. end
  304. end)
  305.  
  306. game.DescendantAdded:connect(function(added)
  307. wait()
  308. if autoscan == true and added:IsA('Sound') and not GUI.Logs:FindFirstChild(added.SoundId) and not FindTable(ignore,added.SoundId) then
  309. local id = string.match(added.SoundId, "rbxasset://sounds.+") or string.match(added.SoundId, "&hash=.+") or string.match(added.SoundId, "%d+")
  310. if id ~= nil then
  311. local newsound = GUI.Audio:Clone()
  312. if string.sub(id, 1, 6) == "&hash=" or string.sub(id, 1, 7) == "&0hash=" then
  313. id = string.sub(id, (string.sub(id, 1, 6) == "&hash=" and 7) or (string.sub(id, 1, 7) == "&0hash=" and 8), string.len(id))
  314. newsound.ImageButton.Image = 'rbxassetid://1453863294'
  315. end
  316. local scrolldown = false
  317. newsound.Parent = GUI.Logs
  318. newsound.Name = added.SoundId
  319. newsound.Visible = true
  320. newsound.Position = UDim2.new(0,0,0, pos)
  321. if GUI.Logs.CanvasPosition.Y == GUI.Logs.CanvasSize.Y.Offset - 230 then
  322. scrolldown = true
  323. end
  324. GUI.Logs.CanvasSize = UDim2.new(0,0,0, pos+20)
  325. pos = pos+20
  326. local function findname()
  327. Asset = game:GetService("MarketplaceService"):GetProductInfo(id)
  328. end
  329. local audioname = 'error'
  330. local success, message = pcall(findname)
  331. if success then
  332. newsound.TextLabel.Text = Asset.Name
  333. audioname = Asset.Name
  334. else
  335. newsound.TextLabel.Text = added.Name
  336. audioname = added.Name
  337. end
  338. local data = Instance.new('StringValue') data.Parent = newsound data.Value = added.SoundId data.Name = 'ID'
  339. local data2 = Instance.new('StringValue') data2.Parent = newsound data2.Value = audioname data2.Name = 'NAME'
  340. local soundselected = false
  341. newsound.ImageButton.MouseButton1Click:Connect(function()
  342. if GUI.Info.Visible ~= true then
  343. if soundselected == false then soundselected = true
  344. newsound.ImageButton.BackgroundTransparency = 0
  345. else soundselected = false
  346. newsound.ImageButton.BackgroundTransparency = 1
  347. end
  348. end
  349. end)
  350. newsound.Click.MouseButton1Click:Connect(function()
  351. if GUI.Info.Visible ~= true then
  352. GUI.Info.TextLabel.Text = "Name: " ..audioname.. "\n\nID: " .. added.SoundId .. "\n\nWorkspace Name: " .. added.Name
  353. selectedaudio = added.SoundId
  354. GUI.Info.Visible = true
  355. end
  356. end)
  357. --230'
  358. if scrolldown == true then
  359. GUI.Logs.CanvasPosition = Vector2.new(0, 9999999999999999999999999999999999999999999, 0, 0)
  360. end
  361. end
  362. end
  363. end)
  364.  
  365. GUI.Info.Copy.MouseButton1Click:Connect(function()
  366. if pcall(function() Synapse:Copy(selectedaudio) end) then
  367. else
  368. local clip = setclipboard or Clipboard.set
  369. clip(selectedaudio)
  370. end
  371. game:FindService('StarterGui'):SetCore('SendNotification', {
  372. Title = 'Audio Logger',
  373. Text = 'Copied to clipboard',
  374. Icon = 'http://www.roblox.com/asset/?id=176572847',
  375. Duration = 5,
  376. })
  377. end)
  378.  
  379. GUI.Info.Close.MouseButton1Click:Connect(function()
  380. GUI.Info.Visible = false
  381. for _, sound in pairs(game:GetService('Players').LocalPlayer.PlayerGui:GetChildren()) do
  382. if sound.Name == 'SampleSound' then
  383. sound:Destroy()
  384. end
  385. end
  386. GUI.Info.Listen.Text = 'Listen'
  387. end)
  388.  
  389. GUI.Info.Listen.MouseButton1Click:Connect(function()
  390. if GUI.Info.Listen.Text == 'Listen' then
  391. local samplesound = Instance.new('Sound') samplesound.Parent = game:GetService('Players').LocalPlayer.PlayerGui
  392. samplesound.Looped = true samplesound.SoundId = selectedaudio samplesound:Play() samplesound.Name = 'SampleSound'
  393. samplesound.Volume = 5
  394. GUI.Info.Listen.Text = 'Stop'
  395. else
  396. for _, sound in pairs(game:GetService('Players').LocalPlayer.PlayerGui:GetChildren()) do
  397. if sound.Name == 'SampleSound' then
  398. sound:Destroy()
  399. end
  400. end
  401. GUI.Info.Listen.Text = 'Listen'
  402. end
  403. end)
  404.  
  405. function drag(gui)
  406. spawn(function()
  407. local UserInputService = game:GetService("UserInputService")
  408. local dragging
  409. local dragInput
  410. local dragStart
  411. local startPos
  412. local function update(input)
  413. local delta = input.Position - dragStart
  414. gui:TweenPosition(UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y), "InOut", "Quart", 0.04, true, nil)
  415. end
  416. gui.InputBegan:Connect(function(input)
  417. if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
  418. dragging = true
  419. dragStart = input.Position
  420. startPos = gui.Position
  421. input.Changed:Connect(function()
  422. if input.UserInputState == Enum.UserInputState.End then
  423. dragging = false
  424. end
  425. end)
  426. end
  427. end)
  428. gui.InputChanged:Connect(function(input)
  429. if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
  430. dragInput = input
  431. end
  432. end)
  433. UserInputService.InputChanged:Connect(function(input)
  434. if input == dragInput and dragging then
  435. update(input)
  436. end
  437. end)
  438. end)
  439. end
  440. drag(aa.PopupFrame)
Add Comment
Please, Sign In to add comment