Warning: fopen(/www/sites/update.greasyfork.icu/index/store/temp/aedba7c4a32c36baa84d4d9f964d548d.js): failed to open stream: No space left on device in /www/sites/update.greasyfork.icu/index/scriptControl.php on line 65
// ==UserScript== // @name Pimp My Dragosien // @namespace Uranos // @description Erweitert das Browserspiel Dragosien (dragosien.de) mit zusätzlichen Funktionen, die die Bedienung erleichtern sollen. // @icon https://i.ibb.co/FBpHwRK/pimpmydragosien.png // @include http*://*dragosien.de/* // @include http*://*dragosien.com/* // @include http*://*dragosien.org/* // @exclude http*://board.dragosien.de/* // @exclude http*://board2.dragosien.de/* // @grant GM_getValue // @grant GM_setValue // @grant GM_deleteValue // @grant GM_log // @grant GM_xmlhttpRequest // @grant GM_openInTab // @author Uranos // @version 2.14 // @new Fehlerbehebungen // @downloadURL https://update.greasyfork.icu/scripts/680/Pimp%20My%20Dragosien.user.js // @updateURL https://update.greasyfork.icu/scripts/680/Pimp%20My%20Dragosien.meta.js // ==/UserScript== var version = "2.14"; /* Funktionen: 1. Marktnummerierung: Die eigenen Angebote und Nachfragen auf der Marktübersicht sind jetzt nummeriert. So erkennt man leichter ob bereits etwas verkauft oder geliefert wurde, ohne dass man erst alles durch zählen muss. 2. BB-Codes: Man muss auf den Drachen- und Gildenprofilen die BBCodes nicht mehr per Hand eintippen. Einfach den Text markieren und dann auf den gewünschten Code klicken, um den Text entsprechend zu formatieren. Ist nichts markiert wird der Code einfach an der Cursor-Position eingefügt. Der Code für die Schriftfarbe öffnet eine kleine Tabelle mit einer kleinen Farbauswahl, hier kann man die Wunschfarbe auswählen und sie wird direkt mit eingefügt. Gegebenenfalls kann man den Farbcode danach immer noch anpassen. Die Farbe rechts oben f Ecke ist die gleich Farbe wie der Hintergrund der Seite. Text in dieser Farbe wird also unsichtbar. 3. Kartennavigation: Auf der Karte erscheint jetzt links oben ein Formular, in dem man nur die Zielkoordinaten eintippen muss, mit Enter oder Klick auf den "teleportieren"-Button gehts dann direkt zu eingegebenen Stelle. So muss man nicht immer ewig auf der Karte herumklicken, um auch weiter entfernte Orte zu erreichen. 4. Schatzkarten-Teleport: Mit dieser Funktion werden Schatzkarten in magische Teleport-Schlüssel verwandelt. Man braucht einfach auf die angegebenen Koordinaten klicken und landet direkt an der Stelle mit dem Schatz. Nur graben muss man noch selbst. ;-) 5. Gildenchat Links klickbar machen: Wenn jemand in der Gilde eine URL im Chat schreibt muss man diese nicht erst umständlich heraus kopieren. Sie wird direkt in einen Link umgewandelt, der sich mit einfachem Klick öffnen lässt. 6. Gildenchat größeres Eingabefeld: Statt einer einzeiligen Eingabe gibt es nun ein größeres Textfeld, in dem man auch lange Texte verfassen kann. ACHTUNG: Unter Umständen kann es in der Gilde nicht erwünscht sein, zu lange Texte im Chat zu verfassen. Vor Benutzung dieser Funktion sollte man sich also besser mit der Gilde absprechen! 7. Nachrichtenlinks klickbar machen: Alle URLs in privaten Nachrichten, die mit http:// beginnen werden automatisch in richtige Links umgewandelt. UPDATE: Auch Links mit www. 8. Eingabe Tausender-Mengen: Wenn man eine Weile gespielt hat braucht man immer größere Mengen an Waren. Und dann wird es etwas nervig, wenn man bei der Eingabe von Nachfragen, oder Rohstoff- Bereitstellungen immer so viele Nullen eingeben muss, bei denen man sich leicht mal verzählen kann. Nun muss man einfach nur ein k eingeben (k für Kilo=Tausend) oder ein + (weils so schön auf dem Ziffernblock liegt) und es wird automatisch in 3 Nullen umgewandelt. So kann man leichter Tausender-Mengen handhaben. 9. Markt im Hauptmenü: Der Markt ist nun auf jeder Seite immer über das Hauptmenü zu erreichen. 10. Arenatab in der Gildenhalle: In der Gildenhalle erscheint neben den üblichen Tabs (News, Gildenlager, Ausbauen, Chat) nun ein zusätzlicher Tab, der einen direkt zur Gildenarena bringt. So hat man diese Funktion gleich in der Nähe und braucht nicht umständlich zum Ende der Newsseite scrollen, oder über den Reiter H gehen. 11. Sitter merken: Hat man seinen Drachen einmal zum Sittern geschickt, merkt sich das Script den Sitter und trägt ihn in Zukunft bereits in das Formular ein, sodass man bei nächsten Sittern nur noch senden drücken braucht. Gibt man stattdessen einen anderen Sitter ein, wird der für das nächste Mal gemerkt. 12. Warnung bei schlechtem Zustand: Fällt der Erhaltungszustand eines Gebäudes unter 5% wird eine Warnung ausgegeben, wenn man das Gebäude besucht, damit man es nicht übersieht. Da nach dem Ausbau die Renovierungskosten steigen ist es allgemein ratsam, vor dem Ausbau zu renovieren. Deshalb wird man beim Ausbauen des Gebäudes wird man darauf hingewiesen, wenn das Gebäude nicht 100% hat. Beim Klick auf "Abbrechen" wird der Ausbau nicht gestartet, sodass man vorher noch renovieren kann, wenn man es nur vergessen hat. 13. Zustandsliste sortieren: Die Liste über den Zustand der Gebäude (Reiter "Z") wird nach dem Zustand sortiert. Das am weitesten verfallene Gebäude steht oben. 14. Tabellendarstellung: In Gildenhalle und Drachenprofilen ist es damit möglich Tabellen einzufügen. Beachten sollen man aber, dass die Tabelle so nur für die Leute erscheint, die das Script auch installiert haben. Deshalb wurde die Syntax für die Tabellen aber auch so gewählt, dass sie möglichst auch ohne das Script noch gut ausssieht. Das Prinzip ist ganz einfach, überall da wo eine Spalte anfängt oder aufhört kommt ein besonderes Zeichen hin. Für die Kopfzeilen ist das das ^ und für die normalen Tabellenzeilen der senkrechte Strich |. In einer Zeile darf man aber nur eines dieser Zeichen benutzen. Außerdem sollte man darauf achten, dass jede Zeile die gleiche Anzahl Spalten hat. Will man breite Zellen, die über mehrere Spalten gehen, macht man einfach so viele Zeichen hintereinander, wie die Zelle Spalten breit sein soll. ||| bewirkt also eine Zelle über drei Spalten. Will man stattdessen leere Spalten, sollte man sie zumindest mit einem Leerzeichen füllen: | | Innnerhalb der einzelnen Zellen kann man die üblichen BB-Codes benutzen. Die BB-Codes sollten allerdings nicht über die Zelle hinausgehen. |[b]Zelle1 | Zelle2[/b]| erzeugt also Fehler. Neben dem Speichern-Button unter dem Textfeld erscheint auch ein Button Tabelle erstellen. Hiermit kann man auch eine leere Tabelle erstellen, die man dann nur noch mit Inhalten zu füllen braucht. UPDATE: Um die Tabelle zu zentrieren kann der normale BB-Code ([c]zentriert[/c]) verwendet werden. Wichtig ist nur, das der Code auf der selben Zeile wie die erste und letzte Zeile der Tabelle ist. Beispieltabelle: [c]^Drachen^^^^^Eigenschaften^ ^ ^Kraft^Geschick^Feuerkraft^Willenskraft^Intelligenz^ ||||||männliche Drachen | |DracheA|112 |42 |53 |[b]257[/b] |38 | |DracheB|53 |354 |[b]321[/b]|33 |61 | |DracheC|39 |61 |44 |[i]301[/i] |266 | ||||||weibliche Drachen | |DracheD|206 |54 |264 |56 |47 | |DracheE|121 |326 |63 |298 |58 |[/c] 15. Dracheneier ausblenden: Hat man viele Dracheneier gelegt um das richtige zu finden kann es zuweilen schon etwas unübersichtlich werden. Mit dieser Funktion kann man nun solche Dracheneier oder auch andere Drachen unsichtbar machen. Alles was man dazu tun muss, ist es diese in JohnDoe oder MaryDoe umzubenennen. Um verschiedene Eier zu unterscheiden kann man auch noch eine Zahl direkt hinten anhängen, z.B.: MaryDoe17. Ist die Funktion aktiviert erscheinen sie dann weder im Reiter "D", in der Drachenzucht, noch im Profil. Auch alle fremden Drachen mit diesen Namen werden in den Profilen nicht mehr angezeigt. Wurden Drachen(-eier) ausgeblendet erscheint als Hinweis ein kleines Ei in der Überschrift. Klickt man darauf, kann man die Drachen auch wieder sichtbar machen. 16. Lager als Gebäude sichtbar: Da manche Probleme haben das im Markt integrierte Lager zu finden, gibt es das Lager mit dieser Funktion auch wieder als eigenes Gebäude. So ist es immer gleich neben den anderen Gebäuden gut zu erkennen. Als Bonus darf man sich auch noch aussuchen, wo es stehen soll. Entweder weiter links gleich rechts neben dem Gebäude Nr. 20 oder rechts neben der Drachenzucht. 17. Orakelvorhersage zu Spielen: Bei Dragballspielen erscheint jetzt sowohl live in der Arena, als auch bei den Spielberichten immer ein Button "Orakel befragen!", der bei Klick das Orakel zur aktuellen Aufstellung befragt. Das Orakel wird dabei in einem neuen Tab geöffnet. So kann man sich gleich nach Anpfiff die Siegwahrscheinlichkeit berechnen lassen. UPDATE: Funktioniert jetzt auch in der Gildenarena, wobei man wählen kann, ob die aktuelle Aufstellung als Heim- oder Gastspiel angesetzt werden soll. 18. Baukosten ohne Bauherrn-Ersparnis anzeigen: Wenn man einen Bauherrn hat werden alle Gebäudekosten inklusive der Ersparnis durch den Bauherrn angezeigt. Durch Klick auf die Spaltenüberschrift der Baukosten kann man sich nun nacheinander auch die Baukosten anzeigen lassen, wie sie ohne den Bauherrn wären, und die absolute Ersparnis um so zu sehen, wie viel man durch seinen Bauherrn einspart. 19. Gildenstadt: Auf Anregung von eragon1234 wurde Gilde komplett restrukturiert. Mit dieser Funktion sieht die Gilde nun einer Siedlung ähnlich, mit verschieden Gebäuden für die einzelnen Funktionen in der Gilde. Auch die Unterseiten der Gilde wurden überarbeitet. Im Gildenlager ist z.B. die Lagermenge, das Spenden, die bereits gespendete Menge und auch das Zurückziehen übersichtlicher alles zusammen in einer Tabelle untergebracht. 20. Einkaufsliste: Auf den jeweiligen Marktseiten werden Pfeile eingeblendet, mit denen man durch alle eigenen Angebote und Nachfragen blättern kann. So kann man bei allen die aktuelle Position und die Preise der Konkurrenten, etc. überprüfen ohne zwischendurch immer wieder auf die Übersichtsseite wechseln, oder sich alle merken zu müssen. 21. Baufortschrittsanzeige: Wenn ein Gebäude ausgebaut wird, erscheint unter dem Gebäudenamen ein Fortschrittsbalken, der anzeigt, wie weit der Ausbau schon gediehen ist und wie lange er noch andauert. 22. Wetteinsatz merken: Bei Spielen im Wirtshaus merkt sich diese Funktion den Wetteinsatz und trägt ihn beim nächsten Mal gleich in das Eingabefeld ein. Wenn man z.B. immer nur um 237Gold spielen will brauch man die Zahl nicht immer wieder neu eintragen. 23. Gildenarena-Tabelle sortieren: Die Tabelle mit den Drachen in der Gildenarena kann nun nach allen Werten sortiert werden. Zusätzlich kann man zu jedem Drachen ein Bemerkung speichern. Hier könnte man z.B. vermerken, für welche Mannschaft er vorgesehen ist, oder welcher Drache als letztes gesteigert wurde. Die Bemerkungen können auch sortiert werden. HINWEIS: Diese Funktion funktioniert nicht, wenn die Tabelle schon von anderen Scripts verändert wurde. Wer also noch ein anderes Script benutzt, sollte die entsprechende Funktion eines Scriptes deaktivieren. UPDATE: Hinter den Namen wird auch das Geschlecht der Drachen angezeigt, sofern man den Drachen schon einmal vorher besucht hat. 24. Paarungen nach Mannschaften sortieren: Auf der Seite "Paarungen" in der Gildenarena kann man sich mittels Auswahlfelder über der Tabelle wahlweise jeweils nur noch eine Mannschaft anzeigen lassen. Außerdem kann man auch nur Heim- bzw. Gastspiele anzeigen lassen. HINWEIS: Damit das funktioniert, sollte man einmalig zuerst die Gildenhalle aufgesucht haben, bevor man auf die "Paarungen"-Seite geht. 25. Turnierplan-Ansicht verbessern: Die Anzeige im Turnierplan springt zum aktuellen Spiel und nicht immer nur zu dem um 15:30. Neben dem Auswahlfeld werden Pfeile angezeigt mit denen man direkt zum nächsten oder letzen Spiel springen kann. Außerdem kann man sich sowohl im Turnierplan, als auch in der Punktetabelle nur die Gruppen mit den eigenen Mannschaften anzeigen lassen. 26. Drachenfarbe anzeigen: Im Profil des Drachen wird neben den sonstigen Angaben nun auch die Bezeichnung der Farben angezeigt. 27. Uhr: Laest die Dragosien Uhr laufen. Im title der Uhr bleibt der echte TS erhalten. Vielen Dank an Hashmy, der diese Funktion geschrieben hat. UPDATE: Es wird über der Uhrzeit auch das aktuelle Datum angezeigt. 28. Jahreszeit: Umstellung zwischen Sommer (grüne Wiese) und Winter (Schnee). 29. Nacht: Nach einer bestimmten Uhrzeit wird es dunkel in Dragosien und frühs wieder hell. Die Uhrzeit ist in der Configuration beliebig einstellbar. Außerdem kann man auch ständigen Tag oder permanente Nacht wählen. 30. Gilden- und Drachenprofile gliederbar: Wenn man viele Informationen in der Profilen unterbringen will, werden sie unter Umständen unüberischtlich und man muss viel scrollen. Diese Funktion schafft nun Abhilfe, indem man den Text in Abschnitte gliedern kann, die einzeln über eine Tab-Leiste ausgewählt werden können. Dazu schreibt man einfach über jeden Abschnitt die Überschrift, die im Tab stehen soll mit jeweils zwei Gleichheitszeichen davor und dahinter: ==Ueberschrift== 31. Reiter P: Der Reiter P wird jetzt übersichtlicher. Alles Produkte die weder produziert, noch verbraucht werden, werden ausgeblendet. Bei den anderen wird Produktion und Verbrauch in verschiedenen Spalten dargestellt und die Netto-Produktion dahinter angezeigt. In der rechten Leiste erscheint nun in Dragosien ein zusätzlicher Reiter "C" (für Configuration). Hier können die einzelnen Funktionen auch abgeschaltet werden, wenn man nur bestimmte nutzen will. */ // Namen der Funktionen = Ids der Checkboxen = gespeicherte GMValues var wert = ["update", "marktnumm", "bbcode", "karte", "schatz", "link", "gchat", "nlink", "menge", "menue", "garena", "sitter", "warn_zustand", "z_sort", "table", "dr_ei", "lager", "orakel", "bauherr", "g_stadt","m_list","b_fort","wette","ga_sort","paarungen","turnierplan", "drcolor","uhr","advent","nacht","g_tab","reiterP"]; // Bezeichungen in der Konfiguration var bez = ["Prüfe auf Updates", "Markt­nummerierung", "BB-Codes", "Karten­navigation", "Schatzkarten-Teleport","Gildenchat Links klickbar machen", "Gildenchat größeres Eingabe­feld", "Nachrichten­links klickbar machen", "Eingabe Tausender-Mengen", "Markt im Haupt­menü", "Arenatab in der Gilden­halle", "Sitter merken", "Warnung bei schlechtem Zustand", "Zustandsliste sortieren", "Tabellen­darstellung", "Dracheneier ausblenden", "Lager als Gebäude sichtbar", "Orakelvorhersage zu Spielen", "Baukosten ohne Bauherr-Ersparnis anzeigen", "Gildenstadt","Einkaufs­liste","Baufortschritts­anzeige","Wetteinsatz merken","Gildenarena-Tabelle sortieren", "Paarungen nach Mannschaften sortieren","Turnierplan-Ansicht verbessern","Drachenfarbe anzeigen","Datum & Uhr","Jahreszeit", "Nacht","Gilden- und Drachen­profile gliederbar","Reiter P"]; // Überschriftzeile var line = document.getElementById("drag_line"); //Rechter Seitenrand var rand = document.getElementById("mainRight"); //Serverzeit if (document.getElementById("footer")) { var serverzeit = /Serverzeit: (\d+\.\d+\.\d+ \d+:\d+:\d+) Uhr/.exec(document.getElementById("footer").innerHTML)[1].replace(/\.|\s|:/g, ";").split(";"); } if(document.getElementById("userinfo")) { var user=/Name:.* (.*)
/.exec(document.getElementById("userinfo").innerHTML)[1]; } if(document.getElementById("linkLogout")) { var request=document.getElementById("linkLogout").href.match(/request=\d+/); } ////////////// // Bilder // ////////////// /* var hoster="http://666kb.com/i/"; // schnee nacht schnee+nacht var b_dorf=["bot69xi3tsfhmiskr.jpg","bpjr3o4fg57cjkiib.jpg","bpjr61iekicbffq9f.jpg"]; var b_dorfDZ=["bot6as5hgsh1s6n8r.jpg","bpjr4d9rtvthdy4s3.jpg","bpjr6ccs5z9sw6e9f.jpg"]; var b_geb=["bot6bkkit9othz5ez.png","bpjr554bc3y9gttbn.png","bpjr716c5qcaaffeb.png"]; var b_baupl="bot6buz59yuxqo4kr.jpg"; var b_street="bot6c4564h4ei4kkr.jpg"; var b_snow="bot6c9jj9pef5sbor.gif"; var b_pause_n="bpjr5decw1ifswrzn.png"; var b_progress_n="bpjr5nv0r7r71y8qb.png"; */ var hoster="http://666kb.com/i/"; var b_street="dragolin_street_winter.jpg"; var b_snow="snow.gif"; var b_pause_n="bpjr5decw1ifswrzn.png"; var b_progress_n="bpjr5nv0r7r71y8qb.png"; /*********************** ** Chromium und Opera ** ***********************/ //function testGM(force) { function testGM() { var isGM = typeof GM_getValue != 'undefined' && typeof GM_getValue('a', 'b') != 'undefined'; if(typeof(unsafeWindow) == 'undefined') { unsafeWindow = window; } if (window.opera) { log = opera.postError; } else if(!isGM) { log = function(msg) { try { unsafeWindow.console.log(msg); } catch(e) {} }; } else { log = GM_log; } // if(force) isGM=false; GM_setValue = isGM ? GM_setValue : function(name, value) { return localStorage.setItem(name, value) }; GM_getValue = isGM ? GM_getValue : function(name, def){ var s = localStorage.getItem(name); if (s == null) return def; else return (s == "false") ? false : s }; GM_deleteValue = isGM ? GM_deleteValue : function(name) { return localStorage.setItem(name, null) }; thisIsFF=isGM; } // if(typeof(localStorage) != "undefined"&&localStorage.getItem("local")!="false") testGM(true); // else testGM(false); testGM(); if(typeof GM_xmlhttpRequest == 'undefined') { GM_xmlhttpRequest = function(details) { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { var responseState = { responseXML:(xmlhttp.readyState==4 ? xmlhttp.responseXML : ''), responseText:(xmlhttp.readyState==4 ? xmlhttp.responseText : ''), readyState:xmlhttp.readyState, responseHeaders:(xmlhttp.readyState==4 ? xmlhttp.getAllResponseHeaders() : ''), status:(xmlhttp.readyState==4 ? xmlhttp.status : 0), statusText:(xmlhttp.readyState==4 ? xmlhttp.statusText : '') } if (details["onreadystatechange"]) { details["onreadystatechange"](responseState); } if (xmlhttp.readyState==4) { if (details["onload"] && xmlhttp.status>=200 && xmlhttp.status<300) { details["onload"](responseState); } if (details["onerror"] && (xmlhttp.status<200 || xmlhttp.status>=300)) { details["onerror"](responseState); } } } try { //cannot do cross domain xmlhttp.open(details.method, details.url); } catch(e) { if( details["onerror"] ) { //simulate a real error details["onerror"]({responseXML:'',responseText:'',readyState:4,responseHeaders:'',status:403,statusText:'Forbidden'}); } return; } if (details.headers) { for (var prop in details.headers) { xmlhttp.setRequestHeader(prop, details.headers[prop]); } } xmlhttp.send((typeof(details.data)!='undefined')?details.data:null); } } if(typeof GM_openInTab == 'undefined') { GM_openInTab = function(url) { newTab = window.open(url, "newTab"); newTab.focus(); } } //Veraltete Werte löschen if(typeof(GM_getValue("l_pos"))!="string") GM_deleteValue("l_pos"); if(typeof(GM_getValue("dr_notes"))=="string") { GM_deleteValue("dr_notes"); } if(typeof(GM_getValue("dr_note"))=="string") { GM_deleteValue("dr_note"); } //////////////////// // Funktionen // //////////////////// // automatisches Update // original by Jarett (http://userscripts.org/scripts/show/20145) var SUC_script_num = 'https://greasyfork.org/scripts/680-pimp-my-dragosien/'; function updateCheck(forced) { if ((forced) || (parseInt(GM_getValue('SUC_last_update', '0')) + 3600000 <= (new Date().getTime()))) { try { GM_xmlhttpRequest({ method: 'GET', url: SUC_script_num+'code/Pimp%20My%20Dragosien.meta.js?'+new Date().getTime(), headers: {'Cache-Control': 'no-cache'}, onload: function(resp) { var local_version, remote_version, rt, script_name; rt=resp.responseText; GM_setValue('SUC_last_update', new Date().getTime()+''); remote_version=parseInt(/@version\s*(.*?)\s*$/m.exec(rt)[1],10); try { neues=/@new\s*(.*?)\s*$/m.exec(rt)[1]; } catch(not_new) { neues='-unbekannt-'; } local_version=parseInt(GM_getValue('SUC_current_version', '-1')); if(local_version!=-1) { script_name = (/@name\s*(.*?)\s*$/m.exec(rt))[1]; GM_setValue('SUC_target_script_name', script_name); if (remote_version > local_version) { if(confirm('Es ist ein Update verf\u00fcgbar f\u00fcr das Greasemonkey-Script \"' +script_name+'\".\nM\u00f6chtest du es installieren?\n\nNeuerungen:\n'+neues)) { GM_setValue('SUC_current_version', remote_version); document.location.href=SUC_script_num+'code/Pimp%20My%20Dragosien.user.js'; } } else if (forced) { if (confirm('Kein Update verf\u00fcgbar f\u00fcr \"'+script_name+'\".\n' +'M\u00f6chtest du trotzdem neu installieren?')) { document.location.href=SUC_script_num+'code/Pimp%20My%20Dragosien.user.js'; } } } else { GM_setValue('SUC_current_version', remote_version+''); } }, onerror: function() { if (forced) { // alert('Keine Verbindung zum Script-Server.\nVersuche es sp\u00e4ter erneut.'); if(confirm('Pimp my Dragosien kann keine Verbindung zum Script-Server herstellen.\n' +'M\u00f6chtest du zum Script-Server weitergeleitet werden, um selbst nach ' +'einem Update zu suchen?')) { GM_openInTab(SUC_script_num); } } } }); } catch (err) { if (forced) { if(confirm('Beim Pr\u00fcfen auf Updates trat ein Fehler auf:\n'+err+'\nM\u00f6chtest du zum ' +'Script-Server weitergeleitet werden, um selbst nach einem Update zu suchen?')) { GM_openInTab('http://userscripts.org/scripts/show/'+SUC_script_num); } } } } } /* GM_registerMenuCommand(GM_getValue('SUC_target_script_name', '???') + ' - manuelles Update', function() { updateCheck(true); });*/ //keine Drachen doppelt if(document.URL.match(/t=guild_arena/)&&document.getElementById("positionen")) { var db_input=document.getElementById("positionen").getElementsByTagName("form")[0].getElementsByTagName("input"); var db_save; for(i=0;i<\/td>" var farbtabelle = "" +"
Bitte Farbe wählen<\/th>" +"X<\/th>" +r+s+"000"+t+"000000"+u+s+"333"+t+"333333"+u+s+"666"+t+"666666"+u+s+"999"+t+"999999" +u+s+"CCC"+t+"CCCCCC"+u+s+"FFF"+t+"FFFFFF"+u+s+"DBD1C8"+t+"DBD1C8"+u +r+s+"006"+t+"000066"+u+s+"066"+t+"006666"+u+s+"060"+t+"006600"+u+s+"660"+t+"666600" +u+s+"630"+t+"663300"+u+s+"600"+t+"660000"+u+s+"606"+t+"660066"+u +r+s+"009"+t+"000099"+u+s+"099"+t+"009999"+u+s+"090"+t+"009900"+u+s+"990"+t+"999900" +u+s+"930"+t+"993300"+u+s+"900"+t+"990000"+u+s+"909"+t+"990099"+u +r+s+"00F"+t+"0000FF"+u+s+"0FF"+t+"00FFFF"+u+s+"0F0"+t+"00FF00"+u+s+"FF0"+t+"FFFF00" +u+s+"F60"+t+"FF6600"+u+s+"F00"+t+"FF0000"+u+s+"F0F"+t+"FF00FF"+u +r+s+"99F"+t+"9999FF"+u+s+"9FF"+t+"99FFFF"+u+s+"9F9"+t+"99FF99"+u+s+"FF9"+t+"FFFF99" +u+s+"FC9"+t+"FFCC99"+u+s+"F99"+t+"FF9999"+u+s+"F9F"+t+"FF99FF"+u +"<\/tr><\/table>"; document.getElementById("farben").innerHTML = farbtabelle; } //BB-Code-Liste klickbar machen und an Einfügen übergeben function code() { var bereich = document.getElementsByTagName("h4")[0].parentNode; var bbcodes = new Array(1); bbcodes[0] = new Array("\[b\]Fett\[\/b\]", "\[i\]Kursiv\[\/i\]", "\[c\]Zentriert\[\/c\]", "\[user\]Spieler\[\/user\]", "\[dragon\]Drache\[\/dragon\]", "\[guild\]Gildenkürzel\[\/guild\]", "\[url=http:\/\/abc.de\]link\[\/url\]", "\[img\]Bild-Link\[\/img\]"); bbcodes[1] = new Array("b", "i", "c", "user", "dragon", "guild", "url", "img"); for (i = 0; i <= 7; i++) { bereich.innerHTML = bereich.innerHTML.replace(bbcodes[0][i], ""+bbcodes[0][i]+"<\/span>"); } } //Farbtabelle öffnen function farblink() { var bereich = document.getElementsByTagName("h4")[0].parentNode; bereich.innerHTML = bereich.innerHTML.replace(/\[color=ff0000\]Farbe\[\/color\]/, "[color=ff0000\]Farbe\[\/color\]<\/span>"); } // BB-Codes starten wenn in Einstellungen aktiviert function bbcode() { if (document.getElementsByTagName("h4")[0]) { if (document.getElementsByTagName("h4")[0].innerHTML.match(/BB-Codes:/g)) { anzeigen(); code(); farbbox(); farblink(); } } } /************************ ** 3. Kartennavigation ** ************************/ //Formular zur Direkteingabe der Koordinaten einblenden function koordinaten() { var b = document.body.getAttribute("onload"); document.body.setAttribute("onload", b+"\ndocument.Koordinaten.PosX.focus();"); var koordScript = document.createElement("script"); koordScript.type = "text\/javascript"; var scriptXY = document.createTextNode("function nurZahlen(el) {\n" +"var val = el.value.replace(\/[^-\\d]|(.)-|(\\d{4})\\d\/g, '\$1\$2');\n" +"el.value = val;\n}\n" +"function geentert(event, feld) {\n" +"nurZahlen(feld);\n" +"if (event && event.which == 13) {\n" +" if (document.Koordinaten.PosX.value == '') { document.Koordinaten.PosX.focus(); }\n" +" else {\n" +" if (document.Koordinaten.PosY.value == '') { document.Koordinaten.PosY.focus(); }\n" +" else { tele(); }\n" +" }\n" +"}\n" +"else { return true; }\n" +"}\n" +"\n" +"function tele() {\n" +"var X = document.Koordinaten.PosX.value;\n" +"var Y = document.Koordinaten.PosY.value;\n" +"if (X != '' && Y != '') {\n" +"mapGoTo(X,Y);\n" +"}\n" +"else {\n" +"alert('Du kannst nicht teleportiert werden, wenn du nicht wei\u00DFt wohin!');\n" +"}\n" +"}"); koordScript.appendChild(scriptXY); var kopf = document.getElementsByTagName("head")[0]; kopf.appendChild(koordScript); var karte = document.getElementById("drag_box").getElementsByTagName("div")[3]; karte.innerHTML = karte.innerHTML.replace(/(Position: -?\d+\/-?\d+<\/b>)(\s*
){0,2}/, "$1\n" +"
\n" +"
Koordinaten:
\n" +"\/" +"
\n" +"\n" +"<\/form>\n" +"nach Hause<\/a>
\n" +"
zur Hauptstadt<\/a>\n" +"<\/div>"); } // Kartennavigation starten wenn in Einstellungen aktiviert function karte() { if (document.getElementById("drag_box")) { if (document.getElementById("drag_box").innerHTML.match("Die Karte von Dragosien")) { koordinaten(); } } } /***************************** ** 4. Schatzkarten-Teleport ** *****************************/ //Auf Schatzkarte Koordinaten klickbar machen function schatzkarte() { if (document.getElementById("warning").innerHTML.match("Pergament")) { var meldung = document.getElementById("warning").getElementsByTagName("div")[3]; meldung.innerHTML = meldung.innerHTML.replace(/: (-?\d+):(-?\d+)/, ": $1:$2"); } } //Ebenso auf Nachricht durch Schatzkarte function s_nachricht() { var meldung = document.getElementById("drag_box"); meldung.innerHTML = meldung.innerHTML.replace(/: (-?\d+):(-?\d+)$1:$2<"); } // Schatzkarten-Teleport starten wenn in Einstellungen aktiviert function schatz() { if (document.getElementById("warning")) { schatzkarte(); } if (document.getElementById("drag_box")) { if (document.getElementById("drag_box").innerHTML.match("Pergament")) { s_nachricht(); } } } /**************************************** ** 5. Gildenchat Links klickbar machen ** ****************************************/ //Link umwandlen function linkmich() { if (!modifierActive) { modifierActive=true; this.innerHTML=this.innerHTML.replace(/([^\"])(http:\/\/)([^ <]*\b\/?)|([^\/])(www.[^ <]*\b\/?)/ig,"$1$4$2$3$5"); this.innerHTML=this.innerHTML.replace(/]*><\/a>/,""); modifierActive=false; } } //Gildenchat Links starten wenn in Einstellungen aktiviert function link() { if (document.getElementById("chat_content")) { chatcontent = document.getElementById("chat_content"); modifierActive=false; chatcontent.addEventListener("DOMSubtreeModified",linkmich,false); } if (document.getElementById("mainRight")) { var chatlog=document.getElementById("mainRight").getElementsByTagName("div"); for (i=0;i$2$3$5"); chatlog[i].innerHTML=chatlog[i].innerHTML.replace(/([^\/]*):<\/b>/g,"$1:<\/a>"); chatlog[i].innerHTML=chatlog[i].innerHTML.replace(/]*>( schickt eine Brieftaube:)<\/a>/,"$1<\/b>"); break; } } } } /*************************************** ** 6. Gildenchat größeres Eingabefeld ** ***************************************/ function gildenchat() { var chat = document.getElementById("form_chat"); var enter=""; if (GM_getValue("enter",true)) { enter=" onkeydown=\"if (event.which == 13) { chat_send(); return false; } else { return true; }\""; } chat.innerHTML = "