Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1. local A = aura_env
  2. local S = WeakAurasSaved.displays[A.id]
  3.  
  4. local soundChannel = "MASTER"
  5. local cooldown = 3
  6.  
  7. local lastMeme = 0
  8. local handles = {}
  9.  
  10. local strsub, strfind, strmatch = strsub, strfind, strmatch
  11.  
  12. local function memeSound(sound)
  13. local now = GetTime()
  14. if now - lastMeme > cooldown then
  15. lastMeme = now
  16. sound = sound or S.defaultSound
  17. if not sound then
  18. return
  19. end
  20. local play = (type(sound) == "number") and PlaySoundKitID or PlaySoundFile
  21. local success, handle = play(sound, soundChannel)
  22. if handle then
  23. handles[handle] = true
  24. end
  25. end
  26. end
  27.  
  28. local function stopMemes()
  29. for handle, _ in pairs(handles) do
  30. handles[handle] = nil
  31. StopSound(handle)
  32. end
  33. end
  34.  
  35. local function rtrim(s)
  36. local n = #s
  37. while n > 0 and strfind(s, "^%s", n) do n = n - 1 end
  38. return strsub(s, 1, n)
  39. end
  40.  
  41. function A.onChatMessage(event, message)
  42. if strfind(message, "stop memes") then
  43. stopMemes()
  44. return
  45. end
  46.  
  47. local memeSoundPos = strfind(message, "meme sound")
  48. if not memeSoundPos then return end
  49. message = rtrim(strsub(message, memeSoundPos))
  50.  
  51. if message == "meme sound" then
  52. memeSound(nil)
  53. elseif strsub(message, 1, 11) == "meme sound " then
  54. message = strsub(message, 12)
  55. if strsub(message, 1, 11) == "of the day " then
  56. message = strsub(message, 12)
  57. S.defaultSound = message
  58. end
  59. if strmatch(message, "^%d+$") then
  60. message = tonumber(message)
  61. end
  62. memeSound(message)
  63. end
  64. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement