您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds a next planet button for probes which launches fleet to next planet. For www.war-facts.com .
当前为
- // ==UserScript==
- // @name WF Explorer Next Planet Button
- // @namespace https://greasyfork.org/en/users/10321-nikitas
- // @description Adds a next planet button for probes which launches fleet to next planet. For www.war-facts.com .
- // @include http://*.war-facts.com/fleet.php*
- // @version 4
- // @grant none
- // ==/UserScript==
- //Configuration Options:
- //Change this if you do not want Auto Launch when Next Button is Pressed, or if you don't want to Auto Select Next Explorer
- unsafeWindow.AutoLaunch = true;
- unsafeWindow.AutoSelectNextExplorer = true;
- // Change this if you wish to exclude Fleets whose names contain the excludeString from being auto Selected as next explorer.
- unsafeWindow.useExcludeString = false;
- // Change this to what you would like to put into a fleet's name in order to exclude it from being auto selected.
- unsafeWindow.excludeString = "#NotAuto#";
- // Change this if you wish to auto Select Fleets as next explorer ONLY if their names contain the includeString.
- unsafeWindow.useIncludeString = false;
- // Change this to what you would like to put into a fleet's name in order to include it into being auto selected.
- unsafeWindow.includeString = "#Auto#";
- //Script
- $(window).load(function(){
- var classificationNode = document.getElementById('fleetClass');
- var isExplorer = document.evaluate("//text()[contains(.,'Explorer') or contains(.,'Sentry') or contains(.,'Probe Rush')]", classificationNode, null, XPathResult.BOOLEAN_TYPE, null).booleanValue;
- if (isExplorer){
- var info = document.getElementById('navData').getElementsByTagName('div')[4];
- var infoSpan = info.getElementsByTagName('span')[0];
- // not containing world in the span.
- var isAtSystemEntrance = ! (document.evaluate("//text()[contains(.,'World:')]", infoSpan, null, XPathResult.BOOLEAN_TYPE, null).booleanValue);
- //alert("Is explorer = " + isExplorer);
- //alert("Is at system Entrance = " + isAtSystemEntrance);
- var currentPlanet = info.getElementsByTagName('a')[0].innerHTML;
- //alert(currentPlanet);
- var optionGroup = document.getElementById('target1').getElementsByTagName('optgroup')[0].getElementsByTagName('option');
- var i = 0 , found = false, optionsLength = optionGroup.length;
- var nextPlanetOption, finishedSystem = false;
- //if I am at system entrance
- if (isAtSystemEntrance){
- found = true;
- nextPlanetOption = optionGroup[0].value;
- }
- //if PlanetLess system
- if (optionsLength == 0 ) {
- found = true;
- finishedSystem = true;
- }
- // If I am at a planet, Find next planet through the local target option list
- while ( (i < optionsLength) && (found == false) ) {
- if (optionGroup[i].innerHTML == currentPlanet ){
- found = true;
- if ( i == optionsLength -1 ){
- finishedSystem = true;
- } else {
- nextPlanetOption = optionGroup[i+1].value;
- }
- }
- i++;
- }
- // alert("finished system = " + finishedSystem);
- // alert("next planet = " + nextPlanetOption);
- // alert("Reached finished System");
- if (finishedSystem) {
- // alert("Inside finished System");
- document.getElementById('missionData').innerHTML += '<input class = "greenbutton darkbutton" type="button" id="nextPlanetButton" value = "Done" onclick="openStarMap()" />';
- document.getElementById('nextPlanetButton').addEventListener('click', openStarMap, false);
- } else {
- // alert("Inside NOT finished System");
- document.getElementById('missionData').innerHTML += '<input class = "greenbutton darkbutton" type="button" id="nextPlanetButton" value = "Next Planet" onclick="selectNextPlanet()" />';
- document.getElementById('nextPlanetButton').addEventListener('click', selectNextPlanet, false);
- }
- }
- function selectNextPlanet(){
- jQuery('#target1').val(nextPlanetOption).trigger ('change');
- if (unsafeWindow.AutoLaunch){
- unsafeWindow.hasLaunched = false;
- window.setTimeout(launchFleet,100);
- }
- }
- function openStarMap(){
- var starMapLink;
- if (isAtSystemEntrance){
- starMapLink = document.getElementById('navData').getElementsByTagName('div')[10].getElementsByTagName('a')[0].href;
- } else {
- starMapLink = document.getElementById('navData').getElementsByTagName('div')[11].getElementsByTagName('a')[0].href;
- }
- starMapLink = starMapLink.substring(19, starMapLink.length - 3 ); //Keep only the link, throw away the functions
- // mapWin is war-facts.com function to open javascript map
- mapWin(starMapLink);
- }
- function launchFleet(){
- var launchButton = document.getElementById('mButton').getElementsByTagName('input')[0];
- if (launchButton) { //So Button has been created
- getMission('launch'); //Launch Fleet
- unsafeWindow.hasLaunched = true;
- autoSelectNextExplorer();
- } else {
- window.setTimeout(launchFleet,100);
- }
- }
- function checkIfLaunched(){
- var abortButton = document.getElementById('mButton').children[0];
- if ( (abortButton) && (abortButton.value == "Abort Mission") ) {
- autoSelectNextExplorer();
- }else {
- alert("Trying Again");
- window.setTimeout(checkIfLaunched,250);
- }
- }
- function autoSelectNextExplorer(){
- if (unsafeWindow.AutoSelectNextExplorer) {
- var explorerList = document.getElementById('fc_Explorer').children;
- var index = 0;
- var explorerListLength = explorerList.length;
- while (index < explorerListLength) {
- if (explorerList[index].children[0].style.color == "rgb(242, 242, 242)") {
- var link = explorerList[index].children[0].href;
- var name = explorerList[index].children[0].innerHTML;
- if (( ( !unsafeWindow.useIncludeString) || ( name.indexOf(unsafeWindow.includeString) > -1 ) ) //If not using include string or String is in name
- && ( ( !unsafeWindow.useExcludeString) || ( name.indexOf(unsafeWindow.excludeString) == -1 ) ) //If not using exclude string or String is NOT in name
- && ( link != window.location.href ) //Make sure we are not chosing ourselve as this fleet is still "white"
- ) {
- index = explorerListLength; //To make sure if load doesn't happen immediately it stops running through fleet list
- window.open(link, "_self");
- }
- }
- index++;
- }
- }
- }
- });