ScriptUnitHider
Das Script erzeugt einen Knopf H (für unitHider) in der Planetentickbar, wenn man auf den klickt kommt man zu einem ausgefeilten Eingabefenster in dem man eintragen kann welche Einheiten ausgeblendet werden sollen.
Wie es dann aussieht kann man es sich hier angucken: http://sm-horizon.tk/files/unithider/unithider.screenshot.png
Die Einheiten sind dabei durch ein Pipe-Symbol (auf der deutschen Tastatur per Alt-Gr + <>|, meistens auf der linken Seite) zu trennen.
Es ist möglich entweder für einen konkreten Planeten Einstellungen vorzunehmen (Standardverhalten) oder global für alle Planeten. Ersteres muss für jeden Planet einzeln vorgenommen werden (Planet auswählen, H klicken, einstellen, OK klicken). Zu beachten ist dabei, dass es einzig vom Planetennamen abhängt, wenn er also umbenannt wird, dann müssen die Einstellungen neu getätigt werden.
Die globalen Einstellungen (die also für alle Planeten gelten) können vorgenommen werden, indem man sich in den Menüpunkt "Einstellungen" begibt (wo man den Urlaubsmodus usw. einstellen kann) und dann auf das H klickt.
Man erkennt auch an der Fragestellung des Einstellungsdialoges ob man gerade Planetenspezifische oder globale Einstellungen vornimmt.
Gespeichert wird alles im Browser des Spielers (LocalStorage), vor einem Browserupdate oder Cache löschen also sicherheitshalber mal ein Backup machen.
Hier findet man das Script: http://sm-horizon.tk/files/unithider/horizon.unithider.planets.user.js
Ein Verwendungsbeispiel um die Eisen- sowie Mineralmine, die ersten 3 Jägertypen und die dicken Bodenverteidigungen auszublenden wäre:
metalmine|crystalmine|WADR|LFGT|SFGT|APTU|PTTU
Wer es nicht über den obigen Link installieren will kann es hier herauskopieren:
// ==UserScript== // @name Horizon - hide unwanted units per planet or globally // @namespace http://www.sm-horizon.tk // @description hides unwanted units in browsergame Horizon // @include http://*horitest.goetterheimat.de/* // @include http://*horiversum.* // @author Dr.Ecksack // @version 2014.05.15.1 // ==/UserScript== function getPlanetName(){ var selectbox = document.getElementsByClassName("PlanetSelectBox")[0]; if (window.location.search.match("account|impressum")) return "allen Planeten"; return selectbox.item(selectbox.selectedIndex).textContent; } function unitHiderInit(){ if (!unitHiderButtonBuilder()) return false; if (!window.location.search.match("shipyard|building|defence")) return false; var planet = getPlanetName(); var unittables = document.getElementsByClassName('BldTable'); try{ var tohide = JSON.parse( window.localStorage.getItem('Horizon_unitstohide') ); }catch(e){ console.error("error while JSON.parse: " + e); } if (tohide == null) return; //if there is nothing defined, we can skip if ( (tohide[planet] == undefined || tohide[planet] == "" ) && (tohide["allen Planeten"] == undefined || tohide["allen Planeten"] == "") ) return; if (tohide[planet] == undefined || tohide[planet] == "") tohide[planet] = "xxxxxxxxxxxxx"; if (tohide["allen Planeten"] == undefined || tohide["allen Planeten"] == "") tohide["allen Planeten"] = "xxxxxxxxxxxxx"; for (var i=0; i<unittables.length; i++){ for (var j=0; j<unittables.item(i).rows.length; j++){ if ( unittables.item(i).rows.item(j).textContent.match(tohide[planet]) || unittables.item(i).rows.item(j).textContent.match(tohide["allen Planeten"]) ){ unittables.item(i).rows.item(j).hidden = true; unittables.item(i).rows.item(j+1).hidden = true; } } } } function unitHiderButtonBuilder(){ var planetsdiv = document.getElementsByClassName('TickPlanetList'); if (!planetsdiv[0]) return false; //There is no Planettickbar, we can stop here var hiderTickEntry = document.createElement('div'); hiderTickEntry.setAttribute('class', 'TickPlanetEntry'); var hiderTickImageDiv = document.createElement('div'); hiderTickImageDiv.className = "TickPlanetDiv"; hiderTickImageDiv.style.cursor = 'pointer'; hiderTickImageDiv.onclick = function(){ var planet = getPlanetName(); var tohide; var newtext; //read the data, if there is nothing to read/parse we need to build an empty object try{ tohide = JSON.parse( window.localStorage.getItem('Horizon_unitstohide') ); if (tohide == null) tohide["allen Planeten"] = ""; }catch(e){ console.error("error with JSON: " + e); tohide = JSON.parse( '{ }' ); } tohide[planet] = prompt("Welche Einheiten sollen auf " + planet + " versteckt werden? Groß- und kleinschreibung beachten! Trennung durch | ",tohide[planet]); if (tohide[planet] != null){ window.localStorage.setItem('Horizon_unitstohide', JSON.stringify(tohide) ); } } hiderTickImageDiv.appendChild(document.createTextNode('H')); hiderTickImageDiv.style.color = "white"; hiderTickImageDiv.style.fontSize = "15px"; hiderTickImageDiv.style.fontWeight = "bold"; hiderTickImageDiv.style.textAlign = "center"; hiderTickEntry.appendChild(hiderTickImageDiv); planetsdiv[0].appendChild(hiderTickEntry); return true; } unitHiderInit();