您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Script to auto-setup of search settings and improve results
// ==UserScript== // @name Intelligence Auto Setup // @namespace github.com/odahviing // @author Odahviing // @include http://*.war-facts.com/intelligence.php // @include http://*.war-facts.com/empire_known_universe.php // @description Script to auto-setup of search settings and improve results // @version 2.0 // @grant none // ==/UserScript== // Version 1.3 - Add distance from target // Version 2.0 - Rebuilding the script with multiple new options // TODO: Sort By Distance setupButtons(); addDataToResults(); /* Button Actions Functions */ function setupButtons() { createButton('xyz', 'Mining Colony', setupMiningColony); createButton('xyz', 'Urban Colony', setupUrbanColony); createButton('habit', 'Remove Colonized Systems', removeColonizedPlanets); } function removeColonizedPlanets() { var mainTable = document.getElementsByTagName('table'); var allColonies = mainTable[0].rows; var removeRows = [] for (index = 1; index <allColonies.length ; index = index + 2) { var innerTableRow = allColonies[index].getElementsByTagName('table')[0].rows[0]; var cell = innerTableRow.cells[1]; if (cell.innerHTML != ' ') { removeRows.push(index-1); removeRows.push(index); } } for (index = removeRows.length -1; index >=0; index --) mainTable[0].deleteRow(removeRows[index]); } function setupUrbanColony() { $('[name=habit]').val(50); $('[name=landmass]').val(5000000000); $('[name=orderType]').val("hab") $('[name=radius]').val(100000000); $('[name=orderDirection]').val("desc"); $('[name=ressel]').val(1) setupARPlanet(); } function setupMiningColony() { $('[name=habit]').val(40); $('[name=landmass]').val(1000000000); $('[name=orderType]').val("hab") $('[name=radius]').val(100000000); $('[name=orderDirection]').val("desc"); $('[name=ressel]').val(1) setupARPlanet(); setupResourcesThreshold(10,10,10,10,10,10,10,10,10,10,10); } /* End Button Actions Functions */ /* Internal Actions Options */ function setupARPlanet() { var allBoxes = $("input[type=checkbox]"); $.each(allBoxes, function( index, value ) { var checkBox = value; if (checkBox.name == "colonized") return true; // On empire page, we had extra checkBox checkBox.checked = true; }); } function setupResourcesThreshold(carbon, iron, copper, silver, titanium, gold, uranium, platinum, oil, water, fert) { toggleThreshold(); let res = [carbon, iron, copper, silver, titanium, gold, uranium, platinum, oil, water, fert]; let mainObj = document.getElementsByClassName('light padding5 box fullwidth')[1]; let allObjects = mainObj.getElementsByTagName('input'); let startId = allObjects.length - 11; for (; startId < allObjects.length; startId++) allObjects[startId].value = res[startId - 12]; } /* End Internal Actions Options */ /* Add Data To Results */ function addDataToResults() { if (detectIfCallBack() == false) return; var getWantedCords = document.getElementById('xyz').value; getWantedCords = getWantedCords.trim().replace(' ','').replace(' ',''); if (getWantedCords == '') return; let cords = buildCordsObjectFromText(getWantedCords); let mainTable = document.getElementsByTagName('table')[0]; let allRows = mainTable.getElementsByTagName('tr'); if (allRows.length > 200) return; for (let i = 0; i < allRows.length; i ++) { var headObject = allRows[i].getElementsByClassName('head'); if (headObject.length == 0) continue; let text = headObject[1].innerHTML; let cordsText = text.substring(text.indexOf('(') + 1 , text.indexOf(')')); var lineCords = new buildCordsObjectFromText(cordsText); let currentDistance = getDistance(cords, lineCords); var myp = document.createElement("span"); myp.style.color = "yellow"; myp.innerHTML = currentDistance.toFixed(0).replace(/(\d)(?=(\d{3})+$)/g, '$1,') + " km"; allRows[i].getElementsByClassName('head')[1].outerHTML = myp.outerHTML + allRows[i].getElementsByClassName('head')[1].outerHTML; var myp1 = document.createElement("button"); var link = allRows[i].getElementsByTagName('a')[0].innerHTML; myp1.value=`${lineCords.X}&${lineCords.Y}&${lineCords.Z}&${link}`; myp1.innerHTML= `Bookmark`; myp1.id= `bookmarkButton${i}`; myp1.addEventListener("click", buttonOnClickEvent, false); allRows[i].getElementsByClassName('head')[1].outerHTML = allRows[i].getElementsByClassName('head')[1].outerHTML + myp1.outerHTML; document.getElementById(myp1.id).addEventListener("click", buttonOnClickEvent, false); } } function detectIfCallBack() { let tables = document.getElementsByTagName('table'); return tables.length > 1; } function buttonOnClickEvent() { var allValues = this.value.split('&'); window.location = `/player_map.php?x=${allValues[0]}&y=${allValues[1]}&z=${allValues[2]}&name=${allValues[3]}`; } /* End Data To Results */ /* Utilities Functions */ function createButton(elementIdName, buttonText, callbackFunction) { var buttonName = `btn-${buttonText.replace(' ','').replace(' ','')}`; var row = document.getElementById(elementIdName); if (row == undefined) { attachIdByName(elementIdName); row = document.getElementById(elementIdName); } row.outerHTML = row.outerHTML + `<input type='button' class='darkbutton' id='${buttonName}' value='${buttonText}'>`; var button = document.getElementById(buttonName); button.addEventListener("click", callbackFunction, false); } function buildCordsObjectFromText(str) { let cords = str.split(','); return buildCordsObject(cords[0], cords[1], cords[2]); } function buildCordsObject(x,y,z) { return {X : parseInt(x), Y: parseInt(y), Z: parseInt(z)} } function isEqule(cordsA, cordsB) { return (cordsA.X == cordsB.X && cordsA.Y == cordsB.Y && cordsA.Z == cordsB.Z); } function getDistance(cordsA, cordsB) { let X = Math.pow(cordsA.X - cordsB.X, 2); let Y = Math.pow(cordsA.Y - cordsB.Y, 2); let Z = Math.pow(cordsA.Z - cordsB.Z, 2); let f = Math.sqrt(X + Y + Z); return 4000 * f; } function attachIdByName(name) { $(`[name=${name}]`)[0].id = name; } /* End Utilities Functions */
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址