// ==UserScript== // @name OGame RaidsTable // @description Tableau de raids // @description:en Raids table // @namespace Xanatos // @include http://*.ogame.gameforge.com/game/index.php?page=messages // @version 1.1.3 // @grant none // @downloadURL none // ==/UserScript== // Compatibility OGame 6.0.6 (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() { if(document.querySelector('#chatBar')) { var uiid20_ul = document.querySelector("#ui-id-20 .tab_inner:first-child"); } else { var uiid20_ul = document.querySelector("#ui-id-14 .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('.fright')[0]; resources = resources.innerHTML; console.log(resources); 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); } // construct table var table = ''; table += ''; table += ''; table += ''; table += ''; table += ''; table += ''; table += ''; table += ''; table += ''; table += ''; table += ''; 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 = ''; attack += ''; attack += ''; var del_button = '
  • '; del_button += ''; // del_button += ''; del_button += '
  • '; table += ''; table += ''; table += ''; table += ''; table += ''; table += ''; table += ''; table += ''; table += ''; table += ''; table += ''; } table += '
    #JoueurFlotteDéfensePillageGTPT
    Go' + current_computed_message.player + '' + current_computed_message.fleet + '' + current_computed_message.defense + '' + current_computed_message.resources + ' ('+current_computed_message.booty+'%)' + current_computed_message.gt + '' + current_computed_message.pt + ''+attack+''+del_button+'
    '; var containerElement = document.createElement("div"); // On crée un nouvelle élément div containerElement.innerHTML = table; containerElement.id ='raidsTable_container'; //containerElement.style.border = '1px solid red'; containerElement.style.clear = 'both'; uiid20_ul.insertBefore(containerElement, uiid20_ul.firstChild); } } setInterval(raidsTable_init, 500); })();