您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Let's change the nickname color (chat only) in dependence of the role in the alliance.
当前为
// ==UserScript== // @name -:C&C TA Chat Colorize:- // @description Let's change the nickname color (chat only) in dependence of the role in the alliance. // @namespace http*://prodgame*.alliances.commandandconquer.com/*/index.aspx* // @include https://prodgame*.alliances.commandandconquer.com/*/index.aspx* // @icon http://i.imgur.com/0dweZMu.png // @version 0.1.6 // @author der_flake // ==/UserScript== 'use strict'; (function () { var ta_chat_colorize_main = function () { function ta_chat_initialize() { console.log('-:C&C TA Chat Colorize:- loaded'); var config = { colors: [ { name: 'Leader', color: '#ff7878' }, { name: 'Second Commander', color: '#ca91d4' }, { name: 'Officer', color: '#fdd94b' }, { name: 'Veteran', color: '#4ec49f' }, { name: 'Member', color: '#a5f25b' }, { name: 'Newbe', color: '#a5f25b' }, { name: 'Inactive', color: '#ababab' } ], append_alliance_name_limit: 15 }; var options = { colorize_names: true, colorize_comments: false, append_abbr: true }; // module functions var mod = { colorize: function () { var css_colors = ''; var role_colors = [ ]; var LibData = ClientLib.Data.MainData.GetInstance().get_Alliance(); // get correct role id var alliance_roles = LibData.get_Roles().d; for (var akey in alliance_roles) { for (var ckey in config.colors) { if (config.colors[ckey].name == alliance_roles[akey].Name) { role_colors[alliance_roles[akey].Id] = config.colors[ckey].color; } } } // assign styles to the each player of the current alliance var players = LibData.get_MemberDataAsArray(); for (var pkey in players) { var current_player = players[pkey]; if (typeof role_colors[current_player.Role] != 'undefined') { if (options.colorize_comments) { css_colors += '[color="#a5f25b"] #CHAT_SENDER_' + current_player.Name + ',[color="#a5f25b"] #CHAT_SENDER_' + current_player.Name + ' + * {color: ' + role_colors[current_player.Role] + '}'; } else { css_colors += '[color="#a5f25b"] #CHAT_SENDER_' + current_player.Name + ' {color: ' + role_colors[current_player.Role] + '}'; } } } append_styles(css_colors); }, /** * Append the alliance abbreviation to the player's name * @example der_flake -> #RoF der_flake */ add_abbr: function () { //get top [append_alliance_name_limit] alliances by rating ClientLib.Net.CommunicationManager.GetInstance().SendSimpleCommand('RankingGetData', { firstIndex: 0, lastIndex: config.append_alliance_name_limit - 1, view: 1, rankingType: 0, sortColumn: 2, ascending: true }, phe.cnc.Util.createEventDelegate(ClientLib.Net.CommandResult, this, function (context, data) { if (data !== null) { for (var i = 0; i < data.a.length; i++) { var alliance_id = data.a[i]['a']; // get alliance players ClientLib.Net.CommunicationManager.GetInstance().SendSimpleCommand('GetPublicAllianceInfo', { id: alliance_id }, phe.cnc.Util.createEventDelegate(ClientLib.Net.CommandResult, this, function (context, alliance_data) { var alliance_shortname = alliance_data['a'], alliance_players = alliance_data['m'], css_names = [ ]; for (var akey in alliance_players) { css_names.push('[color="#4becff"] #CHAT_SENDER_' + alliance_players[akey]['n'] + ':after'); } var temp_css = css_names.join(',') + ' {content: " #' + alliance_shortname + '";opacity: .6;font-size: 11px;}'; append_styles(temp_css); }), null); } } }), null); } } if (options.colorize_names) { mod.colorize(); } if (options.append_abbr) { mod.add_abbr(); } } function append_styles(css) { document.getElementsByTagName('style') [0].innerHTML += css; } function tachat_checkIfLoaded() { try { if (typeof qx != 'undefined') { if (qx.core.Init.getApplication() && qx.core.Init.getApplication().getMenuBar()) { // @TODO try to find other method to make ClientLib "WORKABLE" window.setTimeout(ta_chat_initialize, 15000); } else window.setTimeout(tachat_checkIfLoaded, 1000); } else { window.setTimeout(tachat_checkIfLoaded, 1000); } } catch (e) { console.log('tachat_checkIfLoaded: ', e); } } if (/commandandconquer\.com/i.test(document.domain)) { window.setTimeout(tachat_checkIfLoaded, 1000); } } var tachatScript = document.createElement('script'); tachatScript.innerHTML = '(' + ta_chat_colorize_main.toString() + ')();'; tachatScript.type = 'text/javascript'; if (/commandandconquer\.com/i.test(document.domain)) { document.getElementsByTagName('head') [0].appendChild(tachatScript); } }) ();