您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Tableau de raids
当前为
// ==UserScript== // @name RaidsTable (V6) // @description Tableau de raids // @description:en Raids table // @namespace Xanatos // @include http://*.ogame.gameforge.com/game/index.php?page=messages // @version 1 // @grant none // ==/UserScript== (function() { function numberWithCommas(x) { return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, "."); } function removeElement(node) { node.parentNode.removeChild(node); } function convertOgameFormatToDigits(x) { var splitX = x.split('M'); var resources = splitX[0].replace(/\,/g , ''); resources = parseInt(resources); resources += 1; resources *= 1000; return resources; } function raidsTable_init() { var uiid20_ul = document.querySelector("#ui-id-20 .tab_inner:first-child"); var raidsTable = document.querySelector("#raidsTable_container"); // display table if not exist if (uiid20_ul && !raidsTable) { // get all messages var computed_messages = []; var raw_messages = uiid20_ul.querySelectorAll('li.msg'), i; for(i = 0; i < raw_messages.length; i++) { var current_raw_message = raw_messages[i]; var computed_message_built = {}; // message id computed_message_built.id = current_raw_message.getAttribute('data-msg-id'); // player and coordinates var player = current_raw_message.querySelectorAll('.msg_content')[0].querySelectorAll('div')[0]; removeElement(player.querySelectorAll('span')[0]); computed_message_built.player = player.innerHTML; // booty percent var booty = current_raw_message.querySelectorAll('.msg_content')[0].querySelectorAll('div')[2].querySelectorAll('span')[0]; booty = booty.innerHTML; var regex = /[\d\.]+/g; booty = booty.match(regex)[0]; booty = parseInt(booty); computed_message_built.booty = booty; // resources booty var resources = current_raw_message.querySelectorAll('.msg_content')[0].querySelectorAll('div')[1].querySelectorAll('span')[0]; resources = resources.innerHTML; var regex = /[\d\.,M]+/g; resources = resources.match(regex)[0]; if(resources.slice(-1) == 'M') { resources = convertOgameFormatToDigits(resources); } else { resources = resources.replace(/\./g , ''); } resources = Math.round(resources * (computed_message_built.booty / 100)); computed_message_built.raw_resources = resources; computed_message_built.resources = numberWithCommas(resources); // gt computed_message_built.gt = Math.round(computed_message_built.raw_resources/25000); // pt computed_message_built.pt = Math.round(computed_message_built.raw_resources/5000); // fleet var fleet = current_raw_message.querySelectorAll('.msg_content')[0].querySelectorAll('div')[3].querySelectorAll('span')[0].getAttribute('title'); computed_message_built.fleet = fleet; // defense var defense = current_raw_message.querySelectorAll('.msg_content')[0].querySelectorAll('div')[3].querySelectorAll('span')[1].getAttribute('title'); computed_message_built.defense = defense; // attack button var attack_button = current_raw_message.querySelectorAll('.msg_actions')[0].querySelectorAll('a')[2].getAttribute('href'); computed_message_built.attack_button = attack_button; current_raw_message.style.border = '1px solid yellow'; current_raw_message.setAttribute('id', 'anchor'+computed_message_built.id); computed_messages.push(computed_message_built); } console.log(computed_messages); // construct table var table = '<table id="raidsTable" class="content_table">'; table += '<tr class="ct_head_row">'; table += '<th class="ct_th">#</th>'; table += '<th class="ct_th">Joueur</th>'; table += '<th class="ct_th">Flotte</th>'; table += '<th class="ct_th">Def</th>'; table += '<th class="ct_th">Pillage</th>'; table += '<th class="ct_th">GT</th>'; table += '<th class="ct_th">PT</th>'; table += '<th class="ct_th"></th>'; table += '<th class="ct_th"></th>'; table += '</tr>'; var j; for(j = 0; j < computed_messages.length; j++) { var tr_class = j%2 == 0 ? 'odd' : 'even'; var tr_row = j+1; var current_computed_message = computed_messages[j]; var attack = '<a href="'+current_computed_message.attack_button+'">'; attack += '<span class="icon_nf icon_attack"></span>'; attack += '</a>'; var del_button = '<li class="msg" data-msg-id="' + current_computed_message.id + '">'; del_button += '<a class="fright" onclick="document.querySelector(\'#raidsTable\').deleteRow(' + tr_row + ');" href="javascript:void(0);">'; del_button += '<span title="" class="icon_nf icon_refuse js_actionKill tooltip js_hideTipOnMobile"></span>'; del_button += '</a></li>'; table += '<tr class="' + tr_class + '" data-id="'+current_computed_message.id+'">'; table += '<td class="ct_td"><a href="#anchor'+current_computed_message.id+'">Go</a></td>'; table += '<td class="ct_td">' + current_computed_message.player + '</td>'; table += '<td class="ct_td">' + current_computed_message.fleet + '</td>'; table += '<td class="ct_td">' + current_computed_message.defense + '</td>'; table += '<td class="ct_td">' + current_computed_message.resources + '</td>'; table += '<td class="ct_td">' + current_computed_message.gt + '</td>'; table += '<td class="ct_td">' + current_computed_message.pt + '</td>'; table += '<td class="ct_td">'+attack+'</td>'; table += '<td class="ct_td">'+del_button+'</td>'; table += '</tr>'; } table += '</table>'; var containerElement = document.createElement("div"); containerElement.innerHTML = table; containerElement.id ='raidsTable_container'; containerElement.style.clear = 'both'; uiid20_ul.insertBefore(containerElement, uiid20_ul.firstChild); } } setInterval(raidsTable_init, 500); })();