您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Автосдача заданий ГН
当前为
// ==UserScript== // @name HWM_AutoReportMGTasks // @namespace Небылица // @version 1.24 // @description Автосдача заданий ГН // @author Небылица // @include /^https{0,1}:\/\/((www|qrator)\.heroeswm\.ru|178\.248\.235\.15)\/(map|mercenary_guild|home)\.php/ // @grant GM_setValue // @grant GM_getValue // ==/UserScript== (function() { "use strict"; // Вспомогательные функции function sendGETRequest(url, callback){ // Универсалка для отправки GET-запроса к url с исполнением функции callback при получении ответа var xhr = new XMLHttpRequest(); xhr.open("GET", url, true); xhr.onreadystatechange = function(){ if (xhr.readyState === 4 && xhr.status === 200){ if (typeof callback === "function"){ callback.apply(xhr); } } }; xhr.send(); } // // Код для страницы карты if (location.pathname.indexOf("map.php") !== -1){ // проверяем наличие активного задания ГН и нахождение в секторе гильдии if (GM_getValue("taskActive") && document.querySelector("img[src*='merc.gif'][title='Гильдия Наемников']") !== null){ // запрашиваем страницу ГН sendGETRequest("mercenary_guild.php", function(){ // получаем ответ и проверяем, было ли задание сдано var response = this.responseText; if (response.indexOf("<b>Статус</b>") !== -1 && response.indexOf("минут") === -1){ // убираем флаг активного задания GM_setValue("taskActive", false); // запоминаем текст награды и переходим в ГН var rewardArr = response.match(/<Br><br>([\S\s]+?)<table\sborder=0\scellspacing=0\scellpadding=0>/); if (rewardArr !== null){ GM_setValue("reward", rewardArr[1]); } window.open("mercenary_guild.php", "_self"); } }); } } // Код для страницы ГН if (location.pathname.indexOf("mercenary_guild.php") !== -1){ // если имеется сохранённый текст только что сданного задания, то вставляем его в страницу и убираем прежнее значение if (GM_getValue("reward") !== "-1"){ var tdRowspan2 = document.querySelector("td[rowspan='2']"); tdRowspan2.innerHTML = tdRowspan2.innerHTML.split("<table border")[0] + GM_getValue("reward") + "<table border" + tdRowspan2.innerHTML.split("<table border")[1]; GM_setValue("reward", "-1"); } else{ // проверяем, нет ли принятого задания, и запоминаем значение в зависимости от ответа var documentInnerHTHL = document.documentElement.innerHTML; if (documentInnerHTHL.indexOf("минут") !== -1 && documentInnerHTHL.indexOf("Принять") === -1){ GM_setValue("taskActive", true); // проверяем, нет разбойники ли это и запоминаем при положительном ответе if (documentInnerHTHL.indexOf("разбойники {") !== -1){ GM_setValue("ifRogues", true); } } else{ GM_setValue("taskActive", false); } } } // Код для домашней страницы if (location.pathname.indexOf("home.php") !== -1){ // проверяем наличие активного задания на разбойников if (GM_getValue("taskActive") && GM_getValue("ifRogues")){ var warid = document.querySelector("a[href^='warlog.php?warid=']").getAttribute("href").replace("warlog.php?warid=", ""); // запрашиваем страницу результатов боя sendGETRequest("battle.php?lastturn=-3&warid=" + warid, function(){ // получаем ответ и проверяем, разбойники ли были только что, и были ли они побеждены var response = this.responseText; if (response.match(/<b>Проигравшая\sсторона:<\/b><\/font><br\s\/><b><font\scolor="#.{6}">(.+?)<\/font>/)[1].indexOf("разбойники") !== -1){ // сдаём груз и забываем текущее задание GM_setValue("ifRogues", false); window.open("map.php?action=accept_merc_task3", "_self"); } }); } } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址