koc chat

chat test

此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.gf.qytechs.cn/scripts/534139/1594675/koc%20chat.js

  1. // allianceChat.js
  2.  
  3. Tabs.AllianceChat = {
  4. tabOrder: 2150,
  5. tabLabel: 'Alliance Chat',
  6. tabColor: 'green',
  7. myDiv: null,
  8. chatHistory: [],
  9. maxHistory: 300,
  10.  
  11. init: function(div) {
  12. var t = Tabs.AllianceChat;
  13. t.myDiv = div;
  14. t.paint();
  15. },
  16.  
  17. paint: function() {
  18. var t = Tabs.AllianceChat;
  19. var m = `
  20. <div class="divHeader" align="center">Enhanced Alliance Chat</div>
  21. <br>
  22. <div align="center">
  23. <textarea id="allianceChatInput" rows="3" cols="50" class="btInput" placeholder="Enter message..."></textarea>
  24. <br>
  25. <button id="allianceSendButton" class="buttonv2 std blue">Send</button>
  26. <br><br>
  27. <div id="allianceChatDisplay" style="height: 400px; overflow-y: scroll;"></div>
  28. </div>
  29. `;
  30.  
  31. t.myDiv.innerHTML = m;
  32.  
  33. // Event listeners (using jQuery)
  34. $("#allianceSendButton").click(function() { t.sendMessage(); });
  35. },
  36.  
  37. sendMessage: function() {
  38. var t = Tabs.AllianceChat;
  39. var message = $("#allianceChatInput").val().trim();
  40. if (!message) { // Check for empty message
  41. return;
  42. }
  43.  
  44. // Send message (using your existing chat functions or BotChat)
  45. // Example using BotChat:
  46. BotChat.sendAlliance(message);
  47.  
  48. t.addMessage(Seed.player.name, message);
  49. t.displayChat();
  50. $("#allianceChatInput").val(""); // Clear input
  51. },
  52.  
  53. addMessage: function(sender, message) {
  54. var t = Tabs.AllianceChat;
  55. t.chatHistory.push({ sender: sender, message: message, timestamp: Date.now() });
  56. if (t.chatHistory.length > t.maxHistory) {
  57. t.chatHistory.shift();
  58. }
  59. t.saveChatHistory();
  60. },
  61.  
  62. displayChat: function() {
  63. var t = Tabs.AllianceChat;
  64. var chatDisplay = $("#allianceChatDisplay");
  65. chatDisplay.empty();
  66.  
  67. for (var i = 0; i < t.chatHistory.length; i++) {
  68. var msg = t.chatHistory[i];
  69. var messageElement = $("<div></div>");
  70. messageElement.html(`[${new Date(msg.timestamp).toLocaleTimeString()}] ${msg.sender}: ${msg.message}`);
  71. chatDisplay.append(messageElement);
  72. }
  73. chatDisplay.scrollTop(chatDisplay[0].scrollHeight);
  74. },
  75.  
  76. saveChatHistory: function() {
  77. var t = Tabs.AllianceChat;
  78. GM_setValue("AllianceChatHistory", JSON.stringify(t.chatHistory)); // Example using GM_setValue
  79. },
  80.  
  81. loadChatHistory: function() {
  82. var t = Tabs.AllianceChat;
  83. var savedHistory = GM_getValue("AllianceChatHistory"); // Example using GM_setValue
  84. if (savedHistory) {
  85. try {
  86. t.chatHistory = JSON.parse(savedHistory);
  87. } catch (e) {
  88. console.error("Error loading chat history:", e);
  89. }
  90. }
  91. },
  92.  
  93. show: function() {
  94. var t = Tabs.AllianceChat;
  95. t.loadChatHistory();
  96. t.displayChat();
  97. },
  98.  
  99. hide: function() {} // Nothing to do on hide
  100. };

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址