Bearbeiten von „Kategorie:GM-Scripte“

Aus Horizon
Wechseln zu: Navigation, Suche

Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird öffentlich sichtbar, falls du Bearbeitungen durchführst. Sofern du dich anmeldest oder ein Benutzerkonto erstellst, werden deine Bearbeitungen zusammen mit anderen Beiträgen deinem Benutzernamen zugeordnet.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und speichere dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.
Aktuelle Version Dein Text
Zeile 1: Zeile 1:
<font style="color:red;"><b>Generell analysieren die Scripte die HTML-Struktur der Seite. Wenn also die Entwicklung ein Patch oder ein Update installiert und damit den HTML-Code ändert werden die Script zum Teil nicht mehr funktionieren.</b></font>
 
 
== How to GreaseMonkey - oder: Wie funktioniert das nun? ==
 
== How to GreaseMonkey - oder: Wie funktioniert das nun? ==
 
Einzige Vorraussetzung ist, dass Javascript installiert ist und ausgeführt werden darf. Aber da das ohnehin auch Vorraussetzung für ein funktionierendes Horizon ist wird hier davon ausgegangen, dass diese Vorraussetzung erfüllt ist.
 
Einzige Vorraussetzung ist, dass Javascript installiert ist und ausgeführt werden darf. Aber da das ohnehin auch Vorraussetzung für ein funktionierendes Horizon ist wird hier davon ausgegangen, dass diese Vorraussetzung erfüllt ist.
Zeile 7: Zeile 6:
 
Nach einem Klick auf Extras sieht man gleich den Eintrag für Greasemonkey. Hält man die Maus auf den Eintrag erscheint ein Untermenü, dessen erster Eintrag Greasemonkey selber ist. Der Haken davor zeigt an das GM aktiv ist. Mit einem einfachen Klick hier kann GM deaktiviert werden für den Fall, das mal was schief geht.
 
Nach einem Klick auf Extras sieht man gleich den Eintrag für Greasemonkey. Hält man die Maus auf den Eintrag erscheint ein Untermenü, dessen erster Eintrag Greasemonkey selber ist. Der Haken davor zeigt an das GM aktiv ist. Mit einem einfachen Klick hier kann GM deaktiviert werden für den Fall, das mal was schief geht.
 
Ein weiterer Eintrag ist "Neues Benutzerscript". Nach einem Klick drauf öffnet sich ein Dialogfenster. In diesem Fenster ist zunächst nur der Name wichtig - aus diesem setzt sich der Dateiname zusammen, unter dem das Script abgelegt wird. Nach einem Klick auf ok wird der Dialog durch einen Editor ersetzt und ein bischen Text ist auch schon eingetragen. Was die einzelnen Zeile bedeuten wird gleich erklärt. Man kann sich jetzt also einen Quelltext von einer der unten verlinkten Seiten kopieren, in dem Editor einfügen, speichern und eventuell war es das dann schon.
 
Ein weiterer Eintrag ist "Neues Benutzerscript". Nach einem Klick drauf öffnet sich ein Dialogfenster. In diesem Fenster ist zunächst nur der Name wichtig - aus diesem setzt sich der Dateiname zusammen, unter dem das Script abgelegt wird. Nach einem Klick auf ok wird der Dialog durch einen Editor ersetzt und ein bischen Text ist auch schon eingetragen. Was die einzelnen Zeile bedeuten wird gleich erklärt. Man kann sich jetzt also einen Quelltext von einer der unten verlinkten Seiten kopieren, in dem Editor einfügen, speichern und eventuell war es das dann schon.
 
=== Greasemonkey-Scripte mit dem Chrome-Browser nutzen ===
 
Der Chrome Browser unterstützt GM-Scripte von Haus aus, es wird automatisch in eine sog. ''Erweiterung'' umgewandelt.
 
Um ein Script zu installieren muss die *.user.js Datei zunächst auf dem Rechner abgespeichert werden. Anschließend begibt man sich in das Einstellungsmenü (erreichbar über  Eingabe von chrome://extensions im Adressfeld des Browsers) und zieht die zuvor abgespeicherte Datei in das Browserfenster.
 
Nachteil dieser Methode ist, dass das Script auf allen Webseiten angewendet wird (vgl. @include-Anweisung im Abschnitt unten).
 
 
Um diesem Mangel zu begegnen kann man auf die Chrome Erweiterung Tampermonkey [https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo?hl=de] zurückgreifen, sie kann über den Chrome Web Store installiert werden. Sobald sie installiert ist, kann man einfach auf den Link zu einer *.user.js-Datei klicken und wird anschließend gefragt ob man das Script installieren möchte.
 
Ein weiterer Vorteil ist, dass Scripts automatisch auf den neuesten Stand gebracht werden, sobald eine neue Version verfügbar ist (vgl. @version-Anweisung im Abschnitt unten). Auch können einzelne Scripts komfortabel zeitweise deaktiviert werden wenn sie aktuell nicht benötigt werden.
 
 
 
=== Aufbau eines GreaseMonkey-Scriptes ===
 
=== Aufbau eines GreaseMonkey-Scriptes ===
 
Hier erklärt am Händlerscript. Nach dem neu Anlegen des Benutzerscriptes findet man einen Kopf wie diesem im Editor:
 
Hier erklärt am Händlerscript. Nach dem neu Anlegen des Benutzerscriptes findet man einen Kopf wie diesem im Editor:
Zeile 51: Zeile 41:
 
Der Eintrag hängt davon ab, wir ihr Horizon aufgerufen habt. Aktuell gibt es nur eine bekannte Seite:<br>
 
Der Eintrag hängt davon ab, wir ihr Horizon aufgerufen habt. Aktuell gibt es nur eine bekannte Seite:<br>
 
www.Horiversum.org<br>
 
www.Horiversum.org<br>
Ein * bedeutet immer, das hier beliebig viele Zeichen stehen dürfen. Deshalb wird *game.horiversum.org... auch mit http://game.horiversum.org... oder mit https://irgendwas.game.horiversum.org... funktionieren.<br>
+
Ein * bedeutet immer, das hier beliebig viele Zeichen stehen dürfen. Deshalb wird *game.horiversum.org... auch mit http://game.horiversum.org... oder mit https://irgendwas.gam.horiversum.org... funktionieren.<br>
Wenn es also mal wieder eine Speedrunde geben sollte und deren URL http://speed.horiversum.org... heissen sollte dann wird das script ''nicht'' funktionieren. In diesem Fall wird die ganze Zeile einfach kopiert und unten drunter noch einmal eingefügt und entsprechend geändert:
+
Wenn es also mal wieder eine Speedrunde geben sollte und deren URL http://speed.horiversum.org... heissen sollte dann wird das script nicht funktionieren. In diesem Fall wird die ganze Zeile einfach kopiert und unten drunter noch einmal eingefügt und entsprechend geändert:
 
<pre>
 
<pre>
 
// @include   *game.horiversum.org/game/main/main.php?cmd=message&send=sent&subcmd=*&action=view*
 
// @include   *game.horiversum.org/game/main/main.php?cmd=message&send=sent&subcmd=*&action=view*
 
// @include   *speed.horiversum.org/game/main/main.php?cmd=message&send=sent&subcmd=*&action=view*
 
// @include   *speed.horiversum.org/game/main/main.php?cmd=message&send=sent&subcmd=*&action=view*
</pre>
 
Alternativ kann man die Zeile auch so ändern, dass das "game." nicht mehr mit gesucht wird:
 
<pre>
 
// @include   *horiversum.org/game/main/main.php?cmd=message&send=sent&subcmd=*&action=view*
 
 
</pre>
 
</pre>
 
Wenn man wünscht, das ein Script auf einer Seite auf gar keinen Fall aufgerufen werden soll so kann man das wie folgt konfigurieren:
 
Wenn man wünscht, das ein Script auf einer Seite auf gar keinen Fall aufgerufen werden soll so kann man das wie folgt konfigurieren:
Zeile 68: Zeile 54:
 
Weitere Konfigurationsmöglichkeiten sind dann für jedes Script anders und dort beschrieben, wo auch der Quellcode zur Verfügung gestellt wird.
 
Weitere Konfigurationsmöglichkeiten sind dann für jedes Script anders und dort beschrieben, wo auch der Quellcode zur Verfügung gestellt wird.
  
=== Häufige Fehlerursachen ===
 
Sollte ein Script mal nicht funktionieren, dann ist vor allem eine ausführliche Fehlerbeschreibung hilfreich.
 
Oft hilft es zu prüfen ob die vom Spieler verwendete Horizon-homepage vom Script per @include unterstützt wird (siehe oben, es gibt horiversum.org, horiversum.de, und alles mit oder ohne www davor).
 
 
Wenn die Fehlerursache nicht in den @include-Zeilen liegt, hilft oft die JavaScript-Konsole, in der auftretende Fehler angezeigt werden. Eine Anleitung wie man die JavaScript-Konsole in den verschiedenen Browsern und Betriebssystemen öffnet, findet man auf [http://ggnome.com/wiki/Using_The_Browser_Error_Console#Accessing_the_Error_Console dieser externen Seite] (leider nur auf englisch).
 
 
Wenn die dort angezeigten Fehlermeldungen nicht weiterhelfen, kann man sich mit diesen an den jeweiligen Scriptentwickler oder einem anderen kundigen Spieler wenden, welchem diese Meldungen bei der Fehlersuche oftmals helfen.
 
 
==== regelmäßig auftretende Fehler ====
 
* Firefox unterstützt nicht ''innerText'' zur Extrahierung von Textinhalt, stattdessen muss ''textContent'' benutzt werden
 
* die Horizon Seiten werden in ''iso-8859-1'' ausgeliefert, was immer mal wieder Probleme mit Umlauten macht wenn man mit UTF-Daten interagiert
 
  
 
[[Kategorie:Scripte]]
 
[[Kategorie:Scripte]]

Bitte beachte, dass alle Beiträge zu Horizon von anderen Mitwirkenden bearbeitet, geändert oder gelöscht werden können. Reiche hier keine Texte ein, falls du nicht willst, dass diese ohne Einschränkung geändert werden können.

Du bestätigst hiermit auch, dass du diese Texte selbst geschrieben hast oder diese von einer gemeinfreien Quelle kopiert hast (weitere Einzelheiten unter Horizon:Urheberrechte). ÜBERTRAGE OHNE GENEHMIGUNG KEINE URHEBERRECHTLICH GESCHÜTZTEN INHALTE!

Bitte beantworte die folgende Frage, um diese Seite speichern zu können (weitere Informationen):

Abbrechen | Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)