WIXXZI

Untitled

Jan 22nd, 2023
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.88 KB | None | 0 0
  1. local ChatPrefix = ".chat";
  2. local WorldChannelName = "World";
  3. local CooldownTimer = 5; -- Cooldown in seconds. Set to 0 for no CD obviously.
  4.  
  5. local Class = { -- Class colors :) Prettier and easier than the elseif crap :) THESE ARE HEX COLORS!
  6. [1] = "FFFFFF", -- Warrior
  7. [2] = "FFFFFF", -- Paladin
  8. [3] = "FFFFFF", -- Hunter
  9. [4] = "FFFFFF", -- Rogue
  10. [5] = "FFFFFF", -- Priest
  11. [6] = "FFFFFF", -- Death Knight -- Not used
  12. [7] = "FFFFFF", -- Shaman
  13. [8] = "FFFFFF", -- Mage
  14. [9] = "FFFFFF", -- Warlock
  15. [11] = "FFFFFF" -- Druid
  16. };
  17.  
  18. local Rank = {
  19. [0] = "FFFFFF", -- Player
  20. [1] = "E700B1", -- Moderator
  21. [2] = "E7A200", -- Game Master
  22. [3] = "C41F3B", -- Admin
  23. [4] = "C41F3B" -- Console
  24. };
  25.  
  26. -- Do not edit below unless you know what you're doing :)
  27. if (ChatPrefix:sub(-1) ~= " ") then
  28. ChatPrefix = ChatPrefix.." ";
  29. end
  30.  
  31. local RCD = {};
  32. function ChatSystem(event, player, msg, _, lang)
  33. if (RCD[player:GetGUIDLow()] == nil) then
  34. RCD[player:GetGUIDLow()] = 0;
  35. end
  36. if (msg:sub(1, ChatPrefix:len()) == ChatPrefix) then
  37. local r = RCD[player:GetGUIDLow()] - os.clock();
  38. if (0 < r) then
  39. local s = string.format("|cFFFF0000You must wait %i second(s) before sending another chat message!|r", math.floor(r));
  40. player:SendAreaTriggerMessage(s);
  41. else
  42. RCD[player:GetGUIDLow()] = os.clock() + CooldownTimer;
  43. local t = table.concat({"[", WorldChannelName, "] [|r|cff", Rank[player:GetGMRank()] or Rank[0], "|Hplayer:", player:GetName(), "|h", player:GetName(), "|h|r]: |r|cff", Class[player:GetClass()], msg:sub(ChatPrefix:len()+1), "|r"});
  44. SendWorldMessage(t);
  45. end
  46. return false;
  47. end
  48. end
  49.  
  50. RegisterPlayerEvent(18, ChatSystem);
  51. RegisterPlayerEvent(7, function(_, player) RCD[player:GetGUIDLow()] = 0; end);
Advertisement
Add Comment
Please, Sign In to add comment