Wie versprochen habe ich ein Userscript entwickelt, mit dem man ganz einfach Berichte in den Farmmanager einlesen kann.
Änderungen des Skriptes oder die Verwendung von Teilen davon sind nicht ohne gesonderte Erlaubnis gestattet.
Schaut man sich einen Bericht an, kann man mit der Taste "E" veranlassen, dass der Bericht im Hintergrund an den Farmmanager geschickt wird. Wichtig: Dazu muss man bei der ersten Benutzung seine Farmmanager-ID bereithalten!
Die Farmmanager-ID ist der hier unterstrichene Teil: http://np.bmaker.net/tools/farmmanager.php?id=abc123def4
Das Ganze dauert nur 1-2 Sekunden. Der Farmmanager muss nicht geöffnet sein!
Erlaubt?
Ja, das Skript wurde vom DieStämme-Support erlaubt! Siehe ganz unten!
Version 1.0.0 (Diff):
- Beginn der Versionierung mit 1.0.0 (bisherige Versionen waren unversioniert)
- jetzt kompatibel zu Version 6.0 (insbesondere also Welt 55/56)
- man kann jetzt die Tasten zum Einlesen selbst definieren
- es gibt jetzt einen zusätzlichen Hotkey, der den Bericht nach erfolgreichem Einlesen automatisch löscht (Tom)
- es wird jetzt direkt über dem Bericht angezeigt, wenn er erfolgreich eingelesen wurde (ohne Popup)
- die bisherige Erfolgs-Meldung (mit Popup) ist nun standardmäßig deaktiviert (skydeath)
- besseres Verhalten bei falsch eingegebener Farmmanager-ID
- einige kleinere Verbesserungen, zum Beispiel werden jetzt viel mehr Details preisgegeben, wenn etwas schief läuft
Version 0:
- nicht dokumentiert
Fragen & Antworten
Frage: Wie kann ich das Skript konfigurieren, also zum Beispiel meine Hotkeys und so weiter?
Antwort:
1. Extras -> Greasemonkey -> Benutzerskripte verwalten...
2. Links "Farmmanager-Erweiterung" auswählen
3. Links unten auf "Bearbeiten..." klicken
4. In dem Editor könnt ihr jetzt im Abschnitt "/* KONFIGURATION */" eure Anpassungen vornehmen. Dort ist auch jede Einstellung beschrieben.
/* KONFIGURATION */
// Hier eine Liste der möglichen Tasten-Codes: http://www.webonweboff.com/tips/js/event_key_codes.aspx
// Für die einfachen Buchstaben-Tasten gilt: A = 65, B = 66, C = 67, ..., Y = 89, Z = 90
// Um einen Hotkey ganz zu deaktivieren einfach -1 eintragen
// Beschreibung: mit diesem Hotkey wird der Bericht einfach nur eingelesen
// Standard: 69 (Taste 'e')
// Gültige Werte: 0 - 255 sowie -1 für Deaktivierung
var parse_hotkey = 69; // 69 <=> e
// Beschreibung: mit diesem Hotkey wird der Bericht eingelesen und bei Erfolg gelöscht
// Standard: -1
// Gültige Werte: 0 - 255 sowie -1 für Deaktivierung
var parse_and_delete_hotkey = -1;
// Beschreibung: Die "Bericht erfolgreich eingelesen"-Meldung MIT Popup lässt sich hiermit ein- bzw. abschalten
// Davon ist die Meldung OHNE Popup nicht betroffen, diese wird IMMER angezeigt.
// Standard: false
// Gültige Werte: true, false
var show_success_popup = false;
// Beschreibung: debug-Modus. Sollte man einfach anlassen.
// Standard: true
// Gültige Werte: true, false
var debug = true;
/* /KONFIGURATION */
Frage: Wie kann ich die ID meines Farmmanagers ändern?
Antwort:
Am einfachsten ist es, das Skript einfach zu deinstallieren und nochmals zu installieren. Beim Deinstallieren unbedingt das Löschen der zugehörigen Einstellungen aktivieren!
Eine andere Methode ist folgende:
1. about:config in die Addressleiste eingeben + Sicherheitswarnung bestätigen.
2. In den Suchfilter "farmmanager" eingeben.
3. Die Zeile mit der ID des alten Farmmanagers suchen und darin die ID des neuen Farmmanagers speichern.
4. Fertig.
Frage: Funktioniert das Skript auch mit mehreren Welten (und somit mehreren Farmmanagern)?
Antwort:
Ja, natürlich!
Dies ist das Pattern für die Berichte-Ansichtsseite.
Das Skript fügt zunächst einen EventListener hinzu, der Tastenanschläge der jeweils konfigurierten Hotkeys (Standard: wenigstens Taste "E") registriert. Der EventListener führt dann das eigentliche Hauptskript aus.
Das Hauptskript extrahiert mit Hilfe der rekursiven Funktion _getNodeTextRecursively alle Textdaten aus der Tabelle (<table>), in der sich der Bericht befindet.
Es stellt weiterhin fest, welche Ressourcen erspäht wurden (z.B. "alle" oder "nur Holz und Lehm" usw.).
Die Textdaten des Berichts sowie die Informationen über die erspähten Ressourcen werden dann per AJAX-Request an den Farmmanager, dessen ID der Benutzer bei erstmaliger Benutzung angeben muss, geschickt. Es handelt sich dabei um einen POST-Request.
Anhand der Antwort des Farmmanagers wird der Benutzer schließlich darüber informiert, ob der Bericht eingelesen werden konnte oder ob ein Problem aufgetreten ist.
Einer der beiden Hotkeys löscht außerdem den gerade eingelesenen Bericht (nur nach erfolgreichem Einlesen).
Nabend neu und glatt. Ich habe mir das Script drauf gepackt und wahrscheinlich ne falsche ID angegeben. Meldung Fehler bitte selbst einkopiern. Tu ich das Meldung: Ungültig du musst den kompletten Bericht kopieren????? Was hab ich falsch gemacht???
Ich habe das Script auch installiert (und den Farmmanager auch zum ersten mal probiert : ) - welt 32)
Die ID habe ich richtig eingegeben, das Script gibt mir die gleiche Fehlermeldung raus (Fehler - bitte selbst einkopiern). Dann hab ich das auch versucht - und auch Du musst den Bericht vollständig reinkopieren (ich habe folgendes reingeschrieben - zahlen "zensiert")
Zitat:
Gesendet xx.xx.xx xx:xx
Der Angreifer hat gewonnen
Glück (aus Sicht des Angreifers)
-12.4% Pech
Anzahl: xx xx xx xx xx xx xx xx xx
Verluste: xx xx xx xx xx xx xx xx xx
Beute: xxxx xxxx xxxx xxxxxx/xxxxxx
Könnte das irgendetwas mit den Welt-Einstellungen oder mit PA's zutun haben? (ich habe einen PA)
EDIT:
Nein - ich habs! Es MÜSSEN Späher dabei gewesen sein.
Ich denke da besteht handlungsbedarf - wenn man normal angegriffen hat, müssen die erbeuteten Rohstoffe abgezogen werden.
MfG
FC
Geändert von FetterChiller (12.11.2008 um 14:47 Uhr)
Grund: Lösung tw gefunden
__________________
.:: DS NoPaste mit Angriffsplaner + Farmmanager :: DS OBST :: DS Postcheck ::. Zitat von glotzer (06.01.2008): "ich machs dir gerne(oder find wen der macht), aber nur wenn du mir name und adresse nenst wo ich die rechnung hinschicken kann und ich arbeite nur gegen vorkasse"
Nachdem Ich den Bericht direkt abgesendet habe, besteht keinerlei Möglichkeit eine evtl. Notiz mit einzupflegen.
Wäre es vllt. möglich, das man auf der Übersichtsseite noch Notizen einfügen könnte nachträglich?
Nachdem Ich den Bericht direkt abgesendet habe, besteht keinerlei Möglichkeit eine evtl. Notiz mit einzupflegen.
Wäre es vllt. möglich, das man auf der Übersichtsseite noch Notizen einfügen könnte nachträglich?
Bereits in Arbeit, danke.
__________________
.:: DS NoPaste mit Angriffsplaner + Farmmanager :: DS OBST :: DS Postcheck ::. Zitat von glotzer (06.01.2008): "ich machs dir gerne(oder find wen der macht), aber nur wenn du mir name und adresse nenst wo ich die rechnung hinschicken kann und ich arbeite nur gegen vorkasse"
endgeil aber warum ist das ganze auf 100 farmen beschränkt? :/
Habe das Limit jetzt auf 500 Farmen angehoben. Ich hoffe das genügt.^^
__________________
.:: DS NoPaste mit Angriffsplaner + Farmmanager :: DS OBST :: DS Postcheck ::. Zitat von glotzer (06.01.2008): "ich machs dir gerne(oder find wen der macht), aber nur wenn du mir name und adresse nenst wo ich die rechnung hinschicken kann und ich arbeite nur gegen vorkasse"
dann minimiert ihr den browser und zieht das userscript mittels "drag and drop" einfach in den browser!(vorher noch unter extras-greasmonkeybenutzerscripte, das alte script löschen)!
tadamm es geht wieder!!
kann man das vll. irgendwie umschreiben, dass es auf der Karte oder in der Aktionsübersicht für das betreffende Dorf ein Icon anzeigt, wenn dieses Dorf schonmal besucht wurde?
Ähnlich, wie beim Adelsplaner.
Ich "farme" seht vile da ich nur so viele , aber leider auch kleine Dörfer in meiner Nähe habe.
Nun meine Frage:
Ist es mgl. das script so zu erweiter das mann nur noch die "farm" anklickt und die Koordinaten/ Anzahl der Kavalerie/ Träger wird in den geöffneten Versammlungsplatz übernommen ?
Ich "farme" seht vile da ich nur so viele , aber leider auch kleine Dörfer in meiner Nähe habe.
Nun meine Frage:
Ist es mgl. das script so zu erweiter das mann nur noch die "farm" anklickt und die Koordinaten/ Anzahl der Kavalerie/ Träger wird in den geöffneten Versammlungsplatz übernommen ?
Ist bereits in Arbeit!
Zitat:
Zitat von Tschoui
kann man das vll. irgendwie umschreiben, dass es auf der Karte oder in der Aktionsübersicht für das betreffende Dorf ein Icon anzeigt, wenn dieses Dorf schonmal besucht wurde?
Ähnlich, wie beim Adelsplaner.
Ja, das ist möglich, aber wird erstmal nicht (zumindest nicht von meiner Seite aus) geschehen. Zu wenig Zeit und zu viele wichtigere Verbesserungen, an denen ich schon arbeite.
__________________
.:: DS NoPaste mit Angriffsplaner + Farmmanager :: DS OBST :: DS Postcheck ::. Zitat von glotzer (06.01.2008): "ich machs dir gerne(oder find wen der macht), aber nur wenn du mir name und adresse nenst wo ich die rechnung hinschicken kann und ich arbeite nur gegen vorkasse"
Wenn ich das Skript auf den Desktop geladen hab und es dann öffne, kommt folgender Fehler:
Zeile 116 Zeichen 9
Bezeichner, Zeichenfolge oder Zahl erwartet
Code 800A0404
Kompilierungsfehler in Microsoft JScript
Greasemonkey ist installiert...
Also wenn es dir darum geht das Skript zu bearbeiten, dann musst du Rechtsklick -> Bearbeiten wählen.
Wenn du es nur installieren willst folge einfach der Anleitung.
__________________
.:: DS NoPaste mit Angriffsplaner + Farmmanager :: DS OBST :: DS Postcheck ::. Zitat von glotzer (06.01.2008): "ich machs dir gerne(oder find wen der macht), aber nur wenn du mir name und adresse nenst wo ich die rechnung hinschicken kann und ich arbeite nur gegen vorkasse"