您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Наборы армии для ГЛ
// ==UserScript== // @name hwm_leader_sets // @namespace Striker // @author Striker // @version 0.3.1 // @description Наборы армии для ГЛ // @include https://www.heroeswm.ru/leader_*army.php* // @include https://www.lordswm.com/leader_*army.php* // @include https://my.lordswm.com/leader_*army.php* // @grant GM_setValue // @grant GM_getValue // ==/UserScript== (function() { if(typeof unsafeWindow != "object" || typeof unsafeWindow.max_leader != "number" || typeof GM_getValue != "function") { alert("hwm_leader_sets unsupported browser"); return; } var pl_id = document.cookie.match(/pl_id=(\d+)/)[1]; var lang = location.hostname.match("lords") ? true : false; var div = addElement("center", document.querySelector("#hwm_no_zoom")); var addButton = addElement("input", div, { type: "button", value: lang ? "Add" : "Добавить" }); var cancelButton = addElement("input", div, { type: "button", value: lang ? "Cancel" : "Отмена" }); var saveButton = addElement("input", div, { type: "button", value: lang ? "Save" : "Сохранить" }); addButton.addEventListener("click", addArmyRow, false); cancelButton.addEventListener("click", loadSavedSets, false); saveButton.addEventListener("click", saveArmy, false); addElement("br", div); var mainTable = addElement("table", div, { style: "border: hidden; border-collapse: collapse; vertical-align: bottom;" }); var tempArmySets; loadSavedSets(); function loadSavedSets() { var savedString = GM_getValue(pl_id, "skeleton:6~goblin:10~imp:4;goblinus:37~peasant:35~gremlin:5~troglodyte:25;defender:20~pixel:150~crossman:67"); tempArmySets = []; while(mainTable.firstChild) mainTable.removeChild(mainTable.firstChild); if(savedString === '') return; savedString = savedString.replace(/(\w+):/g, function(m, g1) { for(var i = 1; i < obj.length; i++) if(obj[i]['monster_id'] === g1) return i + ':'; return m; }); DrawArmyRow(savedString); } function DrawArmyRow(setString) { setString.split(';').forEach(function(cSet) { tempArmySets.push(cSet); var totalCost = 0; var r_tr = addElement("tr", mainTable); var td = addElement("td", r_tr, { style: "border: 2px dotted black; cursor: pointer;" }); cSet.replace(/(\w+):(\d+)/g, function(m, g1, g2) { var linkNotId = isNaN(g1); var link = parseInt(g1); var count = parseInt(g2); var problem = ''; var rarity = 1; var portrait = 'army_html/q_sign' if(!isNaN(g1)) { rarity = obj[link]['rarity']; portrait = 'portraits/' + obj[link]['lname'] + 'p33'; totalCost += count * obj[link]['cost']; if(count * obj[link]['cost'] > max_leader_by_stack) problem = 'red'; if(obj[link]['count'] < count) problem = 'cornflowerblue'; } td.innerHTML += '<div class="cre_creature"><div class="cre_mon_parent">' + '<img src="https://dcdn.heroeswm.ru/i/army_html/fon_lvl' + rarity + '.png" width="60" height="50" class="cre_mon_image2">' + '<img src="https://dcdn.heroeswm.ru/i/' + portrait + '.png" width="60" height="50" class="cre_mon_image1">' + '<img src="https://dcdn.heroeswm.ru/i/army_html/frame_lvl' + rarity + '.png" width="60" height="50" class="cre_mon_image2" border="0"></div>' + (problem ? '<div class="cre_amount" style="top: 0px;left: 1px;text-align: left;font-size: 40px;line-height: 50px;color: ' + problem + ';">!</div>' : '') + '<div class="cre_amount">' + count + '</div></div>'; }); td.addEventListener("click", function() { setArmy(this.parentNode.rowIndex); }, false); var td_button = addElement("td", r_tr, { style: "border: 2px dotted black;" }); var button = addElement("input", td_button, { type: "button", value: "X" }); if(totalCost > max_leader) button.style.color = 'red'; button.addEventListener("click", function() { delArmyRow(this.parentNode.parentNode); }, false); }); } function delArmyRow(row) { tempArmySets.splice(row.rowIndex, 1); mainTable.removeChild(row); } function addArmyRow() { var currSet = []; for(var i = 1; i < obj_army.length; i++) { if(obj_army[i]['link'] && obj_army[i]['count']) currSet.push(obj_army[i]['link'] + ':' + obj_army[i]['count']); } if(currSet.length) DrawArmyRow(currSet.join('~')); } function setArmy(rowId) { for(var i = 7; i; i--) { obj_army[i]['link'] = 0; obj_army[i]['count'] = 0; } tempArmySets[rowId].replace(/(\w+):(\d+)/g, function(m, g1, g2) { if(!isNaN(g1)) { i += 1; var link = parseInt(g1); var count = parseInt(g2); obj_army[i]['link'] = link; obj_army[i]['count'] = obj[link]['count'] < count ? obj[link]['count'] : (count * obj[link]['cost'] > max_leader_by_stack ? parseInt(max_leader_by_stack / obj[link]['cost']) : count); } }); show_details(obj_army[i]['link']); while(last_leader < 0) { //фикс превышения суммарного лидерства show_details(obj_army[i]['link']); i -= 1; } } function saveArmy() { GM_setValue(pl_id, tempArmySets.join(';').replace(/(\w+):/g, function(m, g1) { return isNaN(g1) ? m : obj[g1]['monster_id'] + ':'; })); } function addElement(type, parent, data) { var el = document.createElement(type); if(parent) { parent.appendChild(el); } if(data) { for(var key in data) { el.setAttribute(key, data[key]); } } return el; } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址