您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
chat test
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.icu/scripts/534139/1594675/koc%20chat.js
// allianceChat.js Tabs.AllianceChat = { tabOrder: 2150, tabLabel: 'Alliance Chat', tabColor: 'green', myDiv: null, chatHistory: [], maxHistory: 300, init: function(div) { var t = Tabs.AllianceChat; t.myDiv = div; t.paint(); }, paint: function() { var t = Tabs.AllianceChat; var m = ` <div class="divHeader" align="center">Enhanced Alliance Chat</div> <br> <div align="center"> <textarea id="allianceChatInput" rows="3" cols="50" class="btInput" placeholder="Enter message..."></textarea> <br> <button id="allianceSendButton" class="buttonv2 std blue">Send</button> <br><br> <div id="allianceChatDisplay" style="height: 400px; overflow-y: scroll;"></div> </div> `; t.myDiv.innerHTML = m; // Event listeners (using jQuery) $("#allianceSendButton").click(function() { t.sendMessage(); }); }, sendMessage: function() { var t = Tabs.AllianceChat; var message = $("#allianceChatInput").val().trim(); if (!message) { // Check for empty message return; } // Send message (using your existing chat functions or BotChat) // Example using BotChat: BotChat.sendAlliance(message); t.addMessage(Seed.player.name, message); t.displayChat(); $("#allianceChatInput").val(""); // Clear input }, addMessage: function(sender, message) { var t = Tabs.AllianceChat; t.chatHistory.push({ sender: sender, message: message, timestamp: Date.now() }); if (t.chatHistory.length > t.maxHistory) { t.chatHistory.shift(); } t.saveChatHistory(); }, displayChat: function() { var t = Tabs.AllianceChat; var chatDisplay = $("#allianceChatDisplay"); chatDisplay.empty(); for (var i = 0; i < t.chatHistory.length; i++) { var msg = t.chatHistory[i]; var messageElement = $("<div></div>"); messageElement.html(`[${new Date(msg.timestamp).toLocaleTimeString()}] ${msg.sender}: ${msg.message}`); chatDisplay.append(messageElement); } chatDisplay.scrollTop(chatDisplay[0].scrollHeight); }, saveChatHistory: function() { var t = Tabs.AllianceChat; GM_setValue("AllianceChatHistory", JSON.stringify(t.chatHistory)); // Example using GM_setValue }, loadChatHistory: function() { var t = Tabs.AllianceChat; var savedHistory = GM_getValue("AllianceChatHistory"); // Example using GM_setValue if (savedHistory) { try { t.chatHistory = JSON.parse(savedHistory); } catch (e) { console.error("Error loading chat history:", e); } } }, show: function() { var t = Tabs.AllianceChat; t.loadChatHistory(); t.displayChat(); }, hide: function() {} // Nothing to do on hide };