您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
checking all equip before going to battle
// ==UserScript== // @name checkArtsBeforeBattle // @namespace http://tampermonkey.net/ // @version 1.2 // @description checking all equip before going to battle // @author Salmon // @license MIT // @include https://my.lordswm.com/* // @include https://www.heroeswm.ru/* // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @grant none // ==/UserScript== (function () { "use strict"; const createEl = (el, style, innerText, className, placeholder) => { let element = document.createElement(el); if (style) element.style = style; if (innerText) element.innerText = innerText; return element; }; const eventTypes = ["hunt", "event"]; const settingsObj = JSON.parse(localStorage.getItem('settingsObjectCheckArtsBeforeBattle')); if (settingsObj === null) { localStorage.setItem('settingsObjectCheckArtsBeforeBattle', JSON.stringify({ bag: true })); location.reload(); } let dataFromSettingsObj = settingsObj.bag; let language = navigator.language; if (language) language = language.split("-")[0]; const languages = ["ru", "en", "uk"]; if (!languages.includes(language)) language = "en"; const links = ["https://my.lordswm.com", "https://www.heroeswm.ru"]; const link = location.href.includes("lordswm") ? links[0] : links[1]; const fetch_xml = (el, path) => { const xhr = new XMLHttpRequest(); xhr.open("get", `${link}/home.php`); xhr.setRequestHeader("Content-type", "text/html; charset=windows-1251"); if (xhr.overrideMimeType) { xhr.overrideMimeType("text/html; charset=windows-1251"); } xhr.addEventListener("load", () => { var parser = new DOMParser(); var doc = parser.parseFromString(xhr.responseText, "text/html"); let equippedArtsCount = 0; const notEquipped = []; const head = { name: { en: "helmet", uk: "шолом", ru: "шлем" }, check: doc.getElementById("slot1"), }; const neck = { name: { en: "amulet", uk: "амулет", ru: "кулон" }, check: doc.getElementById("slot2"), }; const torso = { name: { en: "armor", uk: "броня", ru: "броня" }, check: doc.getElementById("slot3"), }; const back = { name: { en: "back", uk: "спина", ru: "спина" }, check: doc.getElementById("slot4"), }; const rHand = { name: { en: "right hand", uk: "права рука", ru: "правая рука" }, check: doc.getElementById("slot5"), }; const lHand = { name: { en: "left hand", uk: "ліва рука", ru: "левая рука" }, check: doc.getElementById("slot6"), }; const boots = { name: { en: "boots", uk: "ноги", ru: "сапоги" }, check: doc.getElementById("slot7"), }; const hRing = { name: { en: "first ring", uk: "перше кільце", ru: "первое кольцо" }, check: doc.getElementById("slot8"), }; const lRing = { name: { en: "second ring", uk: "друге кільце", ru: "второе кольцо" }, check: doc.getElementById("slot9"), }; const bag = { name: { en: "Bag", uk: "Сумка", ru: "Сумка" }, check: doc.getElementById("slot10"), }; const mirror = { name: { en: "Mirror", uk: "Дзеркало", ru: "Зеркало" }, check: doc.getElementById("slot11"), }; const mirrorInnerText = { en: "", uk: "", ru: "" }; if (mirror.check.innerText == "") { mirrorInnerText.en = "Mirror is not equipped!"; mirrorInnerText.uk = "Дзеркало не одягнуто!"; mirrorInnerText.ru = "Зеркало не надето!"; } else { mirrorInnerText.en = "Mirror is equipped"; mirrorInnerText.uk = "Дзеркало одягнуто"; mirrorInnerText.ru = "Зеркало надето"; } const bagInnerText = { en: "", uk: "", ru: "" }; if (bag.check.innerText == "") { bagInnerText.en = "Bag is not equipped!"; bagInnerText.uk = "Сумку не одягнуто!"; bagInnerText.ru = "Сумка не надета!"; } else { bagInnerText.en = "Bag is equipped"; bagInnerText.uk = "Сумку одягнуто"; bagInnerText.ru = "Сумка надета"; } const mainArtText = { en: "Equipped: ", uk: "Артів одягнуто: ", ru: "Артов надето: ", }; const notEquippedArtText = { en: "Not equipped: ", uk: "Не одягнуто: ", ru: "Не надето: ", }; const mirrorStyle = mirror.check.innerText == "" ? "color: red; font-size: 12px; cursor: pointer" : "color: green;font-size: 12px"; const bagStyle = bag.check.innerText == "" ? "color: red;font-size: 12px; cursor: pointer" : "color: green;font-size: 12px"; const arts = [head, neck, torso, back, rHand, lHand, boots, hRing, lRing]; arts.forEach((art) => { if (art.check.innerText !== "") { equippedArtsCount += 1; } else { notEquipped.push(art.name[language]); } }); const wrapper = createEl("div", `${path === "event" ? "display: flex; gap: 5px" : ""}`); const mainArtsBlock = createEl( "div", `${ equippedArtsCount < 9 ? "color: red; cursor: pointer; font-size: 12px" : "color: green; font-size: 12px" }`, `${mainArtText[language]} ${equippedArtsCount}/9` ); const notEquippedBlock = createEl( "div", "font-size: 12px; color: red; cursor: pointer", `${ equippedArtsCount < 9 ? `${notEquippedArtText[language]} ${notEquipped}` : "" }` ); const mirrorBlock = createEl( "div", mirrorStyle, mirrorInnerText[language] ); const bagBlock = createEl("div", bagStyle, bagInnerText[language]); bagBlock.style.display = dataFromSettingsObj ? "block" : "none"; const settingsBlock = createEl("div", "cursor: pointer;", "👜"); settingsBlock.addEventListener("click", () => { dataFromSettingsObj = !dataFromSettingsObj; bagBlock.style.display = dataFromSettingsObj ? "block" : "none"; localStorage.setItem('settingsObjectCheckArtsBeforeBattle', JSON.stringify({ bag: dataFromSettingsObj })); }) wrapper.append(mainArtsBlock); wrapper.append(notEquippedBlock); wrapper.append(mirrorBlock); wrapper.append(bagBlock); wrapper.addEventListener("click", () => { location.href = `${link}/inventory.php`; }); if (path === "event") { el.style.gap = "3px"; el.style.display = "flex"; el.innerHTML = ""; el.append(wrapper); el.append(settingsBlock); } else { el.append(wrapper); el.append(settingsBlock); } }); xhr.send(); }; if (location.href.includes("pvp_guild")) { const h2 = [...document.getElementsByTagName("h2")][0]; fetch_xml(h2, ""); } if (location.href.includes("event") || location.href.includes("hunt")) { const eventHeader = document.getElementsByClassName( "global_container_block_header" )[0]; fetch_xml(eventHeader, "event"); } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址