NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name SNovaTools // @namespace alpha.supernova.ws // @description Отправка шпионов, расчет ст атаки i // @include http://alpha.supernova.ws/* // @version 1 // @grant none // @grant GM_registerMenuCommand // @grant GM_getValue // @grant GM_setValue // @creator Demongr // ==/UserScript== (function() { function galaxyread(){ if (window.location.href.indexOf("galaxy.php") < 0) { return; } // таблица галактики // планеты - элементы галактики var planet_row = document.getElementsByClassName("uni_planet_row"); for (var i = 0; i < 17; i++) { var user_id = planet_row[i].getAttribute("user_id"); var planet_pos = planet_row[i].getAttribute("planet_pos"); var ally_id = planet_row[i].getAttribute("ally_id"); if (user_id != "") { var planet_type = planet_row[i].getElementsByClassName("uni_show_planet uni_show_planet_new").length //если 2 то есть луна, требуется проверка //обломки не смотрим var planet_name = planet_row[i].getElementsByClassName("g_galaxy_row")[0].textContent var user_state = planet_row[i].getElementsByClassName("button_pseudo uni_show_user ")[0].children[0].className var user_name = planet_row[i].getElementsByClassName("button_pseudo uni_show_user ")[0].children[0].innerText // запись // требуется проверка значений на нул 7 // требуется разделение по иерархии коорд+атрибут // lf количество флота в полете fl[0]- в полете, fl[0] всего var fl = document.getElementById("topnav_fleet_counter_total").innerText.split("/"); // количество отправленных флотов достигло максимума if (fl[0]==fl[1]){ alert("количество отправленных флотов достигло максимума.Шпион не отправлен на планету "+planet_pos); return; } if (user_state.indexOf("inactive")>-1) { // если не активна посылаем шпиона console.log(planet_pos+" шпик "+ally_id); // console.log(user_state.getElementsByClassName("button_pseudo uni_show_user vacation ")); // сделать проверка проверка превышения максимально значения флота // сделать вычисление времени ожидания по времени полета шпика // отправка шпика // сделать проверку игроков в отпуске, в классе добавляется "vacation" getElementsByClassName("button_pseudo uni_show_user vacation ") if (ally_id=="") { planet_row[i].getElementsByClassName("button_pseudo")[1].click(); } else { planet_row[i].getElementsByClassName("button_pseudo")[2].click(); } } } } } //отчёты шпионов function spy_reports(){ if (window.location.href.indexOf("mode=show&message_class=0") < 0) { return; } var spy_tables = document.getElementsByClassName("no_border_image spy_table"); var i=0; while (spy_tables[i]!="undefined"){ var spy_table_rep=spy_tables[i].getElementsByTagName("tbody")[0]; var coord=spy_table_rep.children[0].innerText.match(/\[(.*)\]/g)[0].replace(/\[|\]/g, '').split(':'); //0 innerText=Шпионский доклад - [9:105:3] (П) а // console.log(coord); // console.log(spy_table_rep.childElementCount); // заголовки // spy_table_rep.getElementsByClassName("c_l bg_subheader"); //Металл 15.979.790 var metal=parseInt(spy_table_rep.children[6].innerText.replace(/[^\d;]/g, '')); var cristal=parseInt(spy_table_rep.children[7].innerText.replace(/[^\d;]/g, '')); var deit=parseInt(spy_table_rep.children[8].innerText.replace(/[^\d;]/g, '')); var defense=spy_table_rep.children[10].innerText; // Оборона var total_res=metal+cristal+deit; if (total_res>min_res) { // добавляем инфу в Ресурсы // ***********расчет количества супер транспортов var st=total_res*k_t_r / 100000 var k=0; var fl=""; while (st>(min_res/100000)){ st= Math.floor(st / 2); var fl= fl + k + ":" + st + " "; k++; } // ***********конец расчет количества супер транспортов // ***********размещаем инфу на странице // размещается несколько раз при включенном скрипте, нужна проверка повторного запуска var div1 = document.createElement('div'); div1.innerHTML = fl; div1.className = "link notice"; if ("Оборона"==defense) { div1.className = "link error"; // если есть оборона подсвечиваем красным } document.getElementsByClassName("no_border_image spy_table")[i].getElementsByTagName("tbody")[0].children[5].appendChild(div1); // *********** конец размещаем инфу на странице } i++; } } var min_res = 30000000; //минисмальное количество ресурсов за которым лететь var k_t_r=1.1; // коэфицент прироста ресов var init=galaxyread(); var init=spy_reports(); //var init=navi(); // выдаёт ошибку /* GM_registerMenuCommand( "Расчет СТ", spy_reports,"t"); GM_registerMenuCommand( "Отправить шпионов", galaxyread,"s"); */ })();