Seach Sound serve Ken
Key RequiredUniversal

Seach Sound serve Ken

Universal ScriptScriptNoKeysScriptNoKeys 10.8K views 42 executesUpdated Sep 11, 2023
Unrated
00
Lua Script•440 lines (14625 chars)
aa = game:GetObjects("rbxassetid://01997056190")[1]
aa.Parent = game.CoreGui
wait(0.2)
GUI = aa.PopupFrame.PopupFrame
pos = 0

ignore = {
 "rbxasset://sounds/action_get_up.mp3",
 "rbxasset://sounds/uuhhh.mp3",
 "rbxasset://sounds/action_falling.mp3",
 "rbxasset://sounds/action_jump.mp3",
 "rbxasset://sounds/action_jump_land.mp3",
 "rbxasset://sounds/impact_water.mp3",
 "rbxasset://sounds/action_swim.mp3",
 "rbxasset://sounds/action_footsteps_plastic.mp3"
}

GUI.Close.MouseButton1Click:connect(function()
 GUI:TweenSize(UDim2.new(0, 360, 0, 0),"Out","Quad",0.5,true) wait(0.6)
 GUI.Parent:TweenSize(UDim2.new(0, 0, 0, 20),"Out","Quad",0.5,true) wait(0.6)
 aa:Destroy()
end)

local min = false
GUI.Minimize.MouseButton1Click:connect(function()
 if min == false then
  GUI:TweenSize(UDim2.new(0, 360, 0, 20),"Out","Quad",0.5,true) min = true
 else
  GUI:TweenSize(UDim2.new(0, 360, 0, 260),"Out","Quad",0.5,true) min = false
 end
end)

function printTable(tbl)
 if type(tbl) ~= 'table' then return nil end
 local depthCount = -15

 local function run(val, inPrefix)
  depthCount = depthCount + 15
  -- if inPrefix then print(string.rep(' ', depthCount) .. '{') end
  for i,v in pairs(val) do
   if type(v) == 'table' then
    -- print(string.rep(' ', depthCount) .. ' [' .. tostring(i) .. '] = {')
    GUI.Store.Text = GUI.Store.Text..'\n'..string.rep(' ', depthCount) .. ' [' .. tostring(i) .. '] = {'
    run(v, false)
    wait()
   else
    -- print(string.rep(' ', depthCount) .. ' [' .. tostring(i) .. '] = ' .. tostring(v))
    GUI.Store.Text = GUI.Store.Text..'\n'..string.rep(' ', depthCount) .. ' [' .. tostring(i) .. '] = ' .. tostring(v)
    wait()
   end
  end
  -- print(string.rep(' ', depthCount) .. '}')
  depthCount = depthCount - 15
 end
 run(tbl, true)
end

function refreshlist()
 pos = 0
 GUI.Logs.CanvasSize = UDim2.new(0,0,0,0)
 for i,v in pairs(GUI.Logs:GetChildren()) do
  v.Position = UDim2.new(0,0,0, pos)
  GUI.Logs.CanvasSize = UDim2.new(0,0,0, pos+20)
  pos = pos+20
 end
end

function FindTable(Table, Name)
 for i,v in pairs(Table) do
  if v == Name then
   return true
  end end
 return false
end

function writefileExploit()
 if writefile then
  return true
 end
end

writeaudio = {}
running = false
GUI.SS.MouseButton1Click:connect(function()
 if writefileExploit() then
  if running == false then
   GUI.Load.Visible = true running = true
   GUI.Load:TweenSize(UDim2.new(0, 360, 0, 20),"Out","Quad",0.5,true) wait(0.3)
   for _, child in pairs(GUI.Logs:GetChildren()) do
    if child:FindFirstChild('ImageButton') then local bttn = child:FindFirstChild('ImageButton')
     if bttn.BackgroundTransparency == 0 then
      writeaudio[#writeaudio + 1] = {NAME = child.NAME.Value, ID = child.ID.Value}
     end
    end
   end
   GUI.Store.Visible = true
   printTable(writeaudio)
   wait(0.2)
   local filename = 0
   local function write()
    local file
    pcall(function() file = readfile("Audios"..filename..".txt") end)
    if file then
     filename = filename+1
     write()
    else
     local text = tostring(GUI.Store.Text)
     text = text:gsub('\n', '\r\n')
     writefile("Audios"..filename..".txt", text)
    end
   end
   write()
   for rep = 1,10 do
   GUI.Load.BackgroundTransparency = GUI.Load.BackgroundTransparency + 0.1
   wait(0.05)
   end
   GUI.Load.Visible = false
   GUI.Load.BackgroundTransparency = 0
   GUI.Load.Size = UDim2.new(0, 0, 0, 20)
   running = false
   GUI.Store.Visible = false
   GUI.Store.Text = ''
   writeaudio = {}
   game:FindService('StarterGui'):SetCore('SendNotification', {
    Title = 'Audio Logger',
    Text = 'Saved audios\n(Audios'..filename..'.txt)',
    Icon = 'http://www.roblox.com/asset/?id=176572847',
    Duration = 5,
   })
  end
 else
  game:FindService('StarterGui'):SetCore('SendNotification', {
   Title = 'Ken Seach Sound',
   Text = 'Exploit cannot writefile :(',
   Icon = 'http://www.roblox.com/asset/?id=176572847',
   Duration = 5,
  })
 end
end)

GUI.SA.MouseButton1Click:connect(function()
 if writefileExploit() then
  if running == false then
   GUI.Load.Visible = true running = true
   GUI.Load:TweenSize(UDim2.new(0, 360, 0, 20),"Out","Quad",0.5,true) wait(0.3)
   for _, child in pairs(GUI.Logs:GetChildren()) do
    writeaudio[#writeaudio + 1] = {NAME = child.NAME.Value, ID = child.ID.Value}
   end
   GUI.Store.Visible = true
   printTable(writeaudio)
   wait(0.2)
   local filename = 0
   local function write()
    local file
    pcall(function() file = readfile("Audios"..filename..".txt") end)
    if file then
     filename = filename+1
     write()
    else
     local text = tostring(GUI.Store.Text)
     text = text:gsub('\n', '\r\n')
     writefile("Audios"..filename..".txt", text)
    end
   end
   write()
   for rep = 1,10 do
    GUI.Load.BackgroundTransparency = GUI.Load.BackgroundTransparency + 0.1
    wait(0.05)
   end
   GUI.Load.Visible = false
   GUI.Load.BackgroundTransparency = 0
   GUI.Load.Size = UDim2.new(0, 0, 0, 20)
   running = false
   GUI.Store.Visible = false
   GUI.Store.Text = ''
   writeaudio = {}
   game:FindService('StarterGui'):SetCore('SendNotification', {
    Title = 'Audio Logger',
    Text = 'Saved audios\n(Audios'..filename..'.txt)',
    Icon = 'http://www.roblox.com/asset/?id=176572847',
    Duration = 5,
   })
  end
 else
  game:FindService('StarterGui'):SetCore('SendNotification', {
   Title = 'Audio Logger',
   Text = 'Exploit cannot writefile :(',
   Icon = 'http://www.roblox.com/asset/?id=176572847',
   Duration = 5,
  })
 end
end)

selectedaudio = nil
function getaudio(place)
 if running == false then
  GUI.Load.Visible = true running = true
  GUI.Load:TweenSize(UDim2.new(0, 360, 0, 20),"Out","Quad",0.5,true) wait(0.3)
  for _, child in pairs(place:GetDescendants()) do
   spawn(function()
    if child:IsA("Sound") and not GUI.Logs:FindFirstChild(child.SoundId) and not FindTable(ignore,child.SoundId) then
     local id = string.match(child.SoundId, "rbxasset://sounds.+") or string.match(child.SoundId, "&hash=.+") or string.match(child.SoundId, "%d+")
     if id ~= nil then  
      local newsound = GUI.Audio:Clone()
      if string.sub(id, 1, 6) == "&hash=" or string.sub(id, 1, 7) == "&0hash=" then
       id = string.sub(id, (string.sub(id, 1, 6) == "&hash=" and 7) or (string.sub(id, 1, 7) == "&0hash=" and 8), string.len(id))
       newsound.ImageButton.Image = 'rbxassetid://1453863294'
      end
      newsound.Parent = GUI.Logs
      newsound.Name = child.SoundId
      newsound.Visible = true
      newsound.Position = UDim2.new(0,0,0, pos)
      GUI.Logs.CanvasSize = UDim2.new(0,0,0, pos+20)
      pos = pos+20
      local function findname()
       Asset = game:GetService("MarketplaceService"):GetProductInfo(id)
      end
      local audioname = 'error'
      local success, message = pcall(findname)
      if success then
          newsound.TextLabel.Text = Asset.Name
       audioname = Asset.Name
      else
       newsound.TextLabel.Text = child.Name
       audioname = child.Name
      end
      local data = Instance.new('StringValue') data.Parent = newsound data.Value = child.SoundId data.Name = 'ID'
      local data2 = Instance.new('StringValue') data2.Parent = newsound data2.Value = audioname data2.Name = 'NAME'
      local soundselected = false
      newsound.ImageButton.MouseButton1Click:Connect(function()
       if GUI.Info.Visible ~= true then
        if soundselected == false then soundselected = true
         newsound.ImageButton.BackgroundTransparency = 0
        else soundselected = false
         newsound.ImageButton.BackgroundTransparency = 1
        end
       end
      end)
      newsound.Click.MouseButton1Click:Connect(function()
       if GUI.Info.Visible ~= true then
        GUI.Info.TextLabel.Text = "Name: " ..audioname.. "\n\nID: " .. child.SoundId .. "\n\nWorkspace Name: " .. child.Name
        selectedaudio = child.SoundId
        GUI.Info.Visible = true
       end
      end)
     end
    end
   end)
  end
 end
 for rep = 1,10 do
  GUI.Load.BackgroundTransparency = GUI.Load.BackgroundTransparency + 0.1
  wait(0.05)
 end
 GUI.Load.Visible = false
 GUI.Load.BackgroundTransparency = 0
 GUI.Load.Size = UDim2.new(0, 0, 0, 20)
 running = false
end

GUI.All.MouseButton1Click:connect(function() getaudio(game)end)
GUI.Workspace.MouseButton1Click:connect(function() getaudio(workspace)end)
GUI.Lighting.MouseButton1Click:connect(function() getaudio(game:GetService('Lighting'))end)
GUI.SoundS.MouseButton1Click:connect(function() getaudio(game:GetService('SoundService'))end)
GUI.Clr.MouseButton1Click:connect(function()
 for _, child in pairs(GUI.Logs:GetChildren()) do
  if child:FindFirstChild('ImageButton') then local bttn = child:FindFirstChild('ImageButton')
   if bttn.BackgroundTransparency == 1 then
    bttn.Parent:Destroy()
    refreshlist()
   end
  end
 end
end)
GUI.ClrS.MouseButton1Click:connect(function()
 for _, child in pairs(GUI.Logs:GetChildren()) do
  if child:FindFirstChild('ImageButton') then local bttn = child:FindFirstChild('ImageButton')
   if bttn.BackgroundTransparency == 0 then
    bttn.Parent:Destroy()
    refreshlist()
   end
  end
 end
end)
autoscan = false
GUI.AutoScan.MouseButton1Click:connect(function()
 if autoscan == false then autoscan = true
  GUI.AutoScan.BackgroundTransparency = 0.5
  game:FindService('StarterGui'):SetCore('SendNotification', {
   Title = 'Audio Logger',
   Text = 'Auto Scan ENABLED',
   Icon = 'http://www.roblox.com/asset/?id=176572847',
   Duration = 5,
  })
 else autoscan = false
  GUI.AutoScan.BackgroundTransparency = 0
  game:FindService('StarterGui'):SetCore('SendNotification', {
   Title = 'Audio Logger',
   Text = 'Auto Scan DISABLED',
   Icon = 'http://www.roblox.com/asset/?id=176572847',
   Duration = 5,
  })
 end
end)

game.DescendantAdded:connect(function(added)
 wait()
 if autoscan == true and added:IsA('Sound') and not GUI.Logs:FindFirstChild(added.SoundId) and not FindTable(ignore,added.SoundId) then
  local id = string.match(added.SoundId, "rbxasset://sounds.+") or string.match(added.SoundId, "&hash=.+") or string.match(added.SoundId, "%d+")
  if id ~= nil then  
   local newsound = GUI.Audio:Clone()
    if string.sub(id, 1, 6) == "&hash=" or string.sub(id, 1, 7) == "&0hash=" then
     id = string.sub(id, (string.sub(id, 1, 6) == "&hash=" and 7) or (string.sub(id, 1, 7) == "&0hash=" and 8), string.len(id))
     newsound.ImageButton.Image = 'rbxassetid://1453863294'
    end
    local scrolldown = false
    newsound.Parent = GUI.Logs
    newsound.Name = added.SoundId
    newsound.Visible = true
    newsound.Position = UDim2.new(0,0,0, pos)
    if GUI.Logs.CanvasPosition.Y == GUI.Logs.CanvasSize.Y.Offset - 230 then
     scrolldown = true
    end
    GUI.Logs.CanvasSize = UDim2.new(0,0,0, pos+20)
    pos = pos+20
    local function findname()
     Asset = game:GetService("MarketplaceService"):GetProductInfo(id)
    end
    local audioname = 'error'
    local success, message = pcall(findname)
    if success then
        newsound.TextLabel.Text = Asset.Name
     audioname = Asset.Name
    else 
     newsound.TextLabel.Text = added.Name
     audioname = added.Name
    end
    local data = Instance.new('StringValue') data.Parent = newsound data.Value = added.SoundId data.Name = 'ID'
    local data2 = Instance.new('StringValue') data2.Parent = newsound data2.Value = audioname data2.Name = 'NAME'
    local soundselected = false
    newsound.ImageButton.MouseButton1Click:Connect(function()
     if GUI.Info.Visible ~= true then
      if soundselected == false then soundselected = true
       newsound.ImageButton.BackgroundTransparency = 0
      else soundselected = false
       newsound.ImageButton.BackgroundTransparency = 1
      end
     end
    end)
    newsound.Click.MouseButton1Click:Connect(function()
     if GUI.Info.Visible ~= true then
      GUI.Info.TextLabel.Text = "Name: " ..audioname.. "\n\nID: " .. added.SoundId .. "\n\nWorkspace Name: " .. added.Name
      selectedaudio = added.SoundId
      GUI.Info.Visible = true
     end
    end)
    --230'
   if scrolldown == true then
    GUI.Logs.CanvasPosition = Vector2.new(0, 9999999999999999999999999999999999999999999, 0, 0)
   end
  end
 end
end)

GUI.Info.Copy.MouseButton1Click:Connect(function()
 if pcall(function() Synapse:Copy(selectedaudio) end) then 
 else
  local clip = setclipboard or Clipboard.set
  clip(selectedaudio)
 end
 game:FindService('StarterGui'):SetCore('SendNotification', {
  Title = 'Audio Logger',
  Text = 'Copied to clipboard',
  Icon = 'http://www.roblox.com/asset/?id=176572847',
  Duration = 5,
 })
end)

GUI.Info.Close.MouseButton1Click:Connect(function()
 GUI.Info.Visible = false
 for _, sound in pairs(game:GetService('Players').LocalPlayer.PlayerGui:GetChildren()) do
  if sound.Name == 'SampleSound' then
   sound:Destroy()
  end
 end
 GUI.Info.Listen.Text = 'Listen'
end)

GUI.Info.Listen.MouseButton1Click:Connect(function()
 if GUI.Info.Listen.Text == 'Listen' then
  local samplesound = Instance.new('Sound') samplesound.Parent = game:GetService('Players').LocalPlayer.PlayerGui
  samplesound.Looped = true samplesound.SoundId = selectedaudio samplesound:Play() samplesound.Name = 'SampleSound'
  samplesound.Volume = 5
  GUI.Info.Listen.Text = 'Stop'
 else
  for _, sound in pairs(game:GetService('Players').LocalPlayer.PlayerGui:GetChildren()) do
   if sound.Name == 'SampleSound' then
    sound:Destroy()
   end
  end
  GUI.Info.Listen.Text = 'Listen'
 end
end)

function drag(gui)
 spawn(function()
  local UserInputService = game:GetService("UserInputService")
  local dragging
  local dragInput
  local dragStart
  local startPos
  local function update(input)
   local delta = input.Position - dragStart
   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) 
  end
  gui.InputBegan:Connect(function(input)
   if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
   dragging = true
   dragStart = input.Position
   startPos = gui.Position
  input.Changed:Connect(function()
            if input.UserInputState == Enum.UserInputState.End then
                dragging = false
            end
        end)
    end
end)
gui.InputChanged:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
        dragInput = input
    end
end)
UserInputService.InputChanged:Connect(function(input)
    if input == dragInput and dragging then
        update(input)
    end
end)
end)
end
drag(aa.PopupFrame)

Features & Information

Sound serve click

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts