// ==UserScript== // @name SZS-Assistent // @namespace Steinzeitspiel // @description Assistent für das SteinZeitSpiel // @author KingMaxi [InGame-Nick] // @version 0.9.11 // @include http://szs.looki.de/* // @exclude http://szs.looki.de/impressum.php // @exclude http://szs.looki.de/logout.php // @exclude http://szs.looki.de/szsb.html* // @exclude http://szs.looki.de/szss.html* // @exclude http://szs.looki.de/premium_looki.php?m=* // @grant GM_getValue // @grant GM_setValue // @grant GM_deleteValue // @grant GM_listValues // @grant GM_xmlhttpRequest // @grant GM_log // @grant GM_info // @downloadURL https://update.greasyfork.icu/scripts/3698/SZS-Assistent.user.js // @updateURL https://update.greasyfork.icu/scripts/3698/SZS-Assistent.meta.js // ==/UserScript== /* changelog v0.1 initial release [06.11.2012] v0.2 several bugs fixed; new: SN-Wiederherstellung, wenn noch nicht abgeschickt [09.11.2012] v0.3 few bugs fixed; new: Thread-, Post- und IGM-Wiederherstellung, wenn noch nicht abgeschickt; new: Kills in der MK-Auswertung werden nun sortiert [14.11.2012] v0.4 bugs fixed; new: Skillsystem, erweiterte eigene Länderansicht [10.12.2012] v0.5 bugs fixed; new/change: Frei definierbarer Name für eigene Länder, Änderung des Update-Timestamp in Länderübersicht, EP in SK-Auswertung, Skillsystem-Config versteht nun neben Dezimalunkt auch Dezimalkomma, Config-Dialog überarbeitet, Seitenzahlen im StammForum, SK-MK-Copy überarbeitet [10.01.2013] v0.6 kleine Verbesserungen; new: Standardtätigkeit hinzugefügt; change: SK-MK-Copy zeigt Waffenstand erst 5h vor Kampf an [13.01.2013] v0.6.1 fixed/change: SK-Copy bricht Script ab, wenn kein Kampf -> SK-MK-Copy mit Waffenstand-Checkbox [14.01.2013] v0.6.2 kleine Verbesserungen; fixed: Thread nach erstem Lesen in Übersicht nicht vollständig als gelesen markiert, wenn Posts am Ende gelöscht wurden; fixed: falsches/überflüssiges Werkzeug-Alert, wenn man mehr als ein Werkzeug einer Klasse besitzt; fixed: Google Chrome-Bugs (u.a. SaveConfig, CSS) [16.01.2013] v0.6.3 kleine Verbesserungen; fixed: InventarIMGHeight wird (manchmal) nicht umgesetzt, wenn Seite neu geladen (Chrome), fixed: Skillsystem läuft nicht, wenn ein SOLL-Wert == 0 [16.01.2013] v0.7 kleine Verbesserungen; Codeoptimierung; new: Einfaches Auszahlen von Einlagerungen aus dem Lagerlog heraus; new: Übertragen-Seite kennt URL-Parameter für Ressis und Tränke; new: Versionsnummer und Autor im Einstellungsdialog; fixed: Lager-Seite bricht ab, wenn unterwegs und Premium; new: Ausrüstung, Opfer, Artefakte wahlweise zentriert oder im rechten Menu [26.01.2013] v0.7.1 new: Links in IGM, SN und Forum werden verlinkt; fixed: SK-Zeit im Menu ohne Anmeldeerkennung (Premium) [28.01.2013] v0.7.2 new: Reminder-Sound; new: Artefakt herstellen/weihen im Aktionen-Menu und als Standardtätigkeit hinzugefügt; new: Logbuch-Filter (nur/keine Nachrichten); fixed: kein Fokus auf Zufallscode, wenn kein aktives Arbeitsopfer oder gültiges Artefakt des Drachenbluts; fixed: Talkampf-Anmeldezeit wird falsch gespeichert; fixed: SK-Zeit im Menu ohne "kein Kampf"-Erkennung (Premium); fixed: Kupfer- und Bronzekessel werden als Ausrüstung nicht erkannt; fixed/change: einige Änderungen der Hinweise beim Starten eines Arbeitsgangs [05.02.2013] v0.7.3 new: Freunde werden alphabetisch sortiert; change: Logbuch-Filter anders angeordnet; fixed: Zeitangaben werden manchmal falsch ausgelesen; fixed: Ist man unterwegs, werden Marktangebote nicht hervorgehoben (Premium); fixed: Artefakte herstellen/weihen wird nicht als Tätigkeit/Arbeit erkannt; fixed: Teilweise veraltete/falsche Tätigkeitsangabe im Tätigkeitscountdown; fixed: Activity-Reminder erinnert nicht, wenn man nach Tätigkeitsbeginn Seite nicht neu lädt; fixed: TK-Anmeldeanzeige zeigt manchmal falschen Status [14.02.2013] v0.7.4 change: Freunde-Sortierung optional/einstellbar [15.02.2013] v0.8 kleine Verbesserungen und Fixes; new: Onlinestatusfarbe von Freunden aktualisiert sich automatisch; new: one-click-Rohstoffesicherung auf Stammkampf-Seite (Markt/Lager: voreingetragene Werte entfernt); new: einstellbare Anzeige für Uhrzeit und SK-Zeit im Menu; new: Stamm-EP in StammTop; change: Stammkampfzeitbestimmung überarbeitet; change: SK-Auswertung überarbeitet (u. a. keine fehlenden Daten mehr, Bugfix); change: Auslesen von Ausrüstung und Artefakten verbessert [26.02.2013] v0.8.1 ein paar Kleinigkeiten; change: one-click-Rohstoffsicherung aus- und alte Rohstoffsicherung wieder eingebaut (wg. Verstoß gegen Punkt 3 der Regeln) [02.03.2013] v0.8.2 new: Message-Reminder und -sound; new: Sound "Glocke" hinzugefügt; new: Sound-Lautstärke einstellbar; fixed/change: Reminder-Hinweise kommen nur noch in einem Tab; change: Länderansicht überarbeitet (immer aktuelle Daten, keine frei definierbaren Namen mehr) [13.03.2013] v0.8.3 new: SK-Gegner zur SK-Zeit im Menu hinzugefügt; fixed: Zeitangaben werden manchmal falsch ausgelesen; fixed: "MK läuft" wird bis 1h nach MK angezeigt [20.03.2013] v0.8.4 fixed: 2 kleine Fehler, wenn man stammlos ist; fixed: SK-Bestimmung fehlerhaft, wenn Sonderzeichen in Gegnername; change: IGM-Wiederherstellung überarbeitet; change: Kommas aus SK-Auswertung entfernt um Kompatibilität mit anderen Programmen zu gewährleisten [25.03.2013] v0.8.5 change: Tätigkeits-Countdown zeigt Zeiten >1h auch in min an; fixed: fehlerhafte ist-derzeit-unterwegs-Erkennung in MK-Startnachricht; fixed: einige Fehler im Bereich Text-/Nickerkennung; fixed: Problem mit Sonderzeichen bei IGM-Wiederherstellung; new: Script-eigener Versions-Check (+ Hinweis im linken Menu einstellbar) [09.04.2013] v0.8.6 fixed: Fehler in SK-Auswertung, falsche Angreifer-/Verteidigeranzahl [21.04.2013] v0.8.7 new: Direktlinks in Hinweise eingefügt (Arbeitsopfer, Waffenopfer); new: PN-Icons in Freundesliste; change: PN-Icons in SN verkleinert; new: gelb in den SN schreiben (sieht natürlich nur, wer auch das Script hat!); new: Stammname in SK-Auswertung; new: Logbuch-Filter zeigt neue Einträge ("NEU") immer an; fixed: KöhlerDingens wird in Länderansicht nicht erkannt; fixed: TK- + MK-Zeiten in Beschreibungstexten falsch [07.05.2013] v0.8.8 new: Auswahlmöglichkeiten für Lagerauszahlungen (nur eigene, + andere, alle) [19.05.2013] v0.8.9 fixed: Direktlinks werden beim zusammenfassen des Inventars angezeigt; new: SK-Auswertung opt-out (Performance); fixed: unvollständige SK-Auswertung, wenn SN-Seite zu früh verlassen wird; new: Waffen- und Werkzeugwarnung (opt-out); new: Landüberwachung; fixed: Menueintrag Lagerfeuer, wenn noch kein Lagerfeuer gebaut; new: CP für SOLL-Skillung; Codeoptimierung [11.06.2013] v0.8.10 new: "Zufallscode nicht richtig" stärker hervorgehoben; new: PN-Icons im StammForum; new: Menupunkt farbig, wenn neuer GB-Eintrag; fixed: Bugs mit Quellcode-komprimierenden Internetanbietern; fixed: Fehler beim Auslösen von Hotkeys im neusten Firefox 22; fixed: HTML-Sonderzeichen in PN-Widerherstellungsvorschau [26.06.2013] v0.8.11 new: Links zur Kartenansicht für Marktländer hinzugefügt; new: Durchschnittswerte in Stammübersicht; new: Status-Spalte in 2. Tabelle in Stammübersicht entfernt und Status mit Spalte 1 verknüpft; new: MK-Startnachricht speichert MK-Teilnehmer; fixed: Doppelte Klammern in SK-Auswertung beim Stammname; new/change: neue/erweiterte MK-Auswertung; new: Links im Logbuch (TK-Gegner, Nachricht an, Übertragungen) [22.08.2013] v0.8.12 change: Links im Logbuch überarbeitet; fixed: Magierkill falsch/gar nicht gewertet; new: Magierkill in MK-Auswertung in orange hervorgehoben; new: Links im Logbuch für Marktein-/-verkäufe; zusätzliche Seitenaufrufe reduziert; new: Auofokus auf Eingabefeld beim Kaufen vom Markt [26.09.2013] v0.8.13 fixed: Logbuch-Links, wenn Angebot nicht verkauft werden konnte; change: SK-Auswertung per Button, Option in Einstellungen entfernt [24.10.2013] v0.8.14 fixed: TK-Anmeldung wird gespeichert, obwohl zu wenig Ressis; fixed: SK-Auswertung funktioniert nicht [24.10.2013] v0.8.15 fixed: Logbuch-Links, wenn Angebot nicht verkauft werden konnte (jetzt aber :D); fixed: Logbuch-TK-Links zur Winterzeit nicht vorhanden; fixed: Sonderzeichen in Vorschau für gespeicherte PN; new: Wenn Zufallscode falsch eingegeben wurde, Weiter-/Zurückleitung zur Arbeitsseite; new: maximal mögliche Kaufmenge auf Marktkaufseite; new: Wenn Müdigkeit >= 80%, verlinkt zu st. Wachtrank; fixed: MK-Teilnehmerstand-Zeit manchmal falsch [22.01.2014] v0.9 change: update- und downloadURL von http auf https geändert; fixed: Logbuchlinks (Sonderzeichennicks); fixed: Handling von URL-Parametern (Sonderzeichen); fixed: SK-Auswertung (Nick kann nicht gefunden weden); fixed: Abbrechen-Link flackert/wird ständig neu gesetzt; new: Inventar überarbeitet; new: Waffen-/Ringtausch; fixed: Konflikt zw. Übertragung und Jagdergebnis (Logbuch); fixed/new: Forum jetzt auch ohne Forenrechte nutzbar (beim Verlust der Forenrechte werden alte Beiträge ggf. als ungelesen markiert!); new: Weiterleitung zurück zur ursprünglichen Seite nach Direktlink; change: Rohstoffsicherung via Stammkampfseite (nicht mehr via Lager + Markt); new: Standardmengen- und preise für alle Rohstoffe; sowie ein paar Kleinigkeiten [16.04.2014] v0.9.1 change: Waffen ab- statt aufsteigend im Inventar; change: Wachtränke vor Heiltränken im Inventar; fixed: Werkzeuge werden nicht angezeigt [17.04.2014] v0.9.2 fixed: Anzahl Ringe/Waffen/Werkezuge, wenn gleicher Gegenstand in der Hand; fixed: Trankverkauf -> Geistertränke auf dem Markt -> Trankverlust (kritisch!) [18.04.2014] v0.9.3 Script wird jetzt auf greasyfork.org gehostet; fixed: Verletzung wird nicht als aktuelle Aktion ausgegeben; Codeoptimierung (Performance); new: Nomadenzeit als Tooltip der Serverzeit im Header; new: leere (= max) und negative (= max-1, usw.) Standardverkaufsmengen für den Markt; new: Ressis-Icons in Einstellungen; remove: @updateURL und @downloadURL; remove: Update-Check im Menu; remove: Onlinestatusfarbe von Freunden aktualisiert sich automatisch (überflüssige Seitenaufrufe); fixed: Script hängt sich bei einigen Userprofilen auf; new: "Dein Alter" im rechten Menu (einstellbar); new: Anzahl Länder auf Landseite; fixed: Scriptupdateprobleme/Audiowiedergabe (u. a. Chrome) [28.07.2014] v0.9.4 fixed: Auslesen des Zeitstempels in SN, wenn Nachricht NEU; new: Marktnavigation auf jeder Marktseite; new Marktseite mit allen Rohstoffen (siehe Marktnavigation); new: dynamische Marktpreishervorhebung (alternativ zu bisheriger -> Einstellungen); new: "Karte zentrieren"-Link auf Landinfoseite; new: Hinweis/Info bei Durchschnitts-EP in Userinfo eingefügt [04.09.2014] v0.9.5 new: "alte"-Link hinter Logbuch im Menu eingefügt; fixed: Vergiftung wird nicht als aktuelle Tätigkeit erkannt/angezeigt; changed: Vote #2-Link entfernt, Seite existiert nicht mehr; fixed: Landausbau wird nicht als aktuelle Tätigkeit erkannt/angezeigt; fixed: Verlinkungen werden bei runden Klammern abgebrochen; new: Standardverkaufsmengen und -preise für Tränke; fixed: EP-Berechnung der Stammkampfauswertung fehlerhaft, sowie Handhabung von Nicks mit Leerzeichen verbessert; new: Fußzeile (== Kopfzeile) in Tabellen in StammÜbersicht eingefügt, wenn >20 Mitglieder; new: farbige Landausbaustufen (0 (rot), 1 bis max-1 (gelb), max (grün)); new: Übertragen-Seite kennt nun auch URL-Parameter "an" (== "anrohstoffe") und "geld" (== "gold"); Codeoptimierung [07.11.2014] v0.9.6 change: Weiter-/Zurückleitung zur Arbeitsseite, wenn Zufallscode falsch eingegeben wurde, entfernt (wg. Verstoß gegen Punkt 3 der Regeln); fixed: nach Magier-Kill in MK-Auswertung wird "orange" nicht aufgehoben; fixed: SK-Teilnahme arbeitet nicht korrekt, zeigt dauerhaft "angemeldet" an; new: neuer Logbuchfilter [27.11.2014] v0.9.7 fixed: aktuelle Tätigkeit zeigt Verletzung an, obwohl nicht mehr verletzt; fixed: Lagerentnahmen, Weihnachtsmann/Rentier und co werden nicht zugeordnet (Logbuchfilter); fixed: Nickauswahl (PN/Handel) im Logbuchfilter nicht sortiert; new: "Alle (ab-) wählen"-Button im Logbuchfilter; new: Thread-Status-Dot im StammForum linkt auf "Antworten"; ein paar Grafiken und kleine Verbesserungen [16.12.2014] v0.9.8 change: Wachtränke wieder hinter Heiltränke im Inventar; new: Trankreihenfolge einstellbar (-> Allgemein); fixed: "Du verpasst SK/MK"-Meldung kommt manchmal falsch; fixed: Einzelkampf, zum Talkampf nicht verfügbar, SK-Start, wenn nicht im Stamm, werden nicht zugeordnet (Logbuchfilter); new: Anzahl der Einträge hinter jeder Auswahl (Logbuchfilter); change: Einstellungen "Markt" umgebaut; new: Ringwarnung (opt-out); fixed: Fehler, wenn nicht genügend Gold für MK-Anmeldung; new: Spieler auf dem Land in Länderübersicht; Codeoptimierung [14.01.2015] v0.9.9 fixed: "wilde Tiere" ohne Zuordnung (Logbuchfilter); fixed: Anzahl Kämpfe NaN (Logbuchfilter); fixed: Standardverkaufspreis Stein verursacht Probleme (-> SteinE) [13.02.2015] v0.9.10 fixed: "vom Stammkampf ausgeschlossen" ohne Zuordnung (Logbuchfilter); fixed: Charakterpunkte formatiert (Tausendertrennzeichen); new: Nahrung in Stammübersicht fett/rot, wenn weniger als 50; new: Artefakt der Gesundheit wird ebenfalls ausgelesen; fixed: Anzahl Angreifer/Verteidiger zu hoch, wenn Nick Leerzeichen enthält (SK-Auswertung); new: SK-Auswertung mit EP für jeden Teilnehmer (opt-out); Codeoptimierung [03.03.2015] v0.9.11 change: Länderansicht überarbeitet (Sortierung nach Entfernung, Design); new: x/y-Überschrift auf Landinfo-Seite; change: Config-Überschriften (auch: "Logbuch-Filter") klickbar, nicht nur Pfeil; fixed: Ausrüstung zeigt Zahlen an [31.03.2015] ------------------------------ Do not change anything further ------------------------------ */ // Login-Focus if(document.URL.indexOf('/login.php') != -1 && document.getElementsByName('code')[0]) { document.getElementsByName('code')[0].focus(); } else if(document.getElementsByTagName('a')[0].href.indexOf('login.php') != -1) { // Weiterleitung zum Login window.setTimeout("window.location.href = 'http://szs.looki.de/login.php';", 50); } else if(document.URL.indexOf('/charakter.php') != -1 && document.getElementsByTagName('body')[0].innerHTML.indexOf('top.location.href=\'charakter.php\'') != -1) { // Charakterpunkte verteilt (Dein SteinzeitMensch hat sich verbessert.) window.location.href = 'http://szs.looki.de/charakter.php'; } else if(document.URL.indexOf('/login.php') == -1) { var scriptstarttime = new Date(); // Standardelemente/Variablen var i, j, k, l; var wrap = document.getElementsByTagName('table')[0]; wrap.setAttribute('id', 'wrap'); var main = document.getElementsByTagName('table')[1]; main.setAttribute('id', 'main'); i=0; while(document.getElementById('main').getElementsByTagName('td')[i].innerHTML.indexOf('') == -1) { i++; } var content = document.getElementById('main').getElementsByTagName('td')[i]; content.setAttribute('id', 'content'); var aktuelleAktion = document.getElementById('content').getElementsByTagName('td')[0]; aktuelleAktion.setAttribute('id', 'aktuelleAktion'); aktuelleAktion.removeAttribute('align'); i=0; while(document.getElementById('main').getElementsByTagName('td')[i].innerHTML.indexOf('') == -1) { i++; } var menuLeft = main.getElementsByTagName('td')[i]; i=0; while(document.getElementById('main').getElementsByTagName('td')[i].innerHTML.indexOf('') == -1) { i++; } var menuRight = main.getElementsByTagName('td')[i]; var isPremiumSpieler = (document.getElementsByTagName('body')[0].getAttribute('onscroll') == null)? true : false; i = (isPremiumSpieler)? 1 : 0; var ep_gesamt = parseInt(menuRight.getElementsByTagName("table")[1+i].getElementsByTagName('td')[1].textContent.replace(/\./g, ''), 10); var ressis_gesamt = new Array(); ressis_gesamt['Nahrung'] = parseInt(menuRight.getElementsByTagName("table")[1+i].getElementsByTagName('td')[3].textContent.replace(/\./g, ''), 10); ressis_gesamt['Wasser'] = parseInt(menuRight.getElementsByTagName("table")[1+i].getElementsByTagName('td')[5].textContent.replace(/\./g, ''), 10); ressis_gesamt['Gold'] = parseInt(menuRight.getElementsByTagName("table")[1+i].getElementsByTagName('td')[7].textContent.replace(/\./g, ''), 10); ressis_gesamt['Holz'] = parseInt(menuRight.getElementsByTagName("table")[1+i].getElementsByTagName('td')[9].textContent.replace(/\./g, ''), 10); ressis_gesamt['Steine'] = parseInt(menuRight.getElementsByTagName("table")[1+i].getElementsByTagName('td')[11].textContent.replace(/\./g, ''), 10); ressis_gesamt['Kohle'] = parseInt(menuRight.getElementsByTagName("table")[1+i].getElementsByTagName('td')[13].textContent.replace(/\./g, ''), 10); ressis_gesamt['Kupfer'] = parseInt(menuRight.getElementsByTagName("table")[1+i].getElementsByTagName('td')[15].textContent.replace(/\./g, ''), 10); ressis_gesamt['Zinn'] = parseInt(menuRight.getElementsByTagName("table")[1+i].getElementsByTagName('td')[17].textContent.replace(/\./g, ''), 10); ressis_gesamt['Bronze'] = parseInt(menuRight.getElementsByTagName("table")[1+i].getElementsByTagName('td')[19].textContent.replace(/\./g, ''), 10); menuRight.textContent.search(/Dein Alter:\s*(\d+) Jahre\s*(\d+) Monate/); var alter = new Array(RegExp.$1, RegExp.$2); var waffen = 'Stock#Stock mit Bronze#Keule#Speer mit Holzspitze#Speer mit Steinspitze#Pfeil und Bogen#Pfeil und Bogen PLUS#Pfeil und Bogen Bronze#Knochenspalter#Knochenspalter PLUS#Knochenspalter Bronze#Hammerfaust#Hammerfaust Bronze#Berserkerfaust#Götterzorn'; var werkzeuge = 'Kupfer-Keil#Kupfer-Schaber#Kupfer-Hacke#Zinn-Keil#Zinn-Schaber#Kupferkessel#Bronzekessel'; var ringe = 'Talkampfring#Stammkampfring#Wasserring#Jagdring#Marktring'; var traenke = 'kleiner Heiltrank#mittlerer Heiltrank#starker Heiltrank#Wachtrank#starker Wachtrank#Holztrank#Steintrank#Kupfertrank#Zinntrank'; i=document.getElementsByTagName('center').length-1; while(document.getElementsByTagName('center')[i].textContent.indexOf('Jahres nach der 1. Nacht des Nomaden.') == -1) { i--; } var servertime = document.getElementsByTagName('center')[i].innerHTML; var audioA = document.createElement('audio'); audioA.setAttribute('src', 'https://dl.dropboxusercontent.com/u/79333916/phone.mp3'); audioA.setAttribute('id', 'audioA'); document.body.appendChild(audioA); var audioB = document.createElement('audio'); audioB.setAttribute('src', 'https://dl.dropboxusercontent.com/u/79333916/gong.mp3'); audioB.setAttribute('id', 'audioB'); document.body.appendChild(audioB); var audioC = document.createElement('audio'); audioC.setAttribute('src', 'https://dl.dropboxusercontent.com/u/79333916/glocke.mp3'); audioC.setAttribute('id', 'audioC'); document.body.appendChild(audioC); var audioD = document.createElement('audio'); audioD.setAttribute('src', 'https://dl.dropboxusercontent.com/u/79333916/coin.mp3'); audioD.setAttribute('id', 'audioD'); document.body.appendChild(audioD); // Gespeicherte Variablen var Assi_UserName = GM_getValue("Assi_UserName", ""); var Assi_StammName = GM_getValue("Assi_StammName", ""); var Assi_Infoanzeigen = GM_getValue("Assi_Infoanzeigen", "menu"); var Assi_DeinAlter = GM_getValue("Assi_DeinAlter", true); var Assi_FreundeSortierung = GM_getValue("Assi_FreundeSortierung", false); var Assi_Notizen = GM_getValue("Assi_Notizen", false); var Assi_HotkeyTimeout = parseInt(GM_getValue("Assi_HotkeyTimeout", "500"), 10); var Assi_InventarIMGheight = parseInt(GM_getValue("Assi_InventarIMGheight", "50"), 10); var Assi_InventarTrankreihenfolge = GM_getValue('Assi_InventarTrankreihenfolge', traenke); var Assi_Lagerauszahlungen = GM_getValue("Assi_Lagerauszahlungen", "eigene"); var Assi_LagerauszahlungenNicks = GM_getValue("Assi_LagerauszahlungenNicks", ""); var Assi_MenuUhrzeit = GM_getValue("Assi_MenuUhrzeit", false); var Assi_MenuSKZeit = GM_getValue("Assi_MenuSKZeit", false); var Assi_MenuVersionTip = GM_getValue("Assi_MenuVersionTip", true); var Assi_SKAuswertung = GM_getValue("Assi_SKAuswertung", true); var Assi_ActivityReminder = GM_getValue("Assi_ActivityReminder", false); var Assi_Remindersound = GM_getValue("Assi_Remindersound", ""); var Assi_ReminderSoundVolume = GM_getValue("Assi_ReminderSoundVolume", 100); var Assi_Standardtaetigkeit = GM_getValue("Assi_Standardtaetigkeit", ""); var Assi_MessageReminder = GM_getValue("Assi_MessageReminder", false); var Assi_Messagesound = GM_getValue("Assi_Messagesound", ""); var Assi_MessageSoundVolume = GM_getValue("Assi_MessageSoundVolume", 100); var Assi_WaffenWerkzeugWarnung = GM_getValue("Assi_WaffenWerkzeugWarnung", true); var Assi_RingWarnung = GM_getValue("Assi_RingWarnung", true); var Assi_Gaestebucheintrag = GM_getValue("Assi_Gaestebucheintrag", true); var Assi_Kraft = GM_getValue("Assi_Kraft", ""); var Assi_Intelligenz = GM_getValue("Assi_Intelligenz", ""); var Assi_Geschwindigkeit = GM_getValue("Assi_Geschwindigkeit", ""); var Assi_List = GM_getValue("Assi_List", ""); var Assi_Ausdauer = GM_getValue("Assi_Ausdauer", ""); var Assi_Geschick = GM_getValue("Assi_Geschick", ""); var Assi_NahrungRest = parseInt(GM_getValue("Assi_NahrungRest", "50"), 10); var Assi_GoldRest = parseInt(GM_getValue("Assi_GoldRest", "50"), 10); var Assi_HolzRest = parseInt(GM_getValue("Assi_HolzRest", "0"), 10); var Assi_SteinRest = parseInt(GM_getValue("Assi_SteinRest", "0"), 10); var Assi_NahrungRund = parseInt(GM_getValue("Assi_NahrungRund", "100"), 10); var Assi_GoldRund = parseInt(GM_getValue("Assi_GoldRund", "100"), 10); var Assi_HolzPreis = parseInt(GM_getValue("Assi_HolzPreis", "100"), 10); var Assi_SteinPreis = parseInt(GM_getValue("Assi_SteinPreis", "100"), 10); var Assi_Preishervorhebung = GM_getValue("Assi_Preishervorhebung", "dynamisch"); var Assi_MarktPreis = new Array(); Assi_MarktPreis['Wasser'] = GM_getValue("Assi_MarktWasserPreis", ""); Assi_MarktPreis['Holz'] = GM_getValue("Assi_MarktHolzPreis", ""); Assi_MarktPreis['Stein'] = GM_getValue("Assi_MarktSteinPreis", ""); Assi_MarktPreis['Kohle'] = GM_getValue("Assi_MarktKohlePreis", ""); Assi_MarktPreis['Kupfer'] = GM_getValue("Assi_MarktKupferPreis", ""); Assi_MarktPreis['Zinn'] = GM_getValue("Assi_MarktZinnPreis", ""); Assi_MarktPreis['Bronze'] = GM_getValue("Assi_MarktBronzePreis", ""); var Assi_MarktVerkaufsmenge = new Array(); Assi_MarktVerkaufsmenge['Wasser'] = GM_getValue("Assi_MarktWasserverkaufsmenge", ""); Assi_MarktVerkaufsmenge['Holz'] = GM_getValue("Assi_MarktHolzverkaufsmenge", ""); Assi_MarktVerkaufsmenge['Steine'] = GM_getValue("Assi_MarktSteinverkaufsmenge", ""); Assi_MarktVerkaufsmenge['Kohle'] = GM_getValue("Assi_MarktKohleverkaufsmenge", ""); Assi_MarktVerkaufsmenge['Kupfer'] = GM_getValue("Assi_MarktKupferverkaufsmenge", ""); Assi_MarktVerkaufsmenge['Zinn'] = GM_getValue("Assi_MarktZinnverkaufsmenge", ""); Assi_MarktVerkaufsmenge['Bronze'] = GM_getValue("Assi_MarktBronzeverkaufsmenge", ""); Assi_MarktVerkaufsmenge['Wachtrank'] = GM_getValue("Assi_MarktWachtrankverkaufsmenge", ""); Assi_MarktVerkaufsmenge['starker Wachtrank'] = GM_getValue("Assi_MarktstarkerWachtrankverkaufsmenge", ""); Assi_MarktVerkaufsmenge['kleiner Heiltrank'] = GM_getValue("Assi_MarktkleinerHeiltrankverkaufsmenge", ""); Assi_MarktVerkaufsmenge['mittlerer Heiltrank'] = GM_getValue("Assi_MarktmittlererHeiltrankverkaufsmenge", ""); Assi_MarktVerkaufsmenge['starker Heiltrank'] = GM_getValue("Assi_MarktstarkerHeiltrankverkaufsmenge", ""); Assi_MarktVerkaufsmenge['Holztrank'] = GM_getValue("Assi_MarktHolztrankverkaufsmenge", ""); Assi_MarktVerkaufsmenge['Steintrank'] = GM_getValue("Assi_MarktSteintrankverkaufsmenge", ""); Assi_MarktVerkaufsmenge['Kupfertrank'] = GM_getValue("Assi_MarktKupfertrankverkaufsmenge", ""); Assi_MarktVerkaufsmenge['Zinntrank'] = GM_getValue("Assi_MarktZinntrankverkaufsmenge", ""); var Assi_MarktVerkaufspreis = new Array(); Assi_MarktVerkaufspreis['Wasser'] = GM_getValue("Assi_MarktWasserverkaufspreis", ""); Assi_MarktVerkaufspreis['Holz'] = GM_getValue("Assi_MarktHolzverkaufspreis", ""); Assi_MarktVerkaufspreis['Steine'] = GM_getValue("Assi_MarktSteinverkaufspreis", ""); Assi_MarktVerkaufspreis['Kohle'] = GM_getValue("Assi_MarktKohleverkaufspreis", ""); Assi_MarktVerkaufspreis['Kupfer'] = GM_getValue("Assi_MarktKupferverkaufspreis", ""); Assi_MarktVerkaufspreis['Zinn'] = GM_getValue("Assi_MarktZinnverkaufspreis", ""); Assi_MarktVerkaufspreis['Bronze'] = GM_getValue("Assi_MarktBronzeverkaufspreis", ""); Assi_MarktVerkaufspreis['Wachtrank'] = GM_getValue("Assi_MarktWachtrankverkaufspreis", ""); Assi_MarktVerkaufspreis['starker Wachtrank'] = GM_getValue("Assi_MarktstarkerWachtrankverkaufspreis", ""); Assi_MarktVerkaufspreis['kleiner Heiltrank'] = GM_getValue("Assi_MarktkleinerHeiltrankverkaufspreis", ""); Assi_MarktVerkaufspreis['mittlerer Heiltrank'] = GM_getValue("Assi_MarktmittlererHeiltrankverkaufspreis", ""); Assi_MarktVerkaufspreis['starker Heiltrank'] = GM_getValue("Assi_MarktstarkerHeiltrankverkaufspreis", ""); Assi_MarktVerkaufspreis['Holztrank'] = GM_getValue("Assi_MarktHolztrankverkaufspreis", ""); Assi_MarktVerkaufspreis['Steintrank'] = GM_getValue("Assi_MarktSteintrankverkaufspreis", ""); Assi_MarktVerkaufspreis['Kupfertrank'] = GM_getValue("Assi_MarktKupfertrankverkaufspreis", ""); Assi_MarktVerkaufspreis['Zinntrank'] = GM_getValue("Assi_MarktZinntrankverkaufspreis", ""); var notice = GM_getValue("notice", ""); var nextSK = GM_getValue("NextSK", "0"); var tkTeilnahme = parseInt(GM_getValue("TKTeilnahme", "0"), 10); var skTeilnahme = parseInt(GM_getValue("SKTeilnahme", "0"), 10); var mkTeilnahme = parseInt(GM_getValue("MKTeilnahme", "0"), 10); var hand = GM_getValue("Hand", "Unbekannt"); var finger = GM_getValue("Finger", "Unbekannt"); var starkerWachtrankID = GM_getValue("starkerWachtrank", "0"); var drachenblutDate = new Date(parseInt(GM_getValue("DrachenblutTime", "0"), 10)); var glueckDate = new Date(parseInt(GM_getValue("GlueckTime", "0"), 10)); var meisterschmiedDate = new Date(parseInt(GM_getValue("MeisterschmiedTime", "0"), 10)); var gesundheitDate = new Date(parseInt(GM_getValue("GesundheitTime", "0"), 10)); var landControlColor = GM_getValue("LandControlColor", "red"); var statusToggle = new Array(); statusToggle['logbuchFilterOptions'] = GM_getValue("StatusToggle_logbuchFilterOptions", "none"); // Hotkeys var hotkeys = new Array( ['Logbuch', 'http://szs.looki.de/news.php', 'l'], ['Alte Logbucheintrage', 'http://szs.looki.de/news.php?alte=1', ''], ['Profil', 'http://szs.looki.de/profil.php', 'p'], ['Charakter', 'http://szs.looki.de/charakter.php', 'c'], ['Inventar', 'http://szs.looki.de/inventar.php', 'i'], ['Artefakte', 'http://szs.looki.de/artefakt.php', 'a'], ['Karte', 'http://szs.looki.de/karte.php', ''], ['Land', 'http://szs.looki.de/deinland.php', ''], ['Jagd', 'http://szs.looki.de/jagd.php', 'j'], ['Wasser suchen', 'http://szs.looki.de/wasser.php', 'w'], ['Holz fällen', 'http://szs.looki.de/holzfaeller.php', ''], ['Köhlern', 'http://szs.looki.de/koehlern.php', ''], ['Steine metzen', 'http://szs.looki.de/steinmetz.php', ''], ['Kupfer abbauen', 'http://szs.looki.de/kupferding.php', ''], ['Bronze herstellen', 'http://szs.looki.de/bronze.php', ''], ['Zinn abbauen', 'http://szs.looki.de/zinnding.php', ''], ['Trank brauen', 'http://szs.looki.de/schamane.php', ''], ['Waffe bauen', 'http://szs.looki.de/waffenschmied.php', ''], ['Werkzeug bauen', 'http://szs.looki.de/werkzeug.php', ''], ['Schlafen', 'http://szs.looki.de/schlafen.php', ''], ['Einzelkampf', 'http://szs.looki.de/kampf.php', ''], ['Talkampf', 'http://szs.looki.de/grtal.php', ''], ['Stammkampf', 'http://szs.looki.de/stamm.php?do=kampfsuche', ''], ['Magierkampf', 'http://szs.looki.de/stamm.magierkampf.php', ''], ['Markt', 'http://szs.looki.de/markt.php', 'm'], ['Händler', 'http://szs.looki.de/nahrung.php', ''], ['Waffenhöhle', 'http://szs.looki.de/waffenshop.php', ''], ['Nomade', 'http://szs.looki.de/nomade.php', ''], ['StammÜbersicht', 'http://szs.looki.de/stamm.php?do=uebersicht', 'u'], ['StammNachrichten', 'http://szs.looki.de/stamm.php?do=nachricht', 'n'], ['Alte StammNachrichten', 'http://szs.looki.de/stamm.php?do=nachricht&alte=1', ''], ['StammForum', 'http://szs.looki.de/stammforum.forum.php', 'f'], ['Lager', 'http://szs.looki.de/stamm.php?do=lager', ''], ['Waffenlager', 'http://szs.looki.de/stamm.php?do=waffenlager', ''], ['Tranklager', 'http://szs.looki.de/stamm.php?do=tranklager', ''], ['Werkzeuglager', 'http://szs.looki.de/stamm.php?do=werkzeuglager', ''], ['Altar', 'http://szs.looki.de/altar.php', ''], ['Weltwunder', 'http://szs.looki.de/weltwunder.php', ''], ['Lagerfeuer', 'http://szs.looki.de/stamm.php?do=lagerfeuer', ''], ['UserTop', 'http://szs.looki.de/top.php', '1'], ['StammTop', 'http://szs.looki.de/stammtop.php', '2'], ['Aktive Spieler', 'http://szs.looki.de/aktivespieler.php', '3'], ['Aktive Stämme', 'http://szs.looki.de/aktivpunkte.php', '4'], ['VIPTop', 'http://szs.looki.de/viptop.php', ''], ['UserSuche', 'http://szs.looki.de/userinfo.php', ''], ['StammSuche', 'http://szs.looki.de/stamminfo.php', ''], ['OnlineUser', 'http://szs.looki.de/useronline.php', ''] ); var strHotkeys = GM_getValue("Assi_Hotkeys", ""); if(typeof(strHotkeys) == 'undefined') { strHotkeys = ''; } strHotkeys = strHotkeys.split('|'); if(hotkeys.length == strHotkeys.length-1) { for(i=0; i'; configContent += 'Stamm'; configContent += 'Info-Anzeigenim rechten Menu
zentriert
Position für Ausrüstung-, Opfer- und Artefakte-Info'; configContent += '"Dein Alter"im rechten Menu anzeigen'; configContent += 'Freunde-SortierungAlphabetisch'; configContent += 'Notizen anzeigen
'; configContent += 'Hotkey-Timeout msZeit bis eine Hotkeyeingabe verfällt'; configContent += 'Bilderhöhe im Inventar Pixel0 = Standardgröße'; configContent += 'Tränkereihenfolge im Inventar
Weggelassene oder falsch geschriebene Tränke werdenans Ende gesetzt!

Standard: '+traenke+''; configContent += 'LagerauszahlungenNur eigene Einzahlungen
eigene und andere: (Nicks mit Komma trennen)
alle
'; configContent += 'Uhrzeit links im Menu
'; configContent += 'SK-Zeit rechts im Menu
'; configContent += 'VersionscheckZeigt dir im Menu, ob eine neue Script-Version verfügbar ist.'; configContent += 'SK-Auswertung... mit EP für jeden Teilnehmer?'; configContent += ''; // Reminder configContent += '

Reminder


'; configContent += ''; // Skillsystem configContent += '

Skillsystem


'; configContent += ''; // Rohstoffsicherung configContent += '

Rohstoffsicherung


'; configContent += ''; // Markt configContent += '

Markt


'; configContent += ''; // Hotkeys configContent += '

Hotkeys


'; configContent += '
'; configContent += '
'; // Einstellungen zurücksetzen- und Alle Daten löschen-Button var strButtons = '
'; configLayer.innerHTML = '
'+configContent+strButtons+'
Version: '+GM_info.script.version+'SZS-Assistentby KingMaxi
'; document.getElementsByTagName('body')[0].appendChild(configLayer); document.getElementById('toggle_configClose').addEventListener('click', toggleElement, false); var configTrigger = document.getElementsByName('configTriggerElementToggle'); for(i=0; i=0; i--) { if(elems[i].tagName == 'BR' || elems[i].tagName == 'CENTER' || elems[i].tagName == 'SCRIPT' || elems[i].tagName == 'NOSCRIPT' || elems[i].tagName == 'IMG') { elems[i].parentNode.removeChild(elems[i]); } } // header (remove ad + "nur durch Werbung bleibt SteinZeitSpiel.de kostenfrei.") if(!isPremiumSpieler) { i = document.getElementsByTagName('center').length-1; while(i >= 0) { if(document.getElementsByTagName('center')[i].textContent.indexOf('nur durch Werbung bleibt SteinZeitSpiel.de kostenfrei.') != -1) { var elem_temp = document.getElementsByTagName('center')[i]; if(typeof elem_temp == 'object') elem_temp.parentNode.removeChild(elem_temp); break; } i--; } } // first table, wrap-table // left side (remove waste td) wrap.getElementsByTagName('td')[0].parentNode.removeChild(wrap.getElementsByTagName('td')[0]); // right side (replace/add notice) if(isPremiumSpieler) { i=0; while(!(wrap.getElementsByTagName('td')[i].innerHTML.trim() == "" && wrap.getElementsByTagName('td')[i].getAttribute('valign') == 'top')) { i++; } var temp = wrap.getElementsByTagName('td')[i]; } else { var temp = document.getElementById('site_extern').parentNode; } if(Assi_Notizen) { temp.innerHTML = '
'; document.getElementById('site_extern').innerHTML = '
Notizen
'; if(notice != "") { document.getElementById('notice').value = notice; } } else { temp.style.display = "none"; } // second table, main-table - change attributes (move main-container to left side) main.parentNode.setAttribute('width', '800'); main.setAttribute('width', 800); main.removeAttribute('align'); content.removeChild(content.getElementsByTagName('br')[0]); if(Assi_Infoanzeigen == 'zentriert') content.removeChild(content.getElementsByTagName('br')[0]); // Serverzeit auslesen var nomadenzeit = servertime.slice(0, servertime.indexOf('
')).trim().replace(/\s\s/g, " "); servertime = servertime.slice(servertime.indexOf('ServerZeit:')+11, servertime.indexOf('Uhr')); var servertimeArray = servertime.split(':'); servertimeDate = new Date(); servertimeDate.setHours(servertimeArray[0]); servertimeDate.setMinutes(servertimeArray[1]); servertimeDate.setSeconds(servertimeArray[2]); servertimeDate.setMilliseconds(0); var diffServertime = (new Date()).getTime()-servertimeDate.getTime(); // Zeitunterschied zwischen PC und Server // Talkampf bestimmen var tkStart = 10; var tkEnde = 12; if(isSommerzeit(servertimeDate)) { tkStart = 12; tkEnde = 14; } else { tkStart = 11; tkEnde = 13; } var talkampfDate = new Date(servertimeDate); talkampfDate.setHours(tkStart); talkampfDate.setMinutes(0); talkampfDate.setSeconds(0); if(servertimeDate.getHours() >= tkEnde) { talkampfDate.setDate(talkampfDate.getDate()+1); } // Talkampf-Teilnahme if(tkTeilnahme+7260000 <= servertimeDate.getTime()) { GM_xmlhttpRequest({ method: "GET", url: "http://szs.looki.de/grtal.php", onload: function(response) { if(response.responseText.indexOf('Du bist für die Kämpfe im Tal angemeldet.') != -1) { GM_setValue("TKTeilnahme", talkampfDate.getTime().toString()); } else { GM_deleteValue("TKTeilnahme"); } } }); } // Stammkampf bestimmen if(nextSK == "kein Kampf" || parseInt(nextSK.split(',')[0], 10)+3660000 < servertimeDate.getTime()) { GM_xmlhttpRequest({ method: "GET", url: "http://szs.looki.de/stamm.php?do=uebersicht", onload: function(response) { if(response.responseText.search(/Nächster Kampf: (\d+)\.(\d+)\.(\d+) \- (\d+):(\d+) Uhr gegen: (.+)<\/a>
Kampfstamm/) != -1) { var skStartDate = new Date(RegExp.$3, parseInt(RegExp.$2, 10)-1, parseInt(RegExp.$1, 10), parseInt(RegExp.$4, 10), parseInt(RegExp.$5, 10), 0); GM_setValue("NextSK", skStartDate.getTime().toString()+","+RegExp.$6.trim()+","+RegExp.$7.trim()); } else { GM_setValue("NextSK", "kein Kampf"); } } }); } // Stammkampf-Teilnahme if(isNaN(skTeilnahme)) { skTeilnahme = 0; } // fix for v0.9.5, skTeilnahme can be NaN (== 'kein Kampf') if(skTeilnahme+3660000 < servertimeDate.getTime()) { GM_xmlhttpRequest({ method: "GET", url: "http://szs.looki.de/stamm.php?do=kampfuserauswahl", onload: function(response) { if(response.responseText.indexOf('Uhr kämpft ihr gegen') != -1) { if(response.responseText.indexOf('nicht teilnehmen') != -1 && response.responseText.search(/Am (\d+)\.(\d+)\.(\d+) - (\d+):(\d+) Uhr kämpft ihr gegen/) != -1) { var skStartDate = new Date(RegExp.$3, parseInt(RegExp.$2, 10)-1, parseInt(RegExp.$1, 10), parseInt(RegExp.$4, 10), parseInt(RegExp.$5, 10), 0); GM_setValue("SKTeilnahme", skStartDate.getTime().toString()); } else { GM_deleteValue("SKTeilnahme"); } } } }); } // Magierkampf bestimmen var mkStart = 16; var mkEnde = 18; if(isSommerzeit(servertimeDate)) { mkStart = 18; mkEnde = 20; } else { mkStart = 17; mkEnde = 19; } var magierkampfDate = new Date(servertimeDate); if(servertimeDate.getDay() == 1 && servertimeDate.getHours() < mkEnde) { magierkampfDate.setHours(mkStart); } else { var day = (servertimeDate.getDay()==0)? 1 : (8-servertimeDate.getDay()); magierkampfDate.setDate(magierkampfDate.getDate()+day); magierkampfDate.setHours(mkStart); } magierkampfDate.setMinutes(0); magierkampfDate.setSeconds(0); magierkampfDate.setMilliseconds(0); // Magierkampf-Teilnahme if(mkTeilnahme+7260000 <= servertimeDate.getTime()) { GM_xmlhttpRequest({ method: "GET", url: "http://szs.looki.de/stamm.magierkampf.php", onload: function(response) { if(response.responseText.indexOf('zum Magierkampf eintragen') != -1) { if(response.responseText.indexOf('vom Magierkampf austragen') != -1) { GM_setValue("MKTeilnahme", magierkampfDate.getTime().toString()); } else { GM_deleteValue("MKTeilnahme"); } } } }); } // Logbuch if(document.URL.indexOf('/news.php') != -1) { content.getElementsByTagName('table')[1].setAttribute('id', 'logbuch'); document.getElementById('logbuch').removeAttribute('width'); var logs = content.getElementsByTagName('table')[1].getElementsByTagName('tr'); logs[0].getElementsByTagName('td')[1].setAttribute('colspan', 2); var pn_nicks = new Array(); var trade_nicks = new Array(); var filter = new Array(); var count = new Array(); count['PN'] = 0; count['trade'] = 0; count['Rest'] = 0; count['combat EK'] = 0; count['combat TK'] = 0; count['combat SK'] = 0; count['combat MK'] = 0; for(i=1; i$1
'); if(logs[i].getElementsByTagName('div')[0].innerHTML.split('
')[0].trim().search(/^Du hast an .* diese Nachricht geschrieben:/) != -1) { // gesendete PN (Profillinks) logs[i].getElementsByTagName('td')[1].removeAttribute('colspan'); logs[i].innerHTML += ''; var pnzeilen = logs[i].getElementsByTagName('div')[0].innerHTML.split('
'); pnzeilen[0] = pnzeilen[0].trim().replace(/^Du hast an (.*) diese Nachricht geschrieben:/, 'Du hast an $1 diese Nachricht geschrieben:'); var nick = RegExp.$1; logs[i].getElementsByTagName('td')[2].innerHTML = 'Nachricht
Übertragen
'; logs[i].getElementsByTagName('div')[0].innerHTML = pnzeilen.join('
'); addLinksToLogbuch(nick, 'pn_'+i); dataFilterText += ' PN '+nick; if(pn_nicks.indexOf(nick) == -1) { pn_nicks.push(nick); } } else { // empfangene PN logs[i].getElementsByTagName('i')[0].innerHTML.search(/von (.*)<\/a> \| '; logs[i].getElementsByTagName('td')[1].innerHTML = logs[i].getElementsByTagName('td')[1].innerHTML.replace(/Du hast (an|von) (.*) (\d)/, 'Du hast $1 $2
$3'); var nick = RegExp.$2; logs[i].getElementsByTagName('td')[2].innerHTML = 'Nachricht
Übertragen
'; addLinksToLogbuch(nick, 'transfer_'+i); dataFilterText += ' trade '+nick; if(trade_nicks.indexOf(nick) == -1) { trade_nicks.push(nick); } } else if(logs[i].getElementsByTagName('td')[1].textContent.indexOf('auf dem Markt') != -1 && logs[i].getElementsByTagName('td')[1].textContent.indexOf('konnte nicht auf dem Markt verkauft werden') == -1) { // Marktein-/-verkauf (Profillinks) count['trade']++; logs[i].getElementsByTagName('td')[1].removeAttribute('colspan'); logs[i].innerHTML += ''; logs[i].getElementsByTagName('td')[1].innerHTML = logs[i].getElementsByTagName('td')[1].innerHTML.replace(/von (.*) auf dem Markt (gekauft|zum)/, 'von $1 auf dem Markt $2'); var nick = RegExp.$1; logs[i].getElementsByTagName('td')[2].innerHTML = 'Nachricht
Übertragen
'; addLinksToLogbuch(nick, 'market_'+i); dataFilterText += ' trade '+nick; if(trade_nicks.indexOf(nick) == -1) { trade_nicks.push(nick); } } else if(logs[i].getElementsByTagName('td')[1].textContent.indexOf('konnte nicht auf dem Markt verkauft werden') != -1) { // Marktrückläufe count['trade']++; dataFilterText += ' trade tradeReturn'; filter['TradeReturn'] = true; } else if(logs[i].getElementsByTagName('td')[1].textContent.indexOf('Du bist für die Kämpfe im Tal angemeldet.') != -1 || logs[i].getElementsByTagName('td')[1].textContent.indexOf('Tal angemeldet, bist aber nicht verfügbar.') != -1) { // Talkampf (Anmeldung, nicht verfügbar) dataFilterText += ' combat TK'; filter['TK'] = true; } else if(logs[i].getElementsByTagName('td')[0].textContent.indexOf(tkEnde+':00') != -1 && logs[i].getElementsByTagName('td')[1].textContent.indexOf('Runde 1 Start:') != -1) { // Talkampfeergebnis (Profillinks) var tkzeilen = logs[i].getElementsByTagName('td')[1].innerHTML.split('
'); for(j=2; j'+htmlspecialchars(tkgegner)+' (Erfahrungspunkte: '+number_format(tkgegnerep, 0, ',', '.')+').'; addLinksToLogbuch(tkgegner, 'tk_'+i+'_'+j); } } logs[i].getElementsByTagName('td')[1].innerHTML = tkzeilen.join('
'); dataFilterText += ' combat TK'; filter['TK'] = true; } else if(logs[i].getElementsByTagName('td')[1].textContent.indexOf('für Deinen Stamm zu kämpfen') != -1 || logs[i].getElementsByTagName('td')[1].textContent.indexOf('vom Stammkampf ausgeschlossen') != -1 || logs[i].getElementsByTagName('td')[1].textContent.indexOf('Du machst dich auf, um deinem Stamm im Kampf beizustehen') != -1 || logs[i].getElementsByTagName('td')[1].textContent.indexOf('Du hättest jetzt kämpfen sollen') != -1 || logs[i].getElementsByTagName('td')[1].textContent.indexOf('deswegen nimmst du auch nicht am Stammkampf teil.') != -1 || logs[i].getElementsByTagName('td')[1].textContent.indexOf('Ihr habt den Kampf gewonnen.') != -1 || logs[i].getElementsByTagName('td')[1].textContent.indexOf('Allerdings hast Du 3 Erfahrungspunkte und 3 frei verteilbare Punkte bekommen') != -1) { // Stammkampf (Anmeldung, Ausschluss, Start und Ergebnis) dataFilterText += ' combat SK'; filter['SK'] = true; } else if(logs[i].getElementsByTagName('td')[1].textContent.indexOf('Du hast Dich entschieden im Magierkampf anzutreten') != -1 || logs[i].getElementsByTagName('td')[1].textContent.indexOf('Du wurdest beim Magierkampf durch ein Artefakt geschützt') != -1) { // Magierkampf (nur Anmeldung) dataFilterText += ' combat MK'; filter['MK'] = true; } else if(logs[i].getElementsByTagName('td')[1].textContent.indexOf('angegriffen und hast gewonnen.') != -1 || logs[i].getElementsByTagName('td')[1].textContent.indexOf('angegriffen und hast verloren.') != -1) { // Einzelkampf dataFilterText += 'combat EK'; filter['EK'] = true; } else if(logs[i].getElementsByTagName('td')[1].textContent.indexOf('Nahrungspunkte bekommen') != -1 || logs[i].getElementsByTagName('td')[1].textContent.indexOf('Wasser geholt') != -1 || logs[i].getElementsByTagName('td')[1].textContent.search(/mit nach\s*Hause/) != -1 || logs[i].getElementsByTagName('td')[1].textContent.indexOf('hergestellt') != -1 || logs[i].getElementsByTagName('td')[1].textContent.indexOf('gebaut') != -1 || logs[i].getElementsByTagName('td')[1].textContent.indexOf('geschabt') != -1 || logs[i].getElementsByTagName('td')[1].textContent.indexOf('geweiht') != -1 || logs[i].getElementsByTagName('td')[1].textContent.indexOf('trank gebraut') != -1) { // Arbeitsgang ("Nahrungspunkte bekommen": Nahrung, "Wasser geholt": Wasser, "mit nach Hause": Holz/Stein, "hergestellt": Kohle/Bronze/Artefakt, "gebaut": Kupfer/WW-Stufe, "geschabt": Zinn, "geweiht": Artefakt, "trank gebraut": Tränke dataFilterText += ' AG'; filter['AG'] = true; // ab hier: Rest (Knochenfunde, Funde (Ring/Wasser/Gold), Verletzungen/Artefaktschutz, Ringsuche, Wandern/"angekommen" } else if(logs[i].getElementsByTagName('td')[1].textContent.indexOf('Du wurdest verletzt') != -1 || logs[i].getElementsByTagName('td')[1].textContent.indexOf('Stamm wurde von wilden Tieren angegriffen') != -1) { // Verletzung dataFilterText += ' Rest Verletzung'; filter['Verletzung'] = true; filter['Rest'] = true; count['Rest']++; } else if(logs[i].getElementsByTagName('td')[1].textContent.indexOf('dabei siehst du einen Knochen') != -1) { // Knochenfund dataFilterText += ' Rest Knochenfund'; filter['Knochenfund'] = true; filter['Rest'] = true; count['Rest']++; } else if(logs[i].getElementsByTagName('td')[1].textContent.indexOf('Die Götter haben') != -1) { // Ringsuche dataFilterText += ' Rest Ringsuche'; filter['Ringsuche'] = true; filter['Rest'] = true; count['Rest']++; } else if(logs[i].getElementsByTagName('td')[1].textContent.indexOf('Du wurdest durch ein Artefakt geschützt') != -1) { // Artefaktschutz dataFilterText += ' Rest Artefaktschutz'; filter['Artefaktschutz'] = true; filter['Rest'] = true; count['Rest']++; } else if(logs[i].getElementsByTagName('td')[1].textContent.indexOf('Du bist angekommen') != -1) { // Wandern dataFilterText += ' Rest Wandern'; filter['Wandern'] = true; filter['Rest'] = true; count['Rest']++; } else if(logs[i].getElementsByTagName('td')[1].textContent.indexOf('gefunden') != -1) { // Fundgold/-wasser/Ringfund dataFilterText += ' Rest Funde'; filter['Funde'] = true; filter['Rest'] = true; count['Rest']++; } else if(logs[i].getElementsByTagName('td')[1].textContent.indexOf('aus dem Lager genommen') != -1) { dataFilterText += 'Rest Lager'; filter['Lager'] = true; filter['Rest'] = true; count['Rest']++; } else if(logs[i].getElementsByTagName('td')[1].textContent.indexOf('Schneemann') != -1 || logs[i].getElementsByTagName('td')[1].textContent.indexOf('Rentier') != -1 || logs[i].getElementsByTagName('td')[1].textContent.indexOf('Mann in roten Kleidern') != -1 || logs[i].getElementsByTagName('td')[1].textContent.indexOf('Knecht Ruprecht') != -1) { dataFilterText += 'Rest Weihnachten'; filter['Weihnachten'] = true; filter['Rest'] = true; count['Rest']++; } else { // Ohne Zuordnung dataFilterText += ' OhneZuordnung'; filter['OhneZuordnung'] = true; } dataFilterText = dataFilterText.trim(); if(dataFilterText.trim() != '') { logs[i].setAttribute('data-szsa-filter', htmlspecialchars(dataFilterText)); } if(count[dataFilterText] == undefined) { count[dataFilterText] = 1; } else { count[dataFilterText]++; } } // Filter-Einstellungen var newDIV = document.createElement('div'); newDIV.setAttribute('id', 'logbuchFilter'); var logbuchFilterContent = '

Logbuch-Filter


'; logbuchFilterContent += '
'; logbuchFilterContent += '
'; logbuchFilterContent += '
Private Nachrichten
'; if(pn_nicks.length > 0) { logbuchFilterContent += '
'; pn_nicks.sort(nickSort); for(i=0; i'+pn_nicks[i]+' ('+count['PN '+pn_nicks[i]]+')
'; } } else { logbuchFilterContent += 'Keine in der aktuellen Ansicht!'; } logbuchFilterContent += '
'; logbuchFilterContent += '
Handel
'; if(trade_nicks.length > 0 || filter['TradeReturn']) { logbuchFilterContent += '
'; if(filter['TradeReturn']) { logbuchFilterContent += '
'; } trade_nicks.sort(nickSort); for(i=0; i'+trade_nicks[i]+' ('+count['trade '+trade_nicks[i]]+')
'; } } else { logbuchFilterContent += 'Keine in der aktuellen Ansicht!'; } logbuchFilterContent += '
'; logbuchFilterContent += '
Sonstige
'; if(filter['AG']) { logbuchFilterContent += '
'; } if(filter['EK'] || filter['TK'] || filter['SK'] || filter['MK']) { logbuchFilterContent += '
'; logbuchFilterContent += '
'; if(filter['EK']) { logbuchFilterContent += '
'; } if(filter['TK']) { logbuchFilterContent += '
'; } if(filter['SK']) { logbuchFilterContent += '
'; } if(filter['MK']) { logbuchFilterContent += '
'; } logbuchFilterContent += '
'; } if(filter['Rest']) { logbuchFilterContent += '
'; } if(filter['OhneZuordnung']) { logbuchFilterContent += '

Bitte kopiere mir diese Logbucheinträge, damit sie in Zukunft zugeordnet werden können.
'; } logbuchFilterContent += '
'; i = 1; while(content.getElementsByTagName('a')[i].textContent.indexOf('Hilfe') == -1) { i++; } if(content.getElementsByTagName('a')[i+1].textContent.indexOf('Stammnachrichten') != -1) i++; logbuchFilterContent += '
'; newDIV.innerHTML = logbuchFilterContent; content.insertBefore(newDIV, content.getElementsByTagName('a')[i].nextSibling); document.getElementById('toggle_logbuchFilterOptions').addEventListener('click', toggleElement, false); document.getElementById('overallAllButton').addEventListener('click', function(e) { var newStatus = true; if(this.getAttribute('value') == 'Alle abwählen') { newStatus = false; } var items = document.getElementById('logbuchFilterForm').getElementsByTagName('input'); for(var i=1; i'+htmlspecialchars(allEmpf[i])+''; } newDIV_inner += ''+htmlspecialchars(GM_getValue("Message_"+allEmpf[i], "").slice(0, 50))+''; newDIV_inner += 'Löschen'; } newDIV_inner += ''; newDIV.innerHTML = newDIV_inner; } // Event-Listener document.getElementsByTagName('form')[0].addEventListener('submit', function(e) { var newEmpf = document.getElementById('empfeingabe').value.trim(); var newMessage = document.getElementById('contenteingabe').value.trim(); if(newEmpf == '' || newMessage == '') { e.preventDefault(); alert('Empfänger oder Nachricht leer!'); return false; } else { var allEmpf = GM_getValue("Message_Empf", "#"); if(getURLParameter('to') == '') { GM_setValue("Message_Empf", allEmpf.replace('##', '#')); GM_deleteValue("Message_"); } if(allEmpf.indexOf('#'+newEmpf+'#') == -1) { GM_setValue("Message_Empf", allEmpf+newEmpf+'#'); } GM_setValue("Message_"+newEmpf, newMessage); return true; } }, false); document.getElementById('contenteingabe').addEventListener('keyup', function() { var newEmpf = document.getElementById('empfeingabe').value.trim(); var newMessage = document.getElementById('contenteingabe').value.trim(); var allEmpf = GM_getValue("Message_Empf", "#"); if(newMessage == '') { GM_setValue("Message_Empf", allEmpf.replace('#'+newEmpf+'#', '#')); GM_deleteValue("Message_"+newEmpf); } else { if(allEmpf.indexOf('#'+newEmpf+'#') == -1) { GM_setValue("Message_Empf", allEmpf+newEmpf+'#'); } GM_setValue("Message_"+newEmpf, newMessage); } }, false); } } // Charakter if(document.URL.indexOf('/charakter.php') != -1 && content.textContent.indexOf('Hier kannst du deinen Steinzeitmenschen') != -1) { // aktuelle Position speichern content.textContent.search(/Du stehst im Moment auf Land\:\sX\:\s(\d{1,3})\sY\:\s(\d{1,3})/); var x = RegExp.$1; var y = RegExp.$2; GM_setValue("AktuellePosition", x+"#"+y); // Skillsystem var gesamt_cp = parseInt(content.getElementsByTagName('td')[4].textContent, 10); var kraft_ist = parseInt(content.getElementsByTagName('tr')[3].getElementsByTagName('td')[1].textContent, 10); var intelligenz_ist = parseInt(content.getElementsByTagName('tr')[4].getElementsByTagName('td')[1].textContent, 10); var geschwindigkeit_ist = parseInt(content.getElementsByTagName('tr')[5].getElementsByTagName('td')[1].textContent, 10); var list_ist = parseInt(content.getElementsByTagName('tr')[6].getElementsByTagName('td')[1].textContent, 10); var ausdauer_ist = parseInt(content.getElementsByTagName('tr')[7].getElementsByTagName('td')[1].textContent, 10); var geschick_ist = parseInt(content.getElementsByTagName('tr')[8].getElementsByTagName('td')[1].textContent, 10); var freie_cp = parseInt(content.getElementsByTagName('tr')[9].getElementsByTagName('td')[1].getElementsByTagName('b')[0].textContent, 10); var kraft_soll = parseFloat(Assi_Kraft.replace(/\,/, '.')); if(kraft_soll < 0 || isNaN(kraft_soll)) kraft_soll = 0; var intelligenz_soll = parseFloat(Assi_Intelligenz.replace(/\,/, '.')); if(intelligenz_soll < 0 || isNaN(intelligenz_soll)) kraft_soll = 0; var geschwindigkeit_soll = parseFloat(Assi_Geschwindigkeit.replace(/\,/, '.')); if(geschwindigkeit_soll < 0 || isNaN(geschwindigkeit_soll)) kraft_soll = 0; var list_soll = parseFloat(Assi_List.replace(/\,/, '.')); if(list_soll < 0 || isNaN(list_soll)) kraft_soll = 0; var ausdauer_soll = parseFloat(Assi_Ausdauer.replace(/\,/, '.')); if(ausdauer_soll < 0 || isNaN(ausdauer_soll)) kraft_soll = 0; var geschick_soll = parseFloat(Assi_Geschick.replace(/\,/, '.')); if(geschick_soll < 0 || isNaN(geschick_soll)) kraft_soll = 0; var gesamt_soll = kraft_soll+intelligenz_soll+geschwindigkeit_soll+list_soll+ausdauer_soll+geschick_soll; if(gesamt_soll == 0) gesamt_soll = 1; kraft_soll = kraft_soll/gesamt_soll; intelligenz_soll = intelligenz_soll/gesamt_soll; geschwindigkeit_soll = geschwindigkeit_soll/gesamt_soll; list_soll = list_soll/gesamt_soll; ausdauer_soll = ausdauer_soll/gesamt_soll; geschick_soll = geschick_soll/gesamt_soll; content.getElementsByTagName('tbody')[1].innerHTML += 'CP/EP-Verhältnis:'+number_format((gesamt_cp-freie_cp)/ep_gesamt, 5)+''; content.getElementsByTagName('tr')[10].getElementsByTagName('td')[0].getElementsByTagName('b')[0].innerHTML = 'Freie CP:'; content.getElementsByTagName('tr')[4].getElementsByTagName('td')[0].removeAttribute('width'); content.getElementsByTagName('tbody')[2].innerHTML = 'FertigkeitCharakterpunkte'+((content.getElementsByTagName('input').length > 1)? '
' : '')+'ISTSOLL'+content.getElementsByTagName('tbody')[2].innerHTML; content.getElementsByTagName('table')[2].getElementsByTagName('tr')[1].innerHTML += ''+number_format(kraft_ist/(gesamt_cp-freie_cp)*100, 2, ',', '.', true)+' %'+number_format(kraft_soll*100, 2, ',', '.', true)+' %'; content.getElementsByTagName('table')[2].getElementsByTagName('tr')[2].innerHTML += ''+number_format(intelligenz_ist/(gesamt_cp-freie_cp)*100, 2, ',', '.', true)+' %'+number_format(intelligenz_soll*100, 2, ',', '.', true)+' %'; content.getElementsByTagName('table')[2].getElementsByTagName('tr')[3].innerHTML += ''+number_format(geschwindigkeit_ist/(gesamt_cp-freie_cp)*100, 2, ',', '.', true)+' %'+number_format(geschwindigkeit_soll*100, 2, ',', '.', true)+' %'; content.getElementsByTagName('table')[2].getElementsByTagName('tr')[4].innerHTML += ''+number_format(list_ist/(gesamt_cp-freie_cp)*100, 2, ',', '.', true)+' %'+number_format(list_soll*100, 2, ',', '.', true)+' %'; content.getElementsByTagName('table')[2].getElementsByTagName('tr')[5].innerHTML += ''+number_format(ausdauer_ist/(gesamt_cp-freie_cp)*100, 2, ',', '.', true)+' %'+number_format(ausdauer_soll*100, 2, ',', '.', true)+' %'; content.getElementsByTagName('table')[2].getElementsByTagName('tr')[6].innerHTML += ''+number_format(geschick_ist/(gesamt_cp-freie_cp)*100, 2, ',', '.', true)+' %'+number_format(geschick_soll*100, 2, ',', '.', true)+' %'; for(i=1; i<=6; i++) { content.getElementsByTagName('table')[2].getElementsByTagName('tr')[i].getElementsByTagName('td')[1].innerHTML = number_format(content.getElementsByTagName('table')[2].getElementsByTagName('tr')[i].getElementsByTagName('td')[1].textContent); } if(content.getElementsByTagName('input').length > 1) { // CP-Verteilung var kraft_ad = 0; var intelligenz_ad = 0; var geschwindigkeit_ad = 0; var list_ad = 0; var ausdauer_ad = 0; var geschick_ad = 0; for(i=freie_cp; i>0; i--) { var fertigkeiten = new Array('Kraft', 'Intelligenz', 'Geschwindigkeit', 'List', 'Ausdauer', 'Geschick'); var potenziale = new Array(); potenziale[fertigkeiten[0]] = 1-((kraft_ist+kraft_ad)/(gesamt_cp*kraft_soll)); potenziale[fertigkeiten[1]] = 1-((intelligenz_ist+intelligenz_ad)/(gesamt_cp*intelligenz_soll)); potenziale[fertigkeiten[2]] = 1-((geschwindigkeit_ist+geschwindigkeit_ad)/(gesamt_cp*geschwindigkeit_soll)); potenziale[fertigkeiten[3]] = 1-((list_ist+list_ad)/(gesamt_cp*list_soll)); potenziale[fertigkeiten[4]] = 1-((ausdauer_ist+ausdauer_ad)/(gesamt_cp*ausdauer_soll)); potenziale[fertigkeiten[5]] = 1-((geschick_ist+geschick_ad)/(gesamt_cp*geschick_soll)); for(j=0; j'; } // Inventar // Ausrüstung auslesen if(!document.getElementsByName('zufallscode')[0]) { GM_xmlhttpRequest({ method: "GET", url: "http://szs.looki.de/inventar.php", onload: function(response) { // in der Hand var anfang = response.responseText.indexOf('Diesen Gegenstand hältst du in der Hand:'); var ende = response.responseText.indexOf('Diesen Ring hast du am Finger:'); if(anfang != -1 && ende != -1) { var html = response.responseText.slice(anfang, ende); html.search(/([\S\s]*)<\/b>/); var handAkt = RegExp.$1.replace(/<[\S\s]*>/g, '').trim(); if(hand.indexOf(handAkt) == -1) { if(handAkt == 'nichts') { handAkt = 'nichts'; } else if(waffen.indexOf(handAkt) != -1) { handAkt = ''+handAkt+''; } else if(werkzeuge.indexOf(handAkt) != -1) { handAkt = ''+handAkt+''; } GM_setValue("Hand", handAkt); if(document.getElementById('hand')) document.getElementById('hand').innerHTML = handAkt; } } // am Finger anfang = response.responseText.indexOf('Diesen Ring hast du am Finger:'); ende = response.responseText.indexOf('Ringe in der Truhe:'); if(anfang != -1 && ende != -1) { html = response.responseText.slice(anfang, ende); html.search(/([\S\s]*)<\/b>/); var fingerAkt = RegExp.$1.replace(/<[\S\s]*>/g, '').trim(); if(finger.indexOf(fingerAkt) == -1) { if(fingerAkt == 'keinen') { fingerAkt = 'nichts'; } else if(ringe.indexOf(fingerAkt) != -1) { fingerAkt = ''+fingerAkt+''; } GM_setValue("Finger", fingerAkt); if(document.getElementById('finger')) document.getElementById('finger').innerHTML = fingerAkt; } } } }); } // Inventar-Seite if(document.URL.indexOf('/inventar.php') != -1 && document.URL.indexOf('aktion') == -1 && content.textContent.indexOf('Inventar aufräumen') != -1) { content.innerHTML = content.innerHTML.replace(/\s*
\s*
\s*
\s*
\s*
\s*/g, '



').replace(/\s*
\s*
\s*
\s*
\s*/g, '


').replace(/\s*
\s*
\s*
\s*/g, '

'); // vorhandenes Inventar speichern if(content.textContent.indexOf('Kupfer-Hacke') != -1) { GM_setValue("Kupfer-Hacke", true); } else { GM_setValue("Kupfer-Hacke", false); } if(content.textContent.indexOf('Kupfer-Schaber') != -1) { GM_setValue("Kupfer-Schaber", true); } else { GM_setValue("Kupfer-Schaber", false); } if(content.textContent.indexOf('Kupfer-Keil') != -1) { GM_setValue("Kupfer-Keil", true); } else { GM_setValue("Kupfer-Keil", false); } if(content.textContent.indexOf('Zinn-Schaber') != -1) { GM_setValue("Zinn-Schaber", true); } else { GM_setValue("Zinn-Schaber", false); } if(content.textContent.indexOf('Zinn-Keil') != -1) { GM_setValue("Zinn-Keil", true); } else { GM_setValue("Zinn-Keil", false); } if(content.textContent.indexOf('Wasserring') != -1) { GM_setValue("Wasserring", true); } else { GM_setValue("Wasserring", false); } if(content.textContent.indexOf('Jagdring') != -1) { GM_setValue("Jagdring", true); } else { GM_setValue("Jagdring", false); } if(content.textContent.indexOf('Talkampfring') != -1) { GM_setValue("Talkampfring", true); } else { GM_setValue("Talkampfring", false); } if(content.textContent.indexOf('Stammkampfring') != -1) { GM_setValue("Stammkampfring", true); } else { GM_setValue("Stammkampfring", false); } if(content.innerHTML.indexOf('Verringert deine Müdigkeit um 80%') != -1) { var html = content.innerHTML.slice(content.innerHTML.indexOf('Verringert deine Müdigkeit um 80%')); var anfang = html.indexOf('inventar.php?aktion=trinken2&trankid='); var ende = html.indexOf('Trinken'); starkerWachtrankID = html.slice(anfang+41, ende-2) GM_setValue("starkerWachtrank", starkerWachtrankID); } else { starkerWachtrankID = 0; GM_setValue("starkerWachtrank", 0); } if(content.innerHTML.indexOf('Verringert deine Müdigkeit um 20%') != -1) { var html = content.innerHTML.slice(content.innerHTML.indexOf('Verringert deine Müdigkeit um 20%')); var anfang = html.indexOf('inventar.php?aktion=trinken2&trankid='); var ende = html.indexOf('Trinken'); GM_setValue("Wachtrank", html.slice(anfang+41, ende-2)); } else { GM_setValue("Wachtrank", 0); } // Ringe auslesen var ringeInventar = new Array(); var ringeZeilen = content.getElementsByTagName('table')[3].getElementsByTagName('tr'); for(i=1; i'+ringeInventar[j][2]+'AnlegenVerkaufenÜbertragen'; } } } if(tempContent != '') { contentHTML += ''; contentHTML += tempContent; contentHTML += '
NameAnzahlBildAnlegenVerkaufenÜbertragen
'; } else { contentHTML += 'Keine Ringe vorhanden
'; } contentHTML += '

Waffen:
'; var tempContent = ''; var waffen2 = waffen.split('#'); waffen2.reverse(); for(i=0; i'+waffenInventar[j][2]+'AnlegenVerkaufenÜbertragenEinlagern'; } } } if(tempContent != '') { contentHTML += ''; contentHTML += tempContent; contentHTML += '
NameAnzahlBildAnlegenVerkaufenÜbertragenStammlager
'; } else { contentHTML += 'Keine Waffen vorhanden
'; } contentHTML += '

Werkzeuge:
'; var tempContent = ''; var werkzeuge2 = werkzeuge.split('#'); for(i=0; i'+werkzeugeInventar[j][2]+'AnlegenVerkaufenÜbertragenEinlagern'; } } } if(tempContent != '') { contentHTML += ''; contentHTML += tempContent; contentHTML += '
NameAnzahlBildAnlegenVerkaufenÜbertragenStammlager
'; } else { contentHTML += 'Keine Werkzeuge vorhanden
'; } contentHTML += '

Tränke:
'; var tempContent = ''; var traenke2 = Assi_InventarTrankreihenfolge.split('#'); for(i=0; i 0) { if(Assi_MarktVerkaufsmenge[traenkeInventar[j][0]] < traenkeInventar[j][2]) { menge = Assi_MarktVerkaufsmenge[traenkeInventar[j][0]]; } else { menge = traenkeInventar[j][2]; } } else if(Assi_MarktVerkaufsmenge[traenkeInventar[j][0]] <= 0) { if(traenkeInventar[j][2]+Assi_MarktVerkaufsmenge[traenkeInventar[j][0]] > 0) { menge = traenkeInventar[j][2]+Assi_MarktVerkaufsmenge[traenkeInventar[j][0]]; } else { menge = 0 } } tempContent += ''+traenkeInventar[j][0]+''+traenkeInventar[j][2]+'TrinkenVerkaufen'+((menge != '' && Assi_MarktVerkaufspreis[traenkeInventar[j][0]] != '')? '
('+menge+' für '+Assi_MarktVerkaufspreis[traenkeInventar[j][0]]+')' : '')+'ÜbertragenEinlagern'; traenkeInventar.splice(j, 1); j--; } } } // Tränke, die in den Einstellungen vergessen wurden for(j=0; j 0) { if(Assi_MarktVerkaufsmenge[traenkeInventar[j][0]] < traenkeInventar[j][2]) { menge = Assi_MarktVerkaufsmenge[traenkeInventar[j][0]]; } else { menge = traenkeInventar[j][2]; } } else if(Assi_MarktVerkaufsmenge[traenkeInventar[j][0]] <= 0) { if(traenkeInventar[j][2]+Assi_MarktVerkaufsmenge[traenkeInventar[j][0]] > 0) { menge = traenkeInventar[j][2]+Assi_MarktVerkaufsmenge[traenkeInventar[j][0]]; } else { menge = 0 } } tempContent += ''+traenkeInventar[j][0]+''+traenkeInventar[j][2]+'TrinkenVerkaufen'+((menge != '' && Assi_MarktVerkaufspreis[traenkeInventar[j][0]] != '')? '
('+menge+' für '+Assi_MarktVerkaufspreis[traenkeInventar[j][0]]+')' : '')+'ÜbertragenEinlagern'; } if(tempContent != '') { contentHTML += ''; contentHTML += tempContent; contentHTML += '
NameAnzahlBildTrinkenVerkaufenÜbertragenStammlager
'; } else { contentHTML += 'Keine Tränke vorhanden
'; } contentHTML += '

[Inventar aufräumen]

'; content.innerHTML = contentHTML; if(getURLParameter('szsa') == 'stwach') { if(starkerWachtrankID != 0) { window.location.href = 'http://szs.looki.de/inventar.php?aktion=trinken2&trankid='+starkerWachtrankID; } else { alert("Du besitzt keinen starken Wachtrank mehr!"); } } // "Trinken"-Button fokusieren } else if(document.URL.indexOf('inventar.php?aktion=trinken2') != -1 && content.textContent.indexOf('Wie oft möchtest Du') != -1) { content.getElementsByTagName('input')[2].focus(); // Standardverkaufsmengen und -preise für Trankverkäufe auslesen/eintrangen } else if(document.URL.indexOf('inventar.php?aktion=trankverkaufen') != -1 && content.textContent.indexOf('Wie oft möchtest du diesen Trank auf dem Markt anbieten ?') != -1) { document.getElementsByName('verkaufanzahl')[0].value = getURLParameter('menge'); document.getElementsByName('preis')[0].value = getURLParameter('preis'); content.getElementsByTagName('input')[3].focus(); // Trank-ID vom st. Wachtrank nicht gefunden -> Fehlernummer } else if(document.URL.indexOf('inventar.php') != -1 && content.textContent.indexOf('Es ist ein Fehler aufgetreten. Fehlernummer:') != -1 && getURLParameter('szsa') == 'stwach') { window.location.href = 'http://szs.looki.de/inventar.php?szsa=stwach'; // Waffe/Ring ablegen -> bereits Waffe in der Hand/Ring am Finger } else if(document.URL.indexOf('inventar.php?aktion=take') != -1 && (content.textContent.indexOf('Du hast schon etwas in der Hand, bitte lege diesen Gegenstand erst in die Truhe.') != -1 || content.textContent.indexOf('Du trägst bereits einen Ring.') != -1)) { content.innerHTML += '

SZS-Assistent: Es wird versucht die Gegenstände zu tauschen.
'; GM_xmlhttpRequest({ method: "POST", url: "http://szs.looki.de/inventar.php", data: "aktion=intruhe&artgegen="+getURLParameter('artgegen'), headers: { "Content-Type": "application/x-www-form-urlencoded" }, onload: function(response) { var anfang = response.responseText.indexOf(''); var ende = response.responseText.indexOf(''); var html = response.responseText.slice(anfang, ende); if(html.indexOf('Du hast den Gegenstand in die Truhe gelegt.') != -1) { window.location.href = document.URL; } else { content.innerHTML += '

Es ist ein Fehler aufgetreten!

Content:
'+html; } } }); // schnellere Weiterleitung zurück zum Invenatar } else if(document.URL.indexOf('inventar.php') != -1 && (content.textContent.indexOf('falls dein Browser keine automatische Weiterleitung') != -1 || content.getElementsByTagName('meta')[0])) { window.setTimeout("window.location.href = 'http://szs.looki.de/inventar.php';", 50); // Direktlinks für Waffenopfer } else if(document.URL.indexOf('inventar.php') != -1 && content.textContent.indexOf('Die Götter erlauben Dir das Tragen dieser Waffe nicht.') != -1) { content.innerHTML += '

Direktlinks:
- kleines Waffenopfer (Kosten: 50 Zinn + 50 Wasser)
- großes Waffenopfer (Kosten: 50 Bronze + 50 Wasser)
'; } // Artefakte if(!document.getElementsByName('zufallscode')[0]) { GM_xmlhttpRequest({ method: "GET", url: "http://szs.looki.de/artefakt.php", onload: function(response) { if(response.responseText.indexOf('Diese Artefakte hast du angelegt:') != -1) { var anfang = response.responseText.indexOf('Diese Artefakte hast du angelegt:'); var html = response.responseText.slice(anfang); var zeilen = html.split('/); var artefaktDate = new Date(RegExp.$3, parseInt(RegExp.$2, 10)-1, parseInt(RegExp.$1, 10), parseInt(RegExp.$4, 10), parseInt(RegExp.$5, 10), parseInt(RegExp.$6, 10)); GM_setValue("DrachenblutTime", artefaktDate.getTime().toString()); // Glück } else if(zeilen[i].indexOf('Glück') != -1) { zeilen[i].search(//); var artefaktDate = new Date(RegExp.$3, parseInt(RegExp.$2, 10)-1, parseInt(RegExp.$1, 10), parseInt(RegExp.$4, 10), parseInt(RegExp.$5, 10), parseInt(RegExp.$6, 10)); GM_setValue("GlueckTime", artefaktDate.getTime().toString()); // Meisterschmied } else if(zeilen[i].indexOf('Meisterschmied') != -1) { zeilen[i].search(//); var artefaktDate = new Date(RegExp.$3, parseInt(RegExp.$2, 10)-1, parseInt(RegExp.$1, 10), parseInt(RegExp.$4, 10), parseInt(RegExp.$5, 10), parseInt(RegExp.$6, 10)); GM_setValue("MeisterschmiedTime", artefaktDate.getTime().toString()); // Gesundheit } else if(zeilen[i].indexOf('Gesundheit') != -1) { zeilen[i].search(//); var artefaktDate = new Date(RegExp.$3, parseInt(RegExp.$2, 10)-1, parseInt(RegExp.$1, 10), parseInt(RegExp.$4, 10), parseInt(RegExp.$5, 10), parseInt(RegExp.$6, 10)); GM_setValue("GesundheitTime", artefaktDate.getTime().toString()); } i++; } } } }); } // Altar if(document.URL.indexOf('/altar.php') != -1 && document.URL.indexOf('szsa=link') != -1 && (content.textContent.indexOf('Die Götter haben Dein Opfer angenommen.') != -1 || content.textContent.indexOf('Die Götter haben dein Opfer akzeptiert.') != -1)) { content.innerHTML += '

SZS-Assistent: Du wirst auf die vorherige Seite weitergeleitet.
'; window.setTimeout("window.location.href = '"+decodeURIComponent(getURLParameter('url'))+"';", 100); } // Karte if(document.URL.indexOf('/karte.php') != -1) { // aktuelle Position speichern if(content.getElementsByTagName('table')[2].getElementsByTagName('tr')[5].getElementsByTagName('td')[5].innerHTML.indexOf('red') != -1) { var x = document.getElementsByName('x')[0].value; var y = document.getElementsByName('y')[0].value; GM_setValue("AktuellePosition", x+"#"+y); } // optimierte Marktländer-Darstellung + Entfernung zur aktuellen Position var x1 = document.getElementsByName('x')[0].value; var y1 = document.getElementsByName('y')[0].value; var marktlaender = content.getElementsByTagName('table')[3].getElementsByTagName('tr'); marktlaender[0].innerHTML += 'Entf.
'; for(i=1; i'; marktlaender[i].innerHTML += 'Karte'; } } // Landinfo if(document.URL.indexOf('landinfo.php') != -1) { if(getURLParameter('id') != null) { content.innerHTML = content.innerHTML.replace(/
\s*\[zu diesem Land wandern\]/, '

$1/$2



[zu diesem Land wandern] | [Karte zentrieren]'); } } // Länder if(document.URL.indexOf('/deinland.php') != -1) { var curr_coords = GM_getValue("AktuellePosition", "0#0").split('#'); curr_coords[0] = parseInt(curr_coords[0], 10); curr_coords[1] = parseInt(curr_coords[1], 10); var bgcolor = new Array('#123014', '#173F1A'); var laenderHTML = content.innerHTML.split('
'); var laender = new Array(); for(i=0; i

'; if(curr_coords[0] != 0 && curr_coords[1] != 0) { newContent += 'Aktuelle Position: '+curr_coords[0]+' | '+curr_coords[1]+'

'; } newContent += ''; newContent += ''; newContent += ''; newContent += ''; newContent += '' newContent += ''; newContent += ''; newContent += ''; newContent += ''; newContent += ''; newContent += ''; newContent += ''; newContent += ''; newContent += ''; newContent += ''; newContent += ''; newContent += ''; newContent += ''; newContent += ''; newContent += ''; newContent += ''; var gesamtHolz = 0; var gesamtStein = 0; var gesamtKupfer = 0; var gesamtZinn = 0; var configLandControlFormInner = '
X/YEntf.Ausbau-StufenRohstoffe
Tr.Wa.We.
'; var landControlData = GM_getValue("LandControlData", "#").split('#'); var landControlData2 = new Array(); for(i=1; i laender[j][3] || (laender[i][3] == laender[j][3] && laender[i][0] > laender[j][0])) { var z = laender[i]; laender[i] = laender[j]; laender[j] = z; } } } var lineCounter = 1; for(i=0; i'; lineCounter++; } newContent += ''; newContent += ''; newContent += ''; newContent += ''; newContent += ''; newContent += ''; configLandControlFormInner += ''; configLandControlFormInner += ''; configLandControlFormInner += ''; configLandControlFormInner += ''; configLandControlFormInner += ''; configLandControlFormInner += ''; configLandControlFormInner += ''; configLandControlFormInner += ''; lineCounter++; // Landinfos laden GM_xmlhttpRequest({ method: "GET", url: "http://szs.looki.de/landinfo.php?id="+laender[i][0], onload: function(response) { var id = response.finalUrl.replace(/\D*/, ''); if(document.getElementById('land_'+id)) { var anfang = response.responseText.indexOf('Diese Dinge stehen auf deinem Land:'); var ende = response.responseText.indexOf('Diese Dinge kannst du bauen:'); var html = response.responseText.slice(anfang, ende); var landinfos = new Array(); landinfos['Bauplatzvorbereitung'] = 0; landinfos['HolzhauDing'] = 0; landinfos['SteinhauDingens'] = 0; landinfos['KöhlerDingens'] = 0; landinfos['Mine'] = 0; landinfos['ZinnDing'] = 0; landinfos['BronzeDing'] = 0; landinfos['SchamanenDingensDa'] = 0; landinfos['Waffenbauplatz'] = 0; landinfos['Werkzeugbauplatz'] = 0; var dinge = html.split(''); for(i=1; i\s*([A-Za-zö]*)\s*<\/td>/); var ding = RegExp.$1; dinge[i].search(/(\d+)/); var stufe = RegExp.$1; landinfos[ding] = stufe; } response.responseText.search(/Holz:\s*(\-?\d*)
\s*Stein:\s*(\-?\d*)
\s*Kupfer:\s*(\-?\d*)
\s*Zinn:\s*(\-?\d*)
/); var holz = parseInt(RegExp.$1, 10); var stein = parseInt(RegExp.$2, 10); var kupfer = parseInt(RegExp.$3, 10); var zinn = parseInt(RegExp.$4, 10); var str_landinfo = ''; if(landinfos['Bauplatzvorbereitung'] == 0) { str_landinfo += '
'; } else { var dinge = new Array('HolzhauDing', 'SteinhauDingens', 'KöhlerDingens', 'Mine', 'ZinnDing', 'BronzeDing', 'SchamanenDingensDa', 'Waffenbauplatz', 'Werkzeugbauplatz'); var maxAusbaustufe = new Array(); maxAusbaustufe['HolzhauDing'] = 4; maxAusbaustufe['SteinhauDingens'] = 4; maxAusbaustufe['KöhlerDingens'] = 1; maxAusbaustufe['Mine'] = 1; maxAusbaustufe['ZinnDing'] = 1; maxAusbaustufe['BronzeDing'] = 1; maxAusbaustufe['SchamanenDingensDa'] = 5; maxAusbaustufe['Waffenbauplatz'] = 10; maxAusbaustufe['Werkzeugbauplatz'] = 5; for(i=0; i'; } } anfang = response.responseText.indexOf('Auf diesem Land stehen im Moment diese Spieler:'); ende = response.responseText.indexOf(''); html = response.responseText.slice(anfang, ende); html = html.split(' 1) { var str_spielerinfo = ''; document.getElementById('land_'+id).getElementsByTagName('td')[0].setAttribute('rowspan', 2); document.getElementById('land_'+id).getElementsByTagName('td')[1].setAttribute('rowspan', 2); document.getElementById('spieler_'+id).innerHTML = str_spielerinfo; document.getElementById('spieler_'+id).removeAttribute('style'); } str_landinfo += ''+number_format(holz)+''; str_landinfo += ''+number_format(stein)+''; str_landinfo += ''+number_format(kupfer)+''; str_landinfo += ''+number_format(zinn)+''; document.getElementById('land_'+id).getElementsByTagName('td')[2].outerHTML = str_landinfo; gesamtHolz += holz; gesamtStein += stein; gesamtKupfer += kupfer; gesamtZinn += zinn; if(document.getElementById('gesamtHolz')) document.getElementById('gesamtHolz').innerHTML = number_format(gesamtHolz); if(document.getElementById('gesamtStein')) document.getElementById('gesamtStein').innerHTML = number_format(gesamtStein); if(document.getElementById('gesamtKupfer')) document.getElementById('gesamtKupfer').innerHTML = number_format(gesamtKupfer); if(document.getElementById('gesamtZinn')) document.getElementById('gesamtZinn').innerHTML = number_format(gesamtZinn); } } }); } configLandControlFormInner += '
X/YEntf.HolzSteinKupferZinn
X/YEntf.Tr.Wa.We.
'+laender[i][1]+'/'+laender[i][2]+''+((laender[i][3] == 0)? '-' : (laender[i][3]))+'Daten werden geladen
'+laender[i][1]+'/'+laender[i][2]+''+((laender[i][3] == 0)? '-' : (laender[i][3]))+'
keine BauplatzvorbereitungSpieler: '; for(i=1; i(.*)<\/a>/) != -1) { if(str_spielerinfo.indexOf('userinfo') != -1) { str_spielerinfo += ', '; } str_spielerinfo += ''+RegExp.$2+''; } } str_spielerinfo += '
'; newContent += 'Σ
'; newContent += ''; newContent += '


Landüberwachung



Trage hier den Rohstoffwert ein, ab dem du gewarnt werden möchtest.
Der Menueintrag "Land" und der entsprechende Wert in der Tabelle oben werden eingefärbt.
Lasse ein Feld leer, wenn du keine Warnung erhalten möchtest.

'; newContent += '
Auswahl anzeigen


Farbe:rot orange gelb

'; content.innerHTML = content.innerHTML.replace(/
\s*Dein\(e\) Landstück\(e\):.*/, newContent); document.getElementById('toggle_landueberwachung').addEventListener('click', toggleElement, false); document.getElementById('configLandControl').addEventListener('submit', function() { var laender = document.getElementById('configLandControl').getElementsByTagName('tr'); var laender_str = '#'; for(var i=1; i0; i--) { var data_entrys = GM_getValue("GBEntrys", "0#"); data_entrys = (data_entrys == '')? '0#': data_entrys; entrys[i].getElementsByTagName('td')[0].innerHTML.search(/eintragid=(\d+)/); var entryid = parseInt(RegExp.$1, 10); if(data_entrys.indexOf('#'+entryid+'#') == -1) { entrys[i].getElementsByTagName('td')[1].setAttribute('bgcolor', '#3468a8'); data_entrys += entryid+'#'; } var isPageOne = (document.getElementById('content').getElementsByTagName('div')[1].getElementsByTagName('b')[0].textContent.trim() == '1')? true : false; entrys[i].getElementsByTagName('td')[0].textContent.search(/(\d+)\.(\d+)\.(\d+) - (\d+):(\d+)/); var entryDate = new Date(RegExp.$3, parseInt(RegExp.$2, 10)-1, parseInt(RegExp.$1, 10), parseInt(RegExp.$4, 10), parseInt(RegExp.$5, 10), 0); var lastGBEntry = parseInt(data_entrys.split('#')[0], 10); if(lastGBEntry < entryDate.getTime() && isPageOne) { data_entrys = data_entrys.replace(/^\d+#/, entryDate.getTime().toString()+'#'); } GM_setValue("GBEntrys", data_entrys); } } if(Assi_Gaestebucheintrag) { GM_xmlhttpRequest({ method: "GET", url: "http://szs.looki.de/gbuch.php", onload: function(response) { var anfang = response.responseText.indexOf(''); var ende = response.responseText.indexOf(''); if(anfang != -1 && ende != -1) { var html = response.responseText.slice(anfang, ende); var entrys = html.split(''); html = entrys[1]; anfang = html.indexOf(''); ende = html.indexOf('löschen'); html = html.slice(anfang+6, ende).trim(); html.search(/(\d+)\.(\d+)\.(\d+) - (\d+):(\d+)/); var lastGBDate = new Date(RegExp.$3, parseInt(RegExp.$2, 10)-1, parseInt(RegExp.$1, 10), parseInt(RegExp.$4, 10), parseInt(RegExp.$5, 10), 0); var data_entrys = GM_getValue("GBEntrys", "0#"); data_entrys = (data_entrys == '')? '0#': data_entrys; var lastGBEntry = parseInt(data_entrys.split('#')[0], 10); if(parseInt(lastGBEntry, 10) < lastGBDate.getTime()) { if(document.getElementById('guestbook')) document.getElementById('guestbook').setAttribute('class', 'menu yellow'); } } } }); } // Schlafen if(document.URL.indexOf('/schlafen.php') != -1) { // Automatisches einschlafen bzw. aufwachen, je nach vorhandenem Link if(content.textContent.indexOf('[jetzt schlafen legen]') != -1) { window.location.href = 'http://szs.looki.de/schlafen.php?aktion=schlafen'; } else if(content.textContent.indexOf('[aufwachen]') != -1) { window.location.href = 'http://szs.looki.de/schlafen.php?aktion=aufwachen'; } } // Markt if(document.URL.indexOf('/markt.php') != -1) { if(document.URL.indexOf('markt.php') != -1 && content.textContent.indexOf('Du bist im Moment unterwegs.') == -1) { // Marktnavigation einfügen var marktnavi = document.createElement('div'); marktnavi.innerHTML = '
Marktnavigation:
- Gegenstände: Waffen | Ringe | Tränke | Werkzeuge | Länder
- Rohstoffe: Wasser | Holz | Stein | Kohle | Kupfer | Zinn | Bronze | Alle


'; content.insertBefore(marktnavi, content.getElementsByTagName('table')[0].nextSibling); } if(document.URL.indexOf('do=rohstoffe&rohausw=') != -1 && content.textContent.indexOf('Du bist im Moment unterwegs.') == -1) { var angebote = 4; if(content.textContent.indexOf('Da dein Steini gerade beschäftigt ist, kannst du weder etwas auf den Markt stellen, noch etwas kaufen.') == -1) { angebote = 12; // Standardverkaufsmengen var ressis = new Array('Wasser', 'Holz', 'Steine', 'Kohle', 'Kupfer', 'Zinn', 'Bronze'); for(i=0; i 0) { if(Assi_MarktVerkaufsmenge[ressis[i]] < ressis_gesamt[ressis[i]]) { document.getElementsByName('menge'+ressis[i].toLowerCase())[0].value = Assi_MarktVerkaufsmenge[ressis[i]]; } else { document.getElementsByName('menge'+ressis[i].toLowerCase())[0].value = ressis_gesamt[ressis[i]]; } } else if(Assi_MarktVerkaufsmenge[ressis[i]] <= 0) { if(ressis_gesamt[ressis[i]]+Assi_MarktVerkaufsmenge[ressis[i]] > 0) { document.getElementsByName('menge'+ressis[i].toLowerCase())[0].value = ressis_gesamt[ressis[i]]+Assi_MarktVerkaufsmenge[ressis[i]]; } else { document.getElementsByName('menge'+ressis[i].toLowerCase())[0].value = 0 } } // Standardverkaufspreise if(Assi_MarktVerkaufspreis[ressis[i]] != "") { document.getElementsByName('preis'+ressis[i].toLowerCase())[0].value = Assi_MarktVerkaufspreis[ressis[i]]; } } } // Preise hervorheben if(content.textContent.indexOf('Du befindest dich auf dem steinzeitlichen Rohstoffmarkt.') != -1 && content.getElementsByTagName('table')[angebote]) { var angebote = content.getElementsByTagName('table')[angebote].getElementsByTagName('tr'); if(Assi_Preishervorhebung == 'dynamisch') { // Hervorhebung: dynamisch if(parseInt(angebote[1].getElementsByTagName('td')[2].textContent, 10) < parseInt(angebote[2].getElementsByTagName('td')[2].textContent, 10)) { angebote[1].setAttribute('class', 'good'); i = 2; } else if(parseInt(angebote[1].getElementsByTagName('td')[2].textContent, 10) == parseInt(angebote[2].getElementsByTagName('td')[2].textContent, 10) && parseInt(angebote[2].getElementsByTagName('td')[2].textContent, 10) < parseInt(angebote[3].getElementsByTagName('td')[2].textContent, 10)) { angebote[1].setAttribute('class', 'good'); angebote[2].setAttribute('class', 'good'); i = 3; } else { i = 1; } for(j=i; j'); var html = response.responseText.slice(anfang, ende); anfang = html.indexOf(''); var angebote = html.slice(anfang, ende+8).split(''); if(angebote.length > 2) { var ausgabe = '
'; if(Assi_Preishervorhebung == 'dynamisch') { // Hervorhebung: dynamisch if(parseInt(angebote[2].split(/<\/td>\s*'+angebote[2]; j = 3; } else if(parseInt(angebote[2].split(/<\/td>\s*'+angebote[2]; ausgabe += ''+angebote[3]; j = 4; } else { j = 2; } for(k=j; k\s*'+angebote[k]; } else { ausgabe += ''+angebote[k]; } } } else { // Hervorhebung: "eigene Preise" for(j=2; j\s*'+angebote[j]; } else { ausgabe += ''+angebote[j]; } } } ausgabe += '
vonRohstoffPreis / StückAnzahlKaufen
/)[2].trim(), 10) < parseInt(angebote[3].split(/<\/td>\s*/)[2].trim(), 10)) { ausgabe += '
/)[2].trim(), 10) == parseInt(angebote[3].split(/<\/td>\s*/)[2].trim(), 10) && parseInt(angebote[3].split(/<\/td>\s*/)[2].trim(), 10) < parseInt(angebote[4].split(/<\/td>\s*/)[2].trim(), 10)) { ausgabe += '
/)[2].trim(), 10) < parseInt(angebote[k].split(/<\/td>\s*/)[2].trim(), 10)) { ausgabe += '
/); var rohstoff = temp[1].trim(); var preis = parseInt(temp[2].trim(), 10); if(preis < parseInt(Assi_MarktPreis[rohstoff], 10)) { ausgabe += '
'; } else { var ausgabe = 'Keine Angebote vorhanden!
'; } if(document.getElementById('markt-'+id)) document.getElementById('markt-'+id).innerHTML = ausgabe; } } }); } } } else if(document.URL.indexOf('do=kaufen') != -1 && document.getElementsByName('amount')[0]) { i = (isPremiumSpieler)? 1 : 0; var gold = parseInt(menuRight.getElementsByTagName('table')[1+i].getElementsByTagName('td')[7].textContent.trim().replace(/\./g, ''), 10); content.getElementsByTagName('b')[1].textContent.search(/(\S+) für\s*(\d*) Gold/); var rohstoff = RegExp.$1; var preis = RegExp.$2; content.textContent.search(/maximal (\d*) Stück/); var menge = RegExp.$1; if(gold/preis < menge) { content.innerHTML += '
Du besitzt '+number_format(gold)+' Gold und kannst daher maximal '+number_format(parseInt(gold/preis, 10))+' '+rohstoff+' kaufen.' } document.getElementsByName('amount')[0].focus(); } } // Übertragen if(document.URL.indexOf('/uebertragen.php') != -1 && content.textContent.indexOf('Hier kannst du anderen Spielern Rohstoffe übertragen') != -1) { var an = getURLParameter('an'); if(an != null && an != '') document.getElementsByName('an')[0].value = an; var nahrung = parseInt(getURLParameter('nahrung'), 10); if(!(nahrung <= 0 || isNaN(nahrung))) document.getElementsByName('nahrung')[0].value = nahrung; var wasser = parseInt(getURLParameter('wasser'), 10); if(!(wasser <= 0 || isNaN(wasser))) document.getElementsByName('wasser')[0].value = wasser; var gold = parseInt(getURLParameter('gold'), 10); if(!(gold <= 0 || isNaN(gold))) document.getElementsByName('geld')[0].value = gold; var geld = parseInt(getURLParameter('geld'), 10); if(!(geld <= 0 || isNaN(geld))) document.getElementsByName('geld')[0].value = geld; var holz = parseInt(getURLParameter('holz'), 10); if(!(holz <= 0 || isNaN(holz))) document.getElementsByName('holz')[0].value = holz; var stein = parseInt(getURLParameter('stein'), 10); if(!(stein <= 0 || isNaN(stein))) document.getElementsByName('stein')[0].value = stein; var kohle = parseInt(getURLParameter('kohle'), 10); if(!(kohle <= 0 || isNaN(kohle))) document.getElementsByName('kohle')[0].value = kohle; var kupfer = parseInt(getURLParameter('kupfer'), 10); if(!(kupfer <= 0 || isNaN(kupfer))) document.getElementsByName('kupfer')[0].value = kupfer; var zinn = parseInt(getURLParameter('zinn'), 10); if(!(zinn <= 0 || isNaN(zinn))) document.getElementsByName('zinn')[0].value = zinn; var bronze = parseInt(getURLParameter('bronze'), 10); if(!(bronze <= 0 || isNaN(bronze))) document.getElementsByName('bronze')[0].value = bronze; var klheil = parseInt(getURLParameter('klheil'), 10); if(!(klheil <= 0 || isNaN(klheil))) document.getElementsByName('klheil')[0].value = klheil; var mtheil = parseInt(getURLParameter('mtheil'), 10); if(!(mtheil <= 0 || isNaN(mtheil))) document.getElementsByName('mtheil')[0].value = mtheil; var stheil = parseInt(getURLParameter('stheil'), 10); if(!(stheil <= 0 || isNaN(stheil))) document.getElementsByName('stheil')[0].value = stheil; var wach = parseInt(getURLParameter('wach'), 10); if(!(wach <= 0 || isNaN(wach))) document.getElementsByName('wach')[0].value = wach; var stwach = parseInt(getURLParameter('stwach'), 10); if(!(stwach <= 0 || isNaN(stwach))) document.getElementsByName('stwach')[0].value = stwach; var holzt = parseInt(getURLParameter('holzt'), 10); if(!(holzt <= 0 || isNaN(holzt))) document.getElementsByName('holzt')[0].value = holzt; var kupfert = parseInt(getURLParameter('kupfert'), 10); if(!(kupfert <= 0 || isNaN(kupfert))) document.getElementsByName('kupfert')[0].value = kupfert; var zinnt = parseInt(getURLParameter('zinnt'), 10); if(!(zinnt <= 0 || isNaN(zinnt))) document.getElementsByName('zinnt')[0].value = zinnt; var steint = parseInt(getURLParameter('steint'), 10); if(!(steint <= 0 || isNaN(steint))) document.getElementsByName('steint')[0].value = steint; } // Lager if(document.URL.indexOf('/stamm.php?do=lager') != -1 && content.textContent.indexOf('Hier kannst du Rohstoffe von dir in das Stammlager schieben, aber auch Rohstoffe entnehmen.') != -1) { // Links zum Rohstoffe übertragen var lagerlogs = content.getElementsByTagName('table')[4].getElementsByTagName('tr'); lagerlogs[0].innerHTML += ''; for(i=1; i')[0].trim(); if(lagerlogs[i].textContent.indexOf('in das Lager verfrachtet.') != -1 && (Assi_UserName == username || Assi_Lagerauszahlungen == "alle" || (Assi_Lagerauszahlungen == "andere" && (','+Assi_LagerauszahlungenNicks+',').indexOf(','+username+',') != -1))) { var texts = lagerlogs[i].getElementsByTagName('font')[0].innerHTML.split('
'); var sURL = 'http://szs.looki.de/uebertragen.php?anrohstoffe='+username; var inputParam = ''; for(j=1; j/, ''+username+'
'); // Checkboxen zum Rohstoffe auszahlen lagerlogs[i].getElementsByTagName('td')[2].innerHTML += ''; document.getElementById('take['+i+']').addEventListener('change', function() { var nahrung = parseInt(document.getElementsByName('menge_nahrung')[1].value, 10); var nahrung2 = parseInt(this.getAttribute('nahrung'), 10); if(nahrung < 0 || isNaN(nahrung)) nahrung = 0; if(nahrung2 < 0 || isNaN(nahrung2)) nahrung2 = 0; var wasser = parseInt(document.getElementsByName('menge_wasser')[1].value, 10); var wasser2 = parseInt(this.getAttribute('wasser'), 10); if(wasser < 0 || isNaN(wasser)) wasser = 0; if(wasser2 < 0 || isNaN(wasser2)) wasser2 = 0; var gold = parseInt(document.getElementsByName('menge_geld')[1].value, 10); var gold2 = parseInt(this.getAttribute('gold'), 10); if(gold < 0 || isNaN(gold)) gold = 0; if(gold2 < 0 || isNaN(gold2)) gold2 = 0; var holz = parseInt(document.getElementsByName('menge_holz')[1].value, 10); var holz2 = parseInt(this.getAttribute('holz'), 10); if(holz < 0 || isNaN(holz)) holz = 0; if(holz2 < 0 || isNaN(holz2)) holz2 = 0; var stein = parseInt(document.getElementsByName('menge_stein')[1].value, 10); var stein2 = parseInt(this.getAttribute('stein'), 10); if(stein < 0 || isNaN(stein)) stein = 0; if(stein2 < 0 || isNaN(stein2)) stein2 = 0; var kohle = parseInt(document.getElementsByName('menge_kohle')[1].value, 10); var kohle2 = parseInt(this.getAttribute('kohle'), 10); if(kohle < 0 || isNaN(kohle)) kohle = 0; if(kohle2 < 0 || isNaN(kohle2)) kohle2 = 0; var kupfer = parseInt(document.getElementsByName('menge_kupfer')[1].value, 10); var kupfer2 = parseInt(this.getAttribute('kupfer'), 10); if(kupfer < 0 || isNaN(kupfer)) kupfer = 0; if(kupfer2 < 0 || isNaN(kupfer2)) kupfer2 = 0; var zinn = parseInt(document.getElementsByName('menge_zinn')[1].value, 10); var zinn2 = parseInt(this.getAttribute('zinn'), 10); if(zinn < 0 || isNaN(zinn)) zinn = 0; if(zinn2 < 0 || isNaN(zinn2)) zinn2 = 0; var bronze = parseInt(document.getElementsByName('menge_bronze')[1].value, 10); var bronze2 = parseInt(this.getAttribute('bronze'), 10); if(bronze < 0 || isNaN(bronze)) bronze = 0; if(bronze2 < 0 || isNaN(bronze2)) bronze2 = 0; if(this.checked) { document.getElementsByName('menge_nahrung')[1].value = nahrung+nahrung2; document.getElementsByName('menge_wasser')[1].value = wasser+wasser2; document.getElementsByName('menge_geld')[1].value = gold+gold2; document.getElementsByName('menge_holz')[1].value = holz+holz2; document.getElementsByName('menge_stein')[1].value = stein+stein2; document.getElementsByName('menge_kohle')[1].value = kohle+kohle2; document.getElementsByName('menge_kupfer')[1].value = kupfer+kupfer2; document.getElementsByName('menge_zinn')[1].value = zinn+zinn2; document.getElementsByName('menge_bronze')[1].value = bronze+bronze2; } else { document.getElementsByName('menge_nahrung')[1].value = nahrung-nahrung2; document.getElementsByName('menge_wasser')[1].value = wasser-wasser2; document.getElementsByName('menge_geld')[1].value = gold-gold2; document.getElementsByName('menge_holz')[1].value = holz-holz2; document.getElementsByName('menge_stein')[1].value = stein-stein2; document.getElementsByName('menge_kohle')[1].value = kohle-kohle2; document.getElementsByName('menge_kupfer')[1].value = kupfer-kupfer2; document.getElementsByName('menge_zinn')[1].value = zinn-zinn2; document.getElementsByName('menge_bronze')[1].value = bronze-bronze2; } }, false); } } } // Talkampf if(document.URL.indexOf('/grtal.php') != -1) { // Beschreibung anpassen var tkBeschreibung = content.innerHTML.replace(/12:00/, tkEnde+':00').replace(/10:00/g, tkStart+':00'); if(tkBeschreibung.indexOf('Anmeldung zum Talkampf erst ab 12:05 möglich.') != -1 || tkBeschreibung.indexOf('Hier kannst du dich zum Talkampf eintragen.') != -1) { tkBeschreibung += '
TIPP:
Wenn du dich zw. 12:05 Uhr und '+tkEnde+' Uhr anmeldest, nimmst du am Talkampf teil und kannst nebenbei noch arbeiten, jagen, o.a.
'; } content.innerHTML = tkBeschreibung; // Teilnahme speichern if(tkBeschreibung.indexOf('Du bist für die Kämpfe im Tal angemeldet.') != -1) { tkTeilnahme = talkampfDate.getTime().toString(); GM_setValue("TKTeilnahme", tkTeilnahme); } } if(document.URL.indexOf('/grtal.php?teil=true') != -1 && content.textContent.indexOf('Dafür hast du leider zu wenig Rohstoffe.') == -1) { // Teilnahme speichern tkTeilnahme = talkampfDate.getTime().toString(); GM_setValue("TKTeilnahme", tkTeilnahme); } // Stammkampf if(document.URL.indexOf('/stamm.php?do=kampfuserauswahl') != -1) { if(content.textContent.indexOf('Ihr habt noch keinen Stamm herausgefordert bzw. seid herausgefordert worden.') != -1) { window.location.href = 'http://szs.looki.de/stamm.php?do=kampfsuche'; } else if(content.textContent.indexOf('Du bist unterwegs.') == -1 && content.textContent.indexOf('Der Kampf läuft schon.') == -1) { var stammWaffen = GM_getValue("StammWaffen", ""); // EPs + Waffen var gesamtTeilnehmer = 0; var gesamtEPs = 0; var teilnehmer = content.getElementsByTagName('table')[1].getElementsByTagName('tr'); teilnehmer[0].innerHTML = teilnehmer[0].innerHTML+'Waffen'; var strStammkampfTeilnehmer = servertimeDate.getTime().toString()+'#'; for(i=1; i'+waffe+''; } else { teilnehmer[i].innerHTML = teilnehmer[i].innerHTML+''; } } teilnehmer[0].getElementsByTagName('td')[0].innerHTML = 'Name ('+gesamtTeilnehmer+')'; teilnehmer[0].getElementsByTagName('td')[1].innerHTML = 'Erfahrung ('+number_format(parseFloat(gesamtEPs))+')'; teilnehmer[0].getElementsByTagName('td')[2].innerHTML = 'Optionen'; teilnehmer[0].getElementsByTagName('td')[3].innerHTML = 'in der Hand*'; GM_setValue("StammkampfTeilnehmer", strStammkampfTeilnehmer); // Rohstoffsicherung var nahrung = ressis_gesamt['Nahrung']-Assi_NahrungRest; if(nahrung < 0 || isNaN(nahrung)) nahrung = 0; if(Assi_NahrungRund > 0) { nahrung -= nahrung%Assi_NahrungRund; } var gold = ressis_gesamt['Gold']-Assi_GoldRest; if(gold < 0 || isNaN(gold)) gold = 0; if(Assi_GoldRund > 0) { gold -= gold%Assi_GoldRund; } var holz = ressis_gesamt['Holz']-Assi_HolzRest; if(holz < 0 || isNaN(holz)) holz = 0; var stein = ressis_gesamt['Steine']-Assi_SteinRest; if(stein < 0 || isNaN(stein)) stein = 0; content.innerHTML += '

Ressis sichern:

'; var input = document.createElement('input'); input.setAttribute('id', 'saveNahrungGoldButton'); input.setAttribute('type', 'button'); input.setAttribute('class', 'pointer save'); input.setAttribute('value', 'Nahrung & Gold ins Lager'); input.setAttribute('nahrung', nahrung); input.setAttribute('gold', gold); input.setAttribute('title', number_format(nahrung, 0, ',', '.')+' Nahrung & '+number_format(gold, 0, ',', '.')+' Gold'); input.addEventListener('click', function() { var nahrung = parseInt(this.getAttribute('nahrung'), 10); var gold = parseInt(this.getAttribute('gold'), 10); GM_xmlhttpRequest({ method: "POST", url: "http://szs.looki.de/stamm.php", data: "do=lager_anbiet&menge_nahrung="+nahrung+"&menge_geld="+gold+"&art=anbieten", headers: { "Content-Type": "application/x-www-form-urlencoded" }, onload: function(response) { var anfang = response.responseText.indexOf(''); var ende = response.responseText.indexOf('')+20; var html = response.responseText.slice(anfang, ende); anfang = html.indexOf('')+12; ende = html.length-20; html = html.slice(anfang, ende).trim(); if(html == 'Deine ausgewählten Rohstoffe liegen jetzt im Stammlager.') { alert(number_format(nahrung)+' Nahrung und '+number_format(gold)+' Gold in das Lager verfrachtet.'); } else { alert('Fehler:\n\n'+html+'\n\nNahrung: '+nahrung+'\nGold: '+gold); } } }); }); content.appendChild(input); var input = document.createElement('input'); input.setAttribute('id', 'saveHolzButton'); input.setAttribute('type', 'button'); input.setAttribute('class', 'pointer save'); input.setAttribute('value', 'Holz auf den Markt'); input.setAttribute('holz', holz); input.setAttribute('title', number_format(holz, 0, ',', '.')+' Holz') input.addEventListener('click', function() { var holz = parseInt(this.getAttribute('holz'), 10); GM_xmlhttpRequest({ method: "POST", url: "http://szs.looki.de/markt.php", data: "do=rohverkauf&mengeholz="+holz+"&preisholz="+Assi_HolzPreis+"&art=Holz+anbieten", headers: { "Content-Type": "application/x-www-form-urlencoded" }, onload: function(response) { var anfang = response.responseText.indexOf(''); var ende = response.responseText.indexOf('')+20; var html = response.responseText.slice(anfang, ende); anfang = html.indexOf('')+12; ende = html.length-20; html = html.slice(anfang, ende).trim(); if(html == 'Dein Rohstoff wird jetzt auf dem Markt angeboten.') { alert(number_format(holz)+' Holz zum Preis von '+number_format(Assi_HolzPreis)+' Gold auf den Markt gestellt.'); } else { alert('Fehler:\n\n'+html+'\n\nHolz: '+holz+'\nHolzpreis: '+Assi_HolzPreis); } } }); }); content.appendChild(input); var input = document.createElement('input'); input.setAttribute('id', 'saveSteinButton'); input.setAttribute('type', 'button'); input.setAttribute('class', 'pointer save'); input.setAttribute('value', 'Steine auf den Markt'); input.setAttribute('stein', stein); input.setAttribute('title', number_format(stein, 0, ',', '.')+' Steine') input.addEventListener('click', function() { var stein = parseInt(this.getAttribute('stein'), 10); GM_xmlhttpRequest({ method: "POST", url: "http://szs.looki.de/markt.php", data: "do=rohverkauf&mengesteine="+stein+"&preissteine="+Assi_SteinPreis+"&art=Stein+anbieten", headers: { "Content-Type": "application/x-www-form-urlencoded" }, onload: function(response) { var anfang = response.responseText.indexOf(''); var ende = response.responseText.indexOf('')+20; var html = response.responseText.slice(anfang, ende); anfang = html.indexOf('')+12; ende = html.length-20; html = html.slice(anfang, ende).trim(); if(html == 'Dein Rohstoff wird jetzt auf dem Markt angeboten.') { alert(number_format(stein)+' Steine zum Preis von '+number_format(Assi_SteinPreis)+' Gold auf den Markt gestellt.'); } else { alert('Fehler:\n\n'+html+'\n\nSteine: '+stein+'\nSteinpreis: '+Assi_SteinPreis); } } }); }); content.appendChild(input); // Hinweis ausgeben var hinweisDIV = document.createElement('div'); hinweisDIV.setAttribute('class', 'yellow'); hinweisDIV.innerHTML = '

* Hinweis:
Daten zuletzt aktualisiert vor '; var stammWaffenDate = new Date(parseInt(stammWaffen.split('#')[0], 10)); var count = Math.floor(servertimeDate.getTime()/1000)-Math.floor(stammWaffenDate.getTime()/1000); var seconds = count%60; count = Math.floor(count/60); var minutes = count%60; count = Math.floor(count/60); var hours = count%24; if(hours > 0) { hinweisDIV.innerHTML += hours+':'+format2(minutes)+':'+format2(seconds)+' Std'; } else if(minutes > 0) { hinweisDIV.innerHTML += minutes+':'+format2(seconds)+' Min'; } else { hinweisDIV.innerHTML += seconds+' Sek'; } hinweisDIV.innerHTML += ' ('+format2(stammWaffenDate.getDate())+'.'+format2(stammWaffenDate.getMonth()+1)+'.'+stammWaffenDate.getFullYear()+' - '+format2(stammWaffenDate.getHours())+':'+format2(stammWaffenDate.getMinutes())+':'+format2(stammWaffenDate.getSeconds())+' Uhr)
'; hinweisDIV.innerHTML += '-> via StammÜbersicht aktualisieren
'; content.appendChild(hinweisDIV); } } else if(document.URL.indexOf('/stamm.php?do=kampfsuche') && content.textContent.indexOf('Ihr habt schon einen Stamm herausgefordert bzw. wurdet herausgefordert.') != -1) { window.location.href = 'http://szs.looki.de/stamm.php?do=kampfuserauswahl'; } if(document.URL.indexOf('/stamm.php?do=kampfteilnehmen') != -1) { // Teilnahme speichern skTeilnahme = nextSK.split(',')[0]; GM_setValue("SKTeilnahme", skTeilnahme); } if(document.URL.indexOf('/stamm.php?do=nichtteil') != -1) { // Teilnahme löschen GM_deleteValue("SKTeilnahme"); } // Magierkampf if(document.URL.indexOf('/stamm.magierkampf.php') != -1 && content.textContent.indexOf('Du bist jetzt') == -1 && content.textContent.indexOf('Derzeit laufen die Magierkämpfe.') == -1 && content.textContent.indexOf('Du hast nicht genügend Gold um dich zum Magierkampf anzumelden!') == -1 && document.URL.indexOf('action=update') == -1) { // Beschreibung anpassen content.innerHTML = content.innerHTML.replace('18:00', mkEnde+':00').replace('16:00', mkStart+':00'); content.innerHTML = content.innerHTML.replace('Teilnehmer:', ''); // Teilnehmer speichern + Waffen hinzufügen var strMagierkampfTeilnehmer = servertimeDate.getTime().toString()+'#'; if(content.getElementsByTagName('table')[1]) { var stammWaffen = GM_getValue("StammWaffen", ""); var gesamtTeilnehmer = 0; content.getElementsByTagName('table')[1].setAttribute('border', '1'); var teilnehmer = content.getElementsByTagName('table')[1].getElementsByTagName('tr'); for(i=0; i'; } if(stammWaffen.indexOf(nick) != -1) { var waffe = stammWaffen; waffe = waffe.slice(waffe.indexOf(nick)); waffe = waffe.slice(waffe.indexOf(',')+1); waffe = waffe.slice(0, waffe.indexOf('#')); teilnehmer[i].innerHTML = teilnehmer[i].innerHTML+''+waffe+''; } else { teilnehmer[i].innerHTML = teilnehmer[i].innerHTML+''; } } var headTD = document.createElement('tr'); headTD.innerHTML = 'Teilnehmer ('+gesamtTeilnehmer+')Optionenin der Hand*'; teilnehmer[0].parentNode.insertBefore(headTD, teilnehmer[0]); } GM_setValue("MagierkampfTeilnehmer", strMagierkampfTeilnehmer); var stammWaffenDate = new Date(parseInt(stammWaffen.split('#')[0], 10)); var hinweis = '

* Hinweis:
Daten zuletzt aktualisiert vor '; var count = Math.floor(servertimeDate.getTime()/1000)-Math.floor(stammWaffenDate.getTime()/1000); var seconds = count%60; count = Math.floor(count/60); var minutes = count%60; count = Math.floor(count/60); var hours = count%24; if(hours > 0) { hinweis += hours+':'+format2(minutes)+':'+format2(seconds)+' Std'; } else if(minutes > 0) { hinweis += minutes+':'+format2(seconds)+' Min'; } else { hinweis += seconds+' Sek'; } hinweis += ' ('+format2(stammWaffenDate.getDate())+'.'+format2(stammWaffenDate.getMonth()+1)+'.'+stammWaffenDate.getFullYear()+' - '+format2(stammWaffenDate.getHours())+':'+format2(stammWaffenDate.getMinutes())+':'+format2(stammWaffenDate.getSeconds())+' Uhr)
'; hinweis += '-> via StammÜbersicht aktualisieren

'; content.innerHTML += hinweis; // Teilnahme speichern if(document.URL.indexOf('stamm.magierkampf.php?action=anmelden') != -1 || content.textContent.indexOf('vom Magierkampf austragen') != -1) { mkTeilnahme = magierkampfDate.getTime().toString(); GM_setValue("MKTeilnahme", mkTeilnahme); } } // Stammübersicht if(document.URL.indexOf('/stamm.php?do=uebersicht') != -1) { var stammkampfTeilnehmer = GM_getValue("StammkampfTeilnehmer", ""); var magierkampfTeilnehmer = GM_getValue("MagierkampfTeilnehmer", ""); // SK-Datum speichern if(content.textContent.indexOf('Nächster Kampf: kein Kampf') == -1) { content.textContent.search(/Nächster Kampf: (\d+)\.(\d+)\.(\d+) \- (\d+):(\d+)/); var skStartDate = new Date(RegExp.$3, parseInt(RegExp.$2, 10)-1, parseInt(RegExp.$1, 10), parseInt(RegExp.$4, 10), parseInt(RegExp.$5, 10), 0); i=0; while(content.getElementsByTagName('a')[i].getAttribute('href').indexOf('stamminfo.php?stammid=') == -1) { i++; } var skGegner = content.getElementsByTagName('a')[i].textContent.trim(); content.getElementsByTagName('a')[i].getAttribute('href').search(/stammid=(\d*)/); var newSPAN = document.createElement('span'); newSPAN.innerHTML = ' ( EP)'; content.insertBefore(newSPAN, content.getElementsByTagName('a')[i].nextSibling); getClanEPByClanId(RegExp.$1, 'ep_skGegner'); } else { content.innerHTML = content.innerHTML.replace(/Nächster Kampf: kein Kampf/, 'Nächster Kampf: kein Kampf [Gegnersuche]'); } // EPs etc. var gesamtEPs = 0; var gesamtHolz = 0; var gesamtStein = 0; var gesamtGold = 0; var gesamtWasser = 0; var gesamtNahrung = 0; var gesamtOnline = 0; var skTeilnehmerEP = 0; var starvationCounter = 0; var gruender = 0; if(content.getElementsByTagName('table')[1].textContent.indexOf('Als Gründer kannst du hier das Passwort ändern:') != -1) gruender = 1; var mitglieder = content.getElementsByTagName('table')[1+gruender].getElementsByTagName('tr'); for(i=1; iName
'+gesamtMitglieder+'

' + '
EP
'+number_format(gesamtEPs)+'
'+number_format(gesamtEPs/gesamtMitglieder)+'
' + '
Holz
'+number_format(gesamtHolz)+'
'+number_format(gesamtHolz/gesamtMitglieder)+'
' + '
Stein
'+number_format(gesamtStein)+'
'+number_format(gesamtStein/gesamtMitglieder)+'
' + '
Gold
'+number_format(gesamtGold)+'
'+number_format(gesamtGold/gesamtMitglieder)+'
' + '
Wasser
'+number_format(gesamtWasser)+'
'+number_format(gesamtWasser/gesamtMitglieder)+'
' + '
Nahrung
'+number_format(gesamtNahrung)+'
'+number_format(gesamtNahrung/gesamtMitglieder)+'
'+((starvationCounter > 0)? '
'+starvationCounter+' (!)
' : '' )+'' + 'Status
'+number_format(gesamtOnline)+'

'; if(mitglieder.length-1 > 20) { // wenn >20 Mitglieder var newTR = document.createElement('tr'); newTR.setAttribute('bgcolor', mitglieder[mitglieder.length-2].getAttribute('bgcolor')); newTR.innerHTML = '#NameEPHolzSteinGoldWasserNahrungStatus'; mitglieder[0].parentNode.appendChild(newTR); } // SK+MK-Anmeldungen und StammWaffen für SK+MK var skTeilnehmerDate = new Date(parseInt(stammkampfTeilnehmer.split('#')[0], 10)); var mkTeilnehmerDate = new Date(parseInt(magierkampfTeilnehmer.split('#')[0], 10)); var isOldSK = (skStartDate && skStartDate.getTime()-86400000 >= skTeilnehmerDate.getTime()) ? true : false; // 86.400.000 = 1d var isOldMK = (magierkampfDate.getTime()-604800000 >= mkTeilnehmerDate.getTime()) ? true : false; // 604.800.000 = 7d var strStammWaffen = servertimeDate.getTime().toString()+'#'; mitglieder = content.getElementsByTagName('table')[2+gruender].getElementsByTagName('tr'); var skTeilnehmer = new Array(); var skTeilnehmerOhneWaffe = new Array(); var skNichtTeilnehmerOhneWaffeninfo = new Array(); var skNichtTeilnehmerMitWaffeninfo = new Array(); var skCountNichtTeilnehmerOhneWaffe = 0; var mkTeilnehmer = new Array(); var mkTeilnehmerOhneWaffe = new Array(); var mkNichtTeilnehmerOhneWaffeninfo = new Array(); var mkNichtTeilnehmerMitWaffeninfo = new Array(); var mkCountNichtTeilnehmerOhneWaffe = 0; for(i=1; i'+i+'
'; mitglieder[i].removeChild(mitglieder[i].getElementsByTagName('td')[8]); var skTD = document.createElement('td'); skTD.setAttribute('class', 'center'); if(!isOldSK) { if(stammkampfTeilnehmer.indexOf(nick) != -1) { skTD.innerHTML = '
'; skTeilnehmer.push(nick); if(waffe == '' || waffen.indexOf(waffe) == -1) { skTeilnehmerOhneWaffe.push(nick); } } else { skTD.innerHTML = '
'; skNichtTeilnehmerOhneWaffeninfo.push(nick); if(waffe == '' || waffen.indexOf(waffe) == -1) { skNichtTeilnehmerMitWaffeninfo.push(nick+"(*)"); skCountNichtTeilnehmerOhneWaffe++; } else { skNichtTeilnehmerMitWaffeninfo.push(nick); } } } mitglieder[i].insertBefore(skTD, mitglieder[i].getElementsByTagName('td')[4]); var mkTD = document.createElement('td'); mkTD.setAttribute('class', 'center'); if(!isOldMK) { if(magierkampfTeilnehmer.indexOf(nick) != -1) { mkTD.innerHTML = '
'; mkTeilnehmer.push(nick); if(waffe == '' || waffen.indexOf(waffe) == -1) { mkTeilnehmerOhneWaffe.push(nick); } } else { mkTD.innerHTML = '
'; mkNichtTeilnehmerOhneWaffeninfo.push(nick); if(waffe == '' || waffen.indexOf(waffe) == -1) { mkNichtTeilnehmerMitWaffeninfo.push(nick+"(*)"); mkCountNichtTeilnehmerOhneWaffe++; } else { mkNichtTeilnehmerMitWaffeninfo.push(nick); } } } mitglieder[i].insertBefore(mkTD, mitglieder[i].getElementsByTagName('td')[5]); strStammWaffen += nick+','+waffe+'#'; } GM_setValue("StammWaffen", strStammWaffen); mitglieder[0].innerHTML = '#NameBerufin der HandSK*MK*KickenLRGRFR'; if(mitglieder.length-1 > 20) { // wenn >20 Mitglieder var newTR = document.createElement('tr'); newTR.setAttribute('bgcolor', mitglieder[mitglieder.length-2].getAttribute('bgcolor')); newTR.innerHTML = '#NameBerufin der HandSK*MK*KickenLRGRFR'; mitglieder[0].parentNode.appendChild(newTR); } var hinweis = '

* Hinweis:
Teilnehmer-Daten zuletzt aktualisiert
'; hinweis += '- SK: '; if(isOldSK) { hinweis += 'Veraltet! Vom letzten SK!'; } else { var count = Math.floor(servertimeDate.getTime()/1000)-Math.floor(skTeilnehmerDate.getTime()/1000); var seconds = count%60; count = Math.floor(count/60); var minutes = count%60; count = Math.floor(count/60); var hours = count%24; if(hours > 0) { hinweis += hours+':'+format2(minutes)+':'+format2(seconds)+' Std'; } else if(minutes > 0) { hinweis += minutes+':'+format2(seconds)+' Min'; } else { hinweis += seconds+' Sek'; } hinweis += ' ('+format2(skTeilnehmerDate.getDate())+'.'+format2(skTeilnehmerDate.getMonth()+1)+'.'+skTeilnehmerDate.getFullYear()+' - '+format2(skTeilnehmerDate.getHours())+':'+format2(skTeilnehmerDate.getMinutes())+':'+format2(skTeilnehmerDate.getSeconds())+' Uhr)'; } hinweis += ' -> via Stammkampf aktualisieren
'; hinweis += '- MK: '; if(isOldMK) { hinweis += 'Veraltet! Vom letzten MK!'; } else { var count = Math.floor(servertimeDate.getTime()/1000)-Math.floor(mkTeilnehmerDate.getTime()/1000); var seconds = count%60; count = Math.floor(count/60); var minutes = count%60; count = Math.floor(count/60); var hours = count%24; if(hours > 0) { hinweis += hours+':'+format2(minutes)+':'+format2(seconds)+' Std'; } else if(minutes > 0) { hinweis += minutes+':'+format2(seconds)+' Min'; } else { hinweis += seconds+' Sek'; } hinweis += ' ('+format2(mkTeilnehmerDate.getDate())+'.'+format2(mkTeilnehmerDate.getMonth()+1)+'.'+mkTeilnehmerDate.getFullYear()+' - '+format2(mkTeilnehmerDate.getHours())+':'+format2(mkTeilnehmerDate.getMinutes())+':'+format2(mkTeilnehmerDate.getSeconds())+' Uhr)'; } hinweis += ' -> via Magierkampf aktualisieren


'; var skCopyOhneWaffenstand = ''; var skCopyMitWaffenstand = ''; if(skStartDate) { skCopyOhneWaffenstand = 'Stammkampf: '+format2(skStartDate.getDate())+'.'+format2(skStartDate.getMonth()+1)+'.'+skStartDate.getFullYear()+' - '+format2(skStartDate.getHours())+':'+format2(skStartDate.getMinutes())+' Uhr'; skCopyOhneWaffenstand += '\nGegner: '+skGegner; skCopyMitWaffenstand = skCopyOhneWaffenstand; if(isOldSK) { skCopyOhneWaffenstand += '\n\nVeraltete Teilnehmer-Daten vom letzten Stammkampf!'; skCopyMitWaffenstand = skCopyOhneWaffenstand; } else { skCopyOhneWaffenstand += '\n\nTeilnehmer: '+skTeilnehmer.length+'/'+gesamtMitglieder+' ('+number_format(skTeilnehmerEP)+' EP)'; skCopyOhneWaffenstand += '\n\nNICHT angemeldet ('+skNichtTeilnehmerOhneWaffeninfo.length+'): '+skNichtTeilnehmerOhneWaffeninfo.join(', '); skCopyOhneWaffenstand += '\n\nStand (Teilnehmer): '+format2(skTeilnehmerDate.getDate())+'.'+format2(skTeilnehmerDate.getMonth()+1)+'.'+skTeilnehmerDate.getFullYear()+' - '+format2(skTeilnehmerDate.getHours())+':'+format2(skTeilnehmerDate.getMinutes())+':'+format2(skTeilnehmerDate.getSeconds())+' Uhr'; skCopyMitWaffenstand += '\n\nTeilnehmer: '+skTeilnehmer.length+'/'+gesamtMitglieder+' ('+number_format(skTeilnehmerEP)+' EP)'+'\ndavon OHNE Waffe: ('+skTeilnehmerOhneWaffe.length+'): '+skTeilnehmerOhneWaffe.join(', '); skCopyMitWaffenstand += '\n\nNICHT angemeldet ('+skNichtTeilnehmerMitWaffeninfo.length+'): '+skNichtTeilnehmerMitWaffeninfo.join(', ')+((skCountNichtTeilnehmerOhneWaffe > 0)? '\n(*) = ohne Waffe ('+skCountNichtTeilnehmerOhneWaffe+')':''); skCopyMitWaffenstand += '\n\nStand (Teilnehmer): '+format2(skTeilnehmerDate.getDate())+'.'+format2(skTeilnehmerDate.getMonth()+1)+'.'+skTeilnehmerDate.getFullYear()+' - '+format2(skTeilnehmerDate.getHours())+':'+format2(skTeilnehmerDate.getMinutes())+':'+format2(skTeilnehmerDate.getSeconds())+' Uhr'; skCopyMitWaffenstand += '\nStand (Waffen): '+format2(servertimeDate.getDate())+'.'+format2(servertimeDate.getMonth()+1)+'.'+servertimeDate.getFullYear()+' - '+format2(servertimeDate.getHours())+':'+format2(servertimeDate.getMinutes())+':'+format2(servertimeDate.getSeconds())+' Uhr'; } } else { skCopyOhneWaffenstand = 'Derzeit kein Stammkampf!'; skCopyMitWaffenstand = skCopyOhneWaffenstand; } var mkCopyOhneWaffenstand = 'Magierkampf: '+format2(magierkampfDate.getDate())+'.'+format2(magierkampfDate.getMonth()+1)+'.'+magierkampfDate.getFullYear()+' - '+format2(magierkampfDate.getHours())+':'+format2(magierkampfDate.getMinutes())+' Uhr'; var mkCopyMitWaffenstand = mkCopyOhneWaffenstand; if(isOldMK) { mkCopyOhneWaffenstand += '\n\nVeraltete Teilnehmer-Daten vom letzten Magierkampf!'; mkCopyMitWaffenstand = mkCopyOhneWaffenstand; } else { mkCopyOhneWaffenstand += '\n\nTeilnehmer: '+mkTeilnehmer.length+'/'+gesamtMitglieder; mkCopyOhneWaffenstand += '\n\nNICHT angemeldet ('+mkNichtTeilnehmerOhneWaffeninfo.length+'): '+mkNichtTeilnehmerOhneWaffeninfo.join(', '); mkCopyOhneWaffenstand += '\n\nStand (Teilnehmer): '+format2(mkTeilnehmerDate.getDate())+'.'+format2(mkTeilnehmerDate.getMonth()+1)+'.'+mkTeilnehmerDate.getFullYear()+' - '+format2(mkTeilnehmerDate.getHours())+':'+format2(mkTeilnehmerDate.getMinutes())+':'+format2(mkTeilnehmerDate.getSeconds())+' Uhr'; mkCopyMitWaffenstand += '\n\nTeilnehmer: '+mkTeilnehmer.length+'/'+gesamtMitglieder+'\ndavon OHNE Waffe ('+mkTeilnehmerOhneWaffe.length+'): '+mkTeilnehmerOhneWaffe.join(', '); mkCopyMitWaffenstand += '\n\nNICHT angemeldet ('+mkNichtTeilnehmerMitWaffeninfo.length+'): '+mkNichtTeilnehmerMitWaffeninfo.join(', ')+((mkCountNichtTeilnehmerOhneWaffe > 0)? '\n(*) = ohne Waffe ('+mkCountNichtTeilnehmerOhneWaffe+')':''); mkCopyMitWaffenstand += '\n\nStand (Teilnehmer): '+format2(mkTeilnehmerDate.getDate())+'.'+format2(mkTeilnehmerDate.getMonth()+1)+'.'+mkTeilnehmerDate.getFullYear()+' - '+format2(mkTeilnehmerDate.getHours())+':'+format2(mkTeilnehmerDate.getMinutes())+':'+format2(mkTeilnehmerDate.getSeconds())+' Uhr'; mkCopyMitWaffenstand += '\nStand (Waffen): '+format2(servertimeDate.getDate())+'.'+format2(servertimeDate.getMonth()+1)+'.'+servertimeDate.getFullYear()+' - '+format2(servertimeDate.getHours())+':'+format2(servertimeDate.getMinutes())+':'+format2(servertimeDate.getSeconds())+' Uhr'; } content.innerHTML += hinweis+'
Stammkampf-Copy: mit Waffenstand



Magierkampf-Copy: mit Waffenstand



'; document.getElementById('skcopy').innerHTML = skCopyOhneWaffenstand; document.getElementById('mkcopy').innerHTML = mkCopyOhneWaffenstand; // Event-Listener document.getElementById('skcopycheckbox').addEventListener('change', function() { if(document.getElementById('skcopycheckbox').checked) { document.getElementById('skcopy').innerHTML = skCopyMitWaffenstand; } else { document.getElementById('skcopy').innerHTML = skCopyOhneWaffenstand; } }, false); document.getElementById('mkcopycheckbox').addEventListener('change', function() { if(document.getElementById('mkcopycheckbox').checked) { document.getElementById('mkcopy').innerHTML = mkCopyMitWaffenstand; } else { document.getElementById('mkcopy').innerHTML = mkCopyOhneWaffenstand; } }, false); } // StammInfo if(document.URL.indexOf("/stamminfo.php") != -1) { if(content.textContent.indexOf('Hier werden Stammdaten angezeigt:') != -1) { var mitglieder = content.getElementsByTagName('table')[3].getElementsByTagName('tr'); var gesamtEPs = 0; var gesamtOnline = 0; for(i=1; i'; var mitgliederanzahl = document.createElement('tr'); mitgliederanzahl.innerHTML = 'Mitgliederanzahl'+gesamtMitglieder+' ('+gesamtOnline+' online)'; content.getElementsByTagName('table')[2].getElementsByTagName('tbody')[0].insertBefore(mitgliederanzahl, content.getElementsByTagName('table')[2].getElementsByTagName('tr')[6]); content.getElementsByTagName('table')[2].getElementsByTagName('tbody')[0].insertBefore(gesamtep, content.getElementsByTagName('table')[2].getElementsByTagName('tr')[7]); content.getElementsByTagName('div')[0].setAttribute('style', 'overflow:auto; width:550px;'); } else if(content.textContent.indexOf('Hier kannst du nach einem Steinzeit-Stamm suchen:') != -1) { if(getURLParameter('s') != null) { document.getElementsByName('stammname')[0].value = decodeURI(getURLParameter('s')); } document.getElementsByName('stammname')[0].focus(); } } // UserInfo if(document.URL.indexOf('/userinfo.php') != -1) { if(content.textContent.indexOf('Userdaten:') != -1) { i=0; while(content.getElementsByTagName('table')[4].getElementsByTagName('tr')[i].textContent.indexOf("Erfahrung:") == -1) { i++; } var ep = parseInt(content.getElementsByTagName('table')[4].getElementsByTagName('tr')[i].getElementsByTagName('td')[1].textContent, 10); var realtage = content.getElementsByTagName('table')[4].getElementsByTagName('tr')[i+1].getElementsByTagName('td')[1].textContent.trim(); realtage = realtage.split(' '); realtage = 15*parseInt(realtage[0], 10)+parseInt(realtage[4], 10)-197; // realtage == SZS-Monate, 197 -> Startalter (13J2M) if(realtage <= 0) realtage = 1; content.getElementsByTagName('table')[4].getElementsByTagName('tr')[i].getElementsByTagName('td')[1].innerHTML = number_format(ep)+' (\u2300 '+number_format(ep/realtage, 2)+') [?]'; var beschreibung = content.getElementsByTagName('table')[5].getElementsByTagName('td')[0]; beschreibung.innerHTML = '
'+beschreibung.innerHTML+'
'; } else if(content.textContent.indexOf('Hier kannst du nach einem Steinzeitmenschen suchen.') != -1) { if(getURLParameter('s') != null) { document.getElementsByName('userdatenname')[0].value = decodeURI(getURLParameter('s')); } document.getElementsByName('userdatenname')[0].focus(); } } // Aktive Spieler & Stämme var resetZeit = 4; if(isSommerzeit(servertimeDate)) { resetZeit = 6; } else { resetZeit = 5; } if(document.URL.indexOf('/aktivespieler.php') != -1) { GM_setValue("Assi_UserName", content.getElementsByTagName('table')[1].getElementsByTagName('td')[56].textContent.trim()); // Beschreibung anpassen content.innerHTML = content.innerHTML.replace('4:15 Uhr', resetZeit+':15 Uhr'); } if(document.URL.indexOf('/aktivpunkte.php') != -1) { GM_setValue("Assi_StammName", content.getElementsByTagName('table')[1].getElementsByTagName('td')[64].textContent.trim()); content.innerHTML = content.innerHTML.replace('4:15 Uhr', resetZeit+':15 Uhr'); } // Stammnachrichten (Profil-Links, IGM-Icons, SK-, MK-Auswertung) // Nachricht löschen, wenn abgeschickt if(document.URL.indexOf('/stamm.php') && content.textContent.indexOf('Die Nachricht wurde hinzugefügt.') != -1) { GM_deleteValue("Stammnachricht"); } if(document.URL.indexOf('/stamm.php?do=nachricht') != -1) { content.getElementsByTagName('table')[1].setAttribute('id', 'stammnachrichteneingabetable'); content.getElementsByTagName('textarea')[0].setAttribute('id', 'stammnachrichteneingabe'); document.getElementById('stammnachrichteneingabetable').getElementsByTagName('td')[2].innerHTML += '

SZS-Assistent: Willst du gelb schreiben, beginne deine Nachricht mit *gelb* (mit *).
'; document.getElementById('stammnachrichteneingabe').addEventListener('keyup', function() { GM_setValue("Stammnachricht", document.getElementById('stammnachrichteneingabe').value); }, false); // Letzte nicht abgeschickte StammNachricht wiederherstellen var stammnachricht = GM_getValue("Stammnachricht", ""); if(stammnachricht != "") { var newDIV = document.createElement('div'); newDIV.setAttribute('class', 'postrecovery'); newDIV.innerHTML = 'Letzte nicht abgeschickte StammNachricht wiederhergestellt.'; content.insertBefore(newDIV, content.getElementsByTagName('form')[0]); document.getElementById("stammnachrichteneingabe").value = stammnachricht; } var stammnachrichten = content.getElementsByTagName('table')[2].getElementsByTagName('tr'); for(i=1; i')[1].search(/(\d+)\.(\d+)\.(\d+) \- (\d+):(\d+)/); var postDate = new Date(RegExp.$3, parseInt(RegExp.$2, 10)-1, parseInt(RegExp.$1, 10), parseInt(RegExp.$4, 10), parseInt(RegExp.$5, 10), 0); var userID = stammnachrichten[i].getElementsByTagName('a')[0].getAttribute('href').slice(17); if(userID != 0) { // Profil-Link, PN-Icon stammnachrichten[i].getElementsByTagName('a')[0].setAttribute('href', 'userinfo.php?userinfo='+userID); var newA = document.createElement('a'); newA.setAttribute('href', 'message.php?empf='+userID); newA.setAttribute('style', 'margin-left: 5px;'); newA.setAttribute('title', 'Private Nachricht'); var newSPAN = document.createElement('span'); newSPAN.setAttribute('class', 'pn-icon'); newA.appendChild(newSPAN); stammnachrichten[i].getElementsByTagName('td')[0].insertBefore(newA, stammnachrichten[i].getElementsByTagName('br')[0]); // Textlinks setzen stammnachrichten[i].getElementsByTagName('td')[1].innerHTML = stammnachrichten[i].getElementsByTagName('td')[1].innerHTML.replace(/((http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:\/~\+#\(\)]*[\w\-\@?^=%&\/~\+#\(\)])?)/g, '$1'); // *gelb* Schreiben if(stammnachrichten[i].getElementsByTagName('td')[1].textContent.indexOf('*gelb*') == 0) { stammnachrichten[i].getElementsByTagName('td')[1].innerHTML = '
'+stammnachrichten[i].getElementsByTagName('td')[1].innerHTML.slice(6)+'
'; } else { stammnachrichten[i].getElementsByTagName('td')[1].innerHTML = '
'+stammnachrichten[i].getElementsByTagName('td')[1].innerHTML+'
'; } } else { // Stammkampfauswertung if(stammnachrichten[i].getElementsByTagName('td')[1].textContent.indexOf('Der Kampf wurde') != -1) { if(!counterGesamtEP) var counterGesamtEP = new Array(); if(!gesamtEP) var gesamtEP = new Array(); if(!stammname) var stammname = new Array(); var input = document.createElement('input'); input.setAttribute('id', 'skauswertung_'+i); input.setAttribute('type', 'button'); input.setAttribute('class', 'pointer'); input.setAttribute('value', 'Auswerten'); input.setAttribute('snnum', i); input.addEventListener('click', function() { var snnum = this.getAttribute('snnum'); gesamtEP[snnum+'a'] = 0; gesamtEP[snnum+'v'] = 0; stammname[snnum+'a'] = new Array(); stammname[snnum+'v'] = new Array(); var plotContent = stammnachrichten[snnum].getElementsByTagName('td')[1].getElementsByTagName('font'); // Angreifer var angreifer = stammnachrichten[snnum].getElementsByTagName('td')[1].innerHTML.replace(/.*Für den angreifenden Stamm sind angetreten:\s*/, '').replace(/\s*
.*/, '').replace(//g, '').replace(/<\/b><\/font>/g, '').trim(); angreifer = angreifer.split(' '); for(j=0; j.*/, '').replace(//g, '').replace(/<\/b><\/font>/g, '').trim(); verteidiger = verteidiger.split(' '); for(j=0; j'; newContent += '
Für den angreifenden Stamm (...) sind angetreten ('+angreifer.length+'):
'; for(j=0; j'+angreifer[j]+'
'; } newContent += '

Für den angegriffenen Stamm (...) sind angetreten ('+verteidiger.length+'):
'; for(j=0; j'+verteidiger[j]+'
'; } newContent += '

Angreifer-EP: Daten werden geladen...'; newContent += '
Verteidiger-EP: Daten werden geladen...'; newContent += '

'+plotContent[plotContent.length-1].outerHTML; stammnachrichten[snnum].getElementsByTagName('td')[1].innerHTML = newContent; this.parentNode.removeChild(this); }, false); stammnachrichten[i].getElementsByTagName('td')[0].appendChild(input); // MK: Startnachricht } else if(stammnachrichten[i].getElementsByTagName('td')[1].textContent.indexOf('Magierkampf') != -1) { var startnachricht = stammnachrichten[i].getElementsByTagName('td')[1].innerHTML.split('
'); var teilnehmeranzahl = 0; var newContent = ''; var strMagierkampfTeilnehmer = postDate.getTime().toString()+"#"; for(j=0; j'; var nick = startnachricht[j].replace(//, '').replace(/<\/b><\/font>/, '').trim(); nick = nick.substring(0, nick.length-40); strMagierkampfTeilnehmer += nick+'#'; } else { newContent += ''+startnachricht[j]+'
'; } } if(parseInt(GM_getValue("MagierkampfTeilnehmer", "").split('#')[0], 10) <= postDate.getTime()) { GM_setValue("MagierkampfTeilnehmer", strMagierkampfTeilnehmer); } stammnachrichten[i].getElementsByTagName('td')[0].innerHTML += '


Teilnehmer: '+teilnehmeranzahl+'
'; if(document.getElementById('mkTeilnehmeranzahl')) document.getElementById('mkTeilnehmeranzahl').innerHTML = '('+teilnehmeranzahl+' Teilnehmer)'; stammnachrichten[i].getElementsByTagName('td')[1].innerHTML = newContent; // MK: Ergebnisnachricht | MK-Auswertung } else if(stammnachrichten[i].getElementsByTagName('td')[1].textContent.indexOf('50 Holz, 50 Stein, 20 Bronze.') != -1) { var mkEreignisse = stammnachrichten[i].getElementsByTagName('td')[1].innerHTML.split("
"); mkEreignisse.pop(); var killer_stamm = new Array(); // USERNAME var killer_gegner = new Array(); // USERNAME (STAMMNAME) var gekillteStaemme_stamm = new Array(); // STAMMNAME var killendeStaemme_gegner = new Array(); // STAMMNAME var angreifer_stamm = new Array(); // USERNAME var angreifer_gegner = new Array(); // USERNAME (STAMMNAME) var angegriffeneUser_stamm = new Array(); // USERNAME var angegriffeneUser_gegner = new Array(); // USERNAME (STAMMNAME) var angegriffeneStaemme_stamm = new Array(); // STAMMNAME var angreifendeStaemme_gegner = new Array(); // STAMMNAME var kills_stamm = 0; var kills_gegner = 0; var angriffe_stamm = 0; var angriffe_gegner = 0; var newContent = ''; for(j=0; j/, ''); mkEreignisse[j].search(/(.*) \((.*), \d{1,3}%\) trifft auf (.*) \(((.*), )?\d{1,3}%\) und fügt (ihm )?\d{1,3} (S|s)chaden zu./); var user1 = RegExp.$1; // Angreifer var stamm1 = RegExp.$2; var user2 = RegExp.$3; // Verteidiger var stamm2 = RegExp.$5; if(user2 == 'Magier') stamm2 = 'Magier'; if(stamm1 == Assi_StammName) { // Angriff des eigenen Stammes angriffe_stamm++; if(angreifer_stamm.indexOf(user1) == -1) { angreifer_stamm.push(user1); angreifer_stamm[user1] = 1; } else { angreifer_stamm[user1]++; } if(angegriffeneUser_gegner.indexOf(user2+' ('+stamm2+')') == -1) { angegriffeneUser_gegner.push(user2+' ('+stamm2+')'); angegriffeneUser_gegner[user2+' ('+stamm2+')'] = 1; } else { angegriffeneUser_gegner[user2+' ('+stamm2+')']++; } if(angegriffeneStaemme_stamm.indexOf(stamm2) == -1) { angegriffeneStaemme_stamm.push(stamm2); angegriffeneStaemme_stamm[stamm2] = 1; } else { angegriffeneStaemme_stamm[stamm2]++; } } else { // Angriff eines gegnerischen Stammes angriffe_gegner++; if(angreifer_gegner.indexOf(user1+' ('+stamm1+')') == -1) { angreifer_gegner.push(user1+' ('+stamm1+')'); angreifer_gegner[user1+' ('+stamm1+')'] = 1; } else { angreifer_gegner[user1+' ('+stamm1+')']++; } if(angegriffeneUser_stamm.indexOf(user2) == -1) { angegriffeneUser_stamm.push(user2); angegriffeneUser_stamm[user2] = 1; } else { angegriffeneUser_stamm[user2]++; } if(angreifendeStaemme_gegner.indexOf(stamm1) == -1) { angreifendeStaemme_gegner.push(stamm1); angreifendeStaemme_gegner[stamm1] = 1; } else { angreifendeStaemme_gegner[stamm1]++; } } if(j+1 < mkEreignisse.length && mkEreignisse[j+1].indexOf('wurde dabei verletzt.') != -1) { // aktuelles mkEreignis ist auch Kill if(stamm1 == Assi_StammName) { // Kill des eigenen Stammes if(user2 == 'Magier') { mkEreignisse[j+1] = mkEreignisse[j+1].replace(/^/, '').replace(/<\/font>$/, ''); } else { mkEreignisse[j+1] = mkEreignisse[j+1].replace(/^/, ''); mkEreignisse[j+1] += ''; } kills_stamm++; if(killer_stamm.indexOf(user1) == -1) { killer_stamm.push(user1); killer_stamm[user1] = 1; } else { killer_stamm[user1]++; } if(gekillteStaemme_stamm.indexOf(stamm2) == -1) { gekillteStaemme_stamm.push(stamm2); gekillteStaemme_stamm[stamm2] = 1; } else { gekillteStaemme_stamm[stamm2]++; } } else { // Kill eines gegnerischen Stammes mkEreignisse[j+1] += ''; kills_gegner++; if(killer_gegner.indexOf(user1+' ('+stamm1+')') == -1) { killer_gegner.push(user1+' ('+stamm1+')'); killer_gegner[user1+' ('+stamm1+')'] = 1; } else { killer_gegner[user1+' ('+stamm1+')']++; } if(killendeStaemme_gegner.indexOf(stamm1) == -1) { killendeStaemme_gegner.push(stamm1); killendeStaemme_gegner[stamm1] = 1; } else { killendeStaemme_gegner[stamm1]++; } } } } } // Sortiere Arrays for(k=0; k')+''; newContent += '


MK-Auswertung

'; newContent += 'Killer (Stamm): '+kills_stamm+' Kills
'; for(k=0; k'; } newContent += '

Killer (Gegner): '+kills_gegner+' Kills
'; for(k=0; k'; } newContent += '

Gekillte Stämme (Stamm):
'; for(k=0; k'; } newContent += '

Killende Stämme (Gegner):
'; for(k=0; k'; } newContent += '

Angreifer (Stamm): '+angriffe_stamm+' Angriffe
'; for(k=0; k'; } newContent += '

Angreifer (Gegner): '+angriffe_gegner+' Angriffe
'; for(k=0; k'; } newContent += '

Angegriffene User (Stamm):
'; for(k=0; k'; } newContent += '

Angegriffene User (Gegner):
'; for(k=0; k'; } newContent += '

Angegriffene Stämme (Stamm):
'; for(k=0; k'; } newContent += '

Angreifende Stämme (Gegner):
'; for(k=0; k'; } newContent += '

Einnahmen
- Holz: '+(50*kills_stamm)+'
- Stein: '+(50*kills_stamm)+'
- Bronze: '+(20*kills_stamm)+'
'; stammnachrichten[i].getElementsByTagName("td")[1].innerHTML = newContent; } } } } // StammForum - Forum if(document.URL.indexOf('/stammforum.forum.php') != -1) { var threads = content.getElementsByTagName('table')[3].getElementsByTagName('tr'); var data_topics = GM_getValue("topics"); data_topics = data_topics? data_topics:''; for(i=1; i
'; } else { var postDate = threads[i].getElementsByTagName('td')[4].textContent.trim(); postDate = new Date(postDate.slice(3,5)+' '+postDate.slice(0,2)+', '+postDate.slice(6,10)+' '+postDate.slice(14,19)+':00'); var datatime = data_topics.slice(data_topics.indexOf('#'+topicid+'.')+1); datatime = parseInt(datatime.slice(datatime.indexOf('.')+1, datatime.indexOf('#')), 10); if(postDate.getTime() > datatime) { threads[i].getElementsByTagName('td')[0].innerHTML = '
'; } else { threads[i].getElementsByTagName('td')[0].innerHTML = '
'; } } // Hinzufügen von Seitenzahlen if(numPages > 1) { threads[i].getElementsByTagName('td')[1].innerHTML += ' ('; for(j=1; j<=numPages; j++) { threads[i].getElementsByTagName('td')[1].innerHTML += ''+j+''; if(j != numPages) threads[i].getElementsByTagName('td')[1].innerHTML += ' '; } threads[i].getElementsByTagName('td')[1].innerHTML += ')'; } } //Legende var legend = document.createElement('div'); legend.setAttribute('id', 'forum-legend'); legend.innerHTML = '
= neues Thema
'; legend.innerHTML += '
= neue Beiträge im Thema
'; legend.innerHTML += '
= Thema gelesen
'; content.insertBefore(legend, content.getElementsByTagName('table')[5]); // Forendaten löschen-Button var input = document.createElement('input'); content.insertBefore(input, document.getElementById('forum-legend').nextSibling); input.setAttribute('id', 'forumDataDel'); input.setAttribute('type', 'button'); input.setAttribute('class', 'pointer'); input.setAttribute('value', 'Forendaten zurücksetzen'); input.addEventListener('click', function() { var really = confirm('Es werden alle Daten zu gelesenen Beiträgen und Themen gelöscht!'); if(really) { GM_deleteValue('topics'); GM_deleteValue('posts'); } }, false); } // StammForum - Topic if(document.URL.indexOf('/stammforum.topic.php?topicid=') != -1 && getURLParameter('topicid') != '') { var data_posts = GM_getValue("posts", "#"); var posts = content.getElementsByTagName('table')[3].getElementsByTagName('tr'); for(i=1; i$1'); var nick = posts[i+1].getElementsByTagName('a')[0].textContent.trim(); var userid = posts[i+1].getElementsByTagName('a')[0].getAttribute('href').replace(/\D*/, ''); var privatePostLink = ''; posts[i+1].getElementsByTagName('i')[0].innerHTML = posts[i+1].getElementsByTagName('i')[0].innerHTML.replace('', '  '+privatePostLink); } GM_setValue("posts", data_posts); // #postid# var data_topics = GM_getValue('topics'); data_topics = data_topics? data_topics:'#'; var topicid = getURLParameter('topicid'); var isLastPage = (content.getElementsByTagName('table')[1].getElementsByTagName('td')[1].innerHTML.trim().search(/<\/b>$/) != -1)? true : false; if(data_topics.indexOf('#'+topicid+'.') == -1) { if(isLastPage) { data_topics += topicid+'.'+servertimeDate.getTime()+'#'; } else { data_topics += topicid+'.'+lastPostDate.getTime()+'#'; } } else { var datatime = data_topics.slice(data_topics.indexOf('#'+topicid+'.')+1); datatime = parseInt(datatime.slice(datatime.indexOf('.')+1, datatime.indexOf('#')), 10); if(lastPostDate.getTime()>datatime && !isLastPage) { data_topics = data_topics.replace(new RegExp('\#'+topicid+'\.([0-9]+)\#'), '#'+topicid+'.'+lastPostDate.getTime()+'#'); } else if(isLastPage) { data_topics = data_topics.replace(new RegExp('\#'+topicid+'\.([0-9]+)\#'), '#'+topicid+'.'+servertimeDate.getTime()+'#'); } } GM_setValue("topics", data_topics); } // StammForum - Thread wiederherstellen if(document.URL.indexOf('/stammforum.post.php') != -1 && document.URL.indexOf('topicid=') == -1) { // Thread löschen, wenn abgeschickt if(content.textContent.indexOf('Dein Thema wurde hinzugefügt') != -1) { GM_deleteValue("Thread_Topic"); GM_deleteValue("Thread_Content"); } else { content.getElementsByTagName('input')[0].setAttribute('id', 'topiceingabe'); content.getElementsByTagName('textarea')[0].setAttribute('id', 'contenteingabe'); document.getElementById('topiceingabe').addEventListener('keyup', function() { GM_setValue("Thread_Topic", document.getElementById('topiceingabe').value); }, false); document.getElementById('contenteingabe').addEventListener('keyup', function() { GM_setValue("Thread_Content", document.getElementById('contenteingabe').value); }, false); // Letztes nicht abgeschicktes Thema wiederherstellen var thread_topic = GM_getValue("Thread_Topic", ""); var thread_content = GM_getValue("Thread_Content", ""); if(thread_topic != "" || thread_content != "") { var newDIV = document.createElement('div'); newDIV.setAttribute('class', 'postrecovery'); newDIV.innerHTML = 'Letztes nicht abgeschicktes Thema wiederhergestellt.'; content.insertBefore(newDIV, content.getElementsByTagName('form')[0]); document.getElementById("topiceingabe").value = thread_topic; document.getElementById("contenteingabe").value = thread_content; } } } // StammForum - Post wiederherstellen if(document.URL.indexOf('/stammforum.post.php?topicid=') != -1 && content.textContent.indexOf('Ein paar Worte solltest du wenigstens schreiben.') == -1) { var topicid = getURLParameter('topicid'); // Post löschen, wenn abgeschickt if(content.textContent.indexOf('Dein Post wurde hinzugefügt') != -1) { GM_deleteValue("Post_"+topicid); } else { content.getElementsByTagName('textarea')[0].setAttribute('id', 'posteingabe'); document.getElementById('posteingabe').addEventListener('keyup', function() { GM_setValue("Post_"+topicid, document.getElementById('posteingabe').value); }, false); // Letzten nicht abgeschickten Post wiederherstellen var post_content = GM_getValue("Post_"+topicid, ""); if(post_content != "") { var newDIV = document.createElement('div'); newDIV.setAttribute('class', 'postrecovery'); newDIV.innerHTML = 'Letzten nicht abgeschickten Post wiederhergestellt.'; content.insertBefore(newDIV, content.getElementsByTagName('form')[0]); document.getElementById("posteingabe").value = post_content; } } } // UserTop if(document.URL.indexOf('/top.php') != -1) { var spieler = content.getElementsByTagName('table')[1].getElementsByTagName('tr'); for(i=1; i
'; clans[i].insertBefore(newTD, clans[i].getElementsByTagName('td')[3]); getClanEPByClanId(clanid, 'ep_'+i); } } // OnlineUser if(document.URL.indexOf('/useronline.php') != -1) { content.getElementsByTagName('table')[1].removeAttribute('width'); var spieler = content.getElementsByTagName('table')[1].getElementsByTagName('tr'); for(i=1; i<\/tr>/); waffenopferKleinDate = new Date(RegExp.$3, parseInt(RegExp.$2, 10)-1, parseInt(RegExp.$1, 10), parseInt(RegExp.$4, 10), parseInt(RegExp.$5, 10), parseInt(RegExp.$6, 10)); } if(menuRight.textContent.indexOf('gr. Waffenopfer:') != -1) { menuRight.innerHTML.search(/gr\. Waffenopfer:<\/td><\/tr>/); waffenopferGrossDate = new Date(RegExp.$3, parseInt(RegExp.$2, 10)-1, parseInt(RegExp.$1, 10), parseInt(RegExp.$4, 10), parseInt(RegExp.$5, 10), parseInt(RegExp.$6, 10)); } if(menuRight.textContent.indexOf('Arbeitsopfer:') != -1) { menuRight.innerHTML.search(/Arbeitsopfer:<\/td><\/tr>/); arbeitsopferDate = new Date(RegExp.$3, parseInt(RegExp.$2, 10)-1, parseInt(RegExp.$1, 10), parseInt(RegExp.$4, 10), parseInt(RegExp.$5, 10), parseInt(RegExp.$6, 10)); } if(menuRight.textContent.indexOf('Ringopfer:') != -1) { menuRight.innerHTML.search(/Ringopfer:<\/td><\/tr>/); ringopferDate = new Date(RegExp.$3, parseInt(RegExp.$2, 10)-1, parseInt(RegExp.$1, 10), parseInt(RegExp.$4, 10), parseInt(RegExp.$5, 10), parseInt(RegExp.$6, 10)); } } // Arbeit (Focus, Waffen-Warnung, etc.) if(document.URL.indexOf('/jagd.php')!=-1 || document.URL.indexOf('/holzfaeller.php')!=-1 || document.URL.indexOf('/koehlern.php')!=-1 || document.URL.indexOf('/steinmetz.php')!=-1 || document.URL.indexOf('/kupferding.php')!=-1 || document.URL.indexOf('/wasser.php')!=-1 || document.URL.indexOf('/wasser2.php')!=-1 || document.URL.indexOf('/bronze.php')!=-1 || document.URL.indexOf('/schamane.php')!=-1 || document.URL.indexOf('/zinnding.php')!=-1 || document.URL.indexOf('/waffenschmied.php')!=-1 || document.URL.indexOf('/werkzeug.php')!=-1 || document.URL.indexOf('/kampf')!=-1 || document.URL.indexOf('/altar.artefakt.php')!=-1 || document.URL.indexOf('/bau.php')!=-1) { if(document.getElementsByName('zufallscode')[0]) { var str_alert = 'ACHTUNG!\n'; // Waffenwarnung if(Assi_WaffenWerkzeugWarnung) { if(document.URL.indexOf('jagd.php')!=-1 || document.URL.indexOf('holzfaeller.php')!=-1 || document.URL.indexOf('koehlern.php')!=-1 || document.URL.indexOf('steinmetz.php')!=-1 || document.URL.indexOf('wasser.php')!=-1 || document.URL.indexOf('wasser2.php')!=-1) { if(hand.indexOf('nichts') == -1) { str_alert += '- Du hast eine Waffe oder ein falsches Werkzeug in der Hand!\n'; } } else if(document.URL.indexOf('zinnding.php') != -1) { if(hand.indexOf('nichts') == -1 && hand.indexOf('Zinn') == -1) { str_alert += '- Du hast eine Waffe oder ein falsches Werkzeug in der Hand!\n'; } if(GM_getValue("Zinn-Schaber", false)) { if(hand.indexOf('Zinn-Schaber') == -1) { str_alert += '- Du hast deinen Zinn-Schaber vergessen!\n'; } } else if(GM_getValue("Zinn-Keil", false)) { if(hand.indexOf('Zinn-Keil') == -1) { str_alert += '- Du hast deinen Zinn-Keil vergessen!\n'; } } } else if(document.URL.indexOf('kupferding.php') != -1) { if(hand.indexOf('nichts') == -1 && hand.indexOf('Kupfer') == -1) { str_alert += '- Du hast eine Waffe oder ein falsches Werkzeug in der Hand!\n'; } if(GM_getValue("Kupfer-Hacke", false)) { if(hand.indexOf('Kupfer-Hacke') == -1) { str_alert += '- Du hast deine Kupfer-Hacke vergessen!\n'; } } else if(GM_getValue("Kupfer-Schaber", false)) { if(hand.indexOf('Kupfer-Schaber') == -1) { str_alert += '- Du hast deinen Kupfer-Schaber vergessen!\n'; } } else if(GM_getValue("Kupfer-Keil", false)) { if(hand.indexOf('Kupfer-Keil') == -1) { str_alert += '- Du hast deinen Kupfer-Keil vergessen!\n'; } } } } // Fehlender Ring if(Assi_RingWarnung) { if(document.URL.indexOf('jagd.php')!=-1) { if(GM_getValue("Jagdring", false) && finger.indexOf('Jagdring') == -1) { str_alert += '- Du hast deinen Jagdring vergessen!\n'; } } else if(document.URL.indexOf('wasser.php')!=-1 || document.URL.indexOf('wasser2.php')!=-1) { if(GM_getValue("Wasserring", false) && finger.indexOf('Wasserring') == -1) { str_alert += '- Du hast deinen Wasserring vergessen!\n'; } } } // Bevorstehender SK oder MK var activityEndDate2 = new Date(activityEndDate); activityEndDate2.setMinutes(parseInt(activityEndDate.getMinutes(), 10)+31); var skStartTime = parseInt(nextSK.split(',')[0], 10); var diff = Math.floor(skStartTime/60000-servertimeDate.getTime()/60000); if(diff >= -1 && diff <= 31) { str_alert += '- Du verpasst einen Stammkampf!\n'; if(skTeilnahme+3600000 < servertimeDate.getTime()) { str_alert += '- Du bist noch nicht zum Stammkampf angemeldet!\n'; } } if(activityEndDate2.getDay() == 1 && ((activityEndDate2.getHours() == mkStart && activityEndDate2.getMinutes() <= 31) || (activityEndDate2.getHours() == mkStart-1 && activityEndDate2.getMinutes() >= 59))) { str_alert += '- Du verpasst den Magierkampf!\n'; if(mkTeilnahme+7200000 < servertimeDate.getTime()) { str_alert += '- Du bist noch nicht zum Magierkampf angemeldet!\n'; } } if(str_alert.length > 9 && getURLParameter('szsa') != "codefalsch") { alert(str_alert); } // Fehlendes Arbeitsopfer / Drachenblutartefakt if(drachenblutDate.getTime() < servertimeDate.getTime()) { drachenblutDate.setTime(0); } if(getURLParameter('szsa') == "codefalsch") { content.innerHTML += 'Du hast den Zufallscode leider nicht richtig abgeschrieben und wurdest daher hierher um-/zurückgeleitet.

'; if(str_alert.length > 9) { content.innerHTML += ''+str_alert.replace(/\n/g, '
')+'

'; } } if((arbeitsopferDate == null || arbeitsopferDate.getTime() < (activityEndDate.getTime()+1800000)) && (drachenblutDate.getTime() == 0 || drachenblutDate.getTime() < (activityEndDate.getTime()+1800000))) { content.innerHTML += 'ACHTUNG! Du könntest dich verletzen, da du weder ein aktives Arbeitsopfer noch ein gültiges Artefakt des Drachenbluts hast.

Direktlink: Arbeitsopfer (Kosten: 2 Zinn, 2 Wasser und 2 Kupfer)

'; } // Focus document.getElementsByName('zufallscode')[0].focus(); } else if(content.textContent.indexOf('Du bist für') != -1 || content.textContent.indexOf('Du bist jetzt') != -1 || content.textContent.indexOf('Du machst dich auf') != -1 || content.textContent.indexOf('Du stellst jetzt') != -1 || content.textContent.indexOf('Du weihst jetzt') != -1) { remindActivity = true; sessionStorage.setItem("RemindActivity", true); // Ankunftszeit setzen activityEndDate.setMinutes(parseInt(servertimeDate.getMinutes(), 10)+31); GM_setValue("Ankunftszeit", activityEndDate.getTime().toString()); // Tätigkeit setzen if(document.URL.indexOf('/jagd.php') != -1) { GM_setValue("Arbeit", "auf der Jagd"); if(content.textContent.indexOf('60 Minuten') != -1) { activityEndDate.setMinutes(parseInt(servertimeDate.getMinutes(), 10)+61); GM_setValue("Ankunftszeit", activityEndDate.getTime().toString()); } else if(content.textContent.indexOf('120 Minuten') != -1) { activityEndDate.setMinutes(parseInt(servertimeDate.getMinutes(), 10)+121); GM_setValue("Ankunftszeit", activityEndDate.getTime().toString()); } } else if(document.URL.indexOf('/holzfaeller.php') != -1) { GM_setValue("Arbeit", "beim Holzfällen"); } else if(document.URL.indexOf('/koehlern.php') != -1) { GM_setValue("Arbeit", "beim Köhlern"); } else if(document.URL.indexOf('/steinmetz.php') != -1) { GM_setValue("Arbeit", "beim Steine metzen"); } else if(document.URL.indexOf('/kupferding.php') != -1) { GM_setValue("Arbeit", "beim Kupfer abbauen"); } else if(document.URL.indexOf('/wasser.php') != -1 || document.URL.indexOf('wasser2.php') != -1) { GM_setValue("Arbeit", "beim Wassersuchen"); } else if(document.URL.indexOf('/bronze.php') != -1) { GM_setValue("Arbeit", "beim Bronze herstellen"); } else if(document.URL.indexOf('/schamane.php') != -1) { GM_setValue("Arbeit", "beim Trank brauen"); } else if(document.URL.indexOf('/zinnding.php') != -1) { GM_setValue("Arbeit", "beim Zinn abbauen"); } else if(document.URL.indexOf('/waffenschmied.php') != -1) { GM_setValue("Arbeit", "beim Waffe bauen"); } else if(document.URL.indexOf('/werkzeug.php') != -1) { GM_setValue("Arbeit", "beim Werkzeug bauen"); } else if(document.URL.indexOf('/kampf.php') != -1) { GM_setValue("Arbeit", "im Einzelkampf"); } else if(document.URL.indexOf('/altar.artefakt.php') != -1 && content.textContent.indexOf('weihst') != -1) { GM_setValue("Arbeit", "beim Artefakt weihen"); } else if(document.URL.indexOf('/altar.artefakt.php') != -1 && content.textContent.indexOf('stellst') != -1) { GM_setValue("Arbeit", "beim Artefakt herstellen"); } else if(document.URL.indexOf('/bau.php') != -1) { GM_setValue("Arbeit", "beim Landausbau"); } else { GM_setValue("Arbeit", "auf Arbeit"); } } else if(content.textContent.indexOf('Du hast den Zufallscode leider nicht richtig abgeschrieben.') != -1) { content.innerHTML = content.innerHTML.replace('Du hast den Zufallscode leider nicht richtig abgeschrieben.', 'Du hast den Zufallscode leider nicht richtig abgeschrieben.'); } } // Header-Inlays var kopf = document.getElementsByTagName('img')[0].parentNode; // Serverzeit var strInlay = '
'; // Reminder strInlay += '
'; strInlay += '
TK:
'; strInlay += '
SK:
'; strInlay += '
MK:
'; strInlay += '
'; kopf.innerHTML += strInlay; // Wetter var wetterGrafik = document.getElementsByTagName('img')[0].src.replace('_kopf', ''); var wetterText = 'Lorem ipsum...'; switch(wetterGrafik) { case 'http://szs.looki.de/static/wetter/1.jpg': wetterText = 'Sonne'; break; case 'http://szs.looki.de/static/wetter/2.jpg': wetterText = 'Regen'; break; case 'http://szs.looki.de/static/wetter/3.jpg': wetterText = 'Schnee'; break; case 'http://szs.looki.de/static/wetter/4.jpg': wetterText = 'Nebel'; break; case 'http://szs.looki.de/static/wetter/5.jpg': wetterText = 'bewölkt'; break; default: wetterText = 'Fehler'; break; } var wetterDIV = document.createElement('div'); wetterDIV.setAttribute('id', 'weather'); wetterDIV.innerHTML = '
'+wetterText+'
'; kopf.appendChild(wetterDIV); // Linkes Menü var lagerfeuerColor = (menuLeft.innerHTML.indexOf('color:lime') != -1)? 'lime' : 'red'; // Persönliches var leftMenuHTML = ''; // Uhrzeit if(Assi_MenuUhrzeit) { leftMenuHTML += '
'+servertimeDate.getHours()+':'+format2(servertimeDate.getMinutes())+':'+format2(servertimeDate.getSeconds())+' Uhr
'; } leftMenuHTML += ''; //Aktionen leftMenuHTML += ''; // Kämpfe leftMenuHTML += ''; // Handel leftMenuHTML += ''; // Stamm leftMenuHTML += ''; // Toplisten leftMenuHTML += ''; // Sonstiges leftMenuHTML += ''; menuLeft.innerHTML = leftMenuHTML; // Info-Anzeigen (Ausrüstung, Opfer, Artefakte) if(Assi_Infoanzeigen == 'zentriert') { var infoanzeigeDIV = document.createElement('div'); infoanzeigeDIV.setAttribute('id', 'infoanzeige'); content.insertBefore(infoanzeigeDIV, content.firstChild); // Ausrüstung var infoanzeigeHEAD = 'Ausrüstung'; var infoanzeigenBODY = '
Hand: '+hand+'
Finger: '+finger+'
'; // Opfer if(waffenopferKleinDate != null || waffenopferGrossDate != null || arbeitsopferDate != null || ringopferDate != null) { infoanzeigeHEAD += 'Opfer'; infoanzeigenBODY += ''; if(waffenopferKleinDate != null) infoanzeigenBODY += '
kl. WO:
'; if(waffenopferGrossDate != null) infoanzeigenBODY += '
gr. WO:
'; if(arbeitsopferDate != null) infoanzeigenBODY += '
AO:
'; if(ringopferDate != null) infoanzeigenBODY += '
RO:
'; infoanzeigenBODY += ''; } // Artefakte if(drachenblutDate.getTime() < servertimeDate.getTime()) drachenblutDate = null; if(glueckDate.getTime() < servertimeDate.getTime()) glueckDate = null; if(meisterschmiedDate.getTime() < servertimeDate.getTime()) meisterschmiedDate = null; if(gesundheitDate.getTime() < servertimeDate.getTime()) gesundheitDate = null; if(drachenblutDate != null || glueckDate != null || meisterschmiedDate != null || gesundheitDate != null) { infoanzeigeHEAD += 'Artefakte'; infoanzeigenBODY += ''; if(drachenblutDate != null) infoanzeigenBODY += '
DB:
'; if(glueckDate != null) infoanzeigenBODY += '
Gl:
'; if(meisterschmiedDate != null) infoanzeigenBODY += '
MS:
'; if(gesundheitDate != null) infoanzeigenBODY += '
Ge:
'; infoanzeigenBODY += ''; } var infoanzeigeHTML = ''+infoanzeigeHEAD+''+infoanzeigenBODY+'
'; document.getElementById('infoanzeige').innerHTML = infoanzeigeHTML; } // Rechtes Menü i = (isPremiumSpieler)? 1 : 0; var muedigkeit = parseInt(menuRight.getElementsByTagName("table")[1+i].getElementsByTagName('td')[21].textContent, 10); var muedeColor = menuRight.getElementsByTagName("table")[1+i].getElementsByTagName('td')[21].getElementsByTagName('font')[0].getAttribute('color'); var muedeUpdateAusgefuehrt = false; var muedigkeitNeu = -1; var isFreieCP = (menuRight.getElementsByTagName("table")[0+i].textContent.indexOf("Du hast noch Punkte übrig, die du verteilen kannst.") != -1)? true : false; var isNeueNachricht = (menuRight.getElementsByTagName("table")[0+i].textContent.indexOf("Du hast eine neue private Nachricht erhalten.") != -1)? true : false; if(isNeueNachricht) { sessionStorage.setItem("RemindNewMessage", false); } else { sessionStorage.setItem("RemindNewMessage", true); } var rightMenuHTML = ''; // SK-Zeit if(Assi_MenuSKZeit && parseInt(nextSK, 10) != 0) { rightMenuHTML += ''; } // UserDaten rightMenuHTML += ''; // Info-Anzeigen if(Assi_Infoanzeigen == 'menu') { // Ausrüstung rightMenuHTML += ''; // Opfer if(waffenopferKleinDate != null || waffenopferGrossDate != null || arbeitsopferDate != null || ringopferDate != null) { rightMenuHTML += ''; } // Artefakte if(drachenblutDate.getTime() < servertimeDate.getTime()) drachenblutDate = null; if(glueckDate.getTime() < servertimeDate.getTime()) glueckDate = null; if(meisterschmiedDate.getTime() < servertimeDate.getTime()) meisterschmiedDate = null; if(gesundheitDate.getTime() < servertimeDate.getTime()) gesundheitDate = null; if(drachenblutDate != null || glueckDate != null || meisterschmiedDate != null || gesundheitDate != null) { rightMenuHTML += ''; } } // Freundesliste i = 1; while(menuRight.getElementsByTagName('table')[i+1].innerHTML.indexOf('Freundesliste') == -1) { i++ } i++; var freunde = menuRight.getElementsByTagName('table')[i].getElementsByTagName('a'); var freunde2 = new Array(); rightMenuHTML += ''; // Hilfe rightMenuHTML += ''; // Allgemeines rightMenuHTML += ''; menuRight.innerHTML = rightMenuHTML; // Scriptversion-Check if(Assi_MenuVersionTip) { GM_xmlhttpRequest({ method: "GET", url: "https://greasyfork.org/scripts/3698-szs-assistent/code/SZS-Assistent.meta.js", onload: function(response) { if(response.responseText.indexOf('// @version') != -1) { var html = response.responseText.slice(response.responseText.indexOf('// @version')+11); var versionOnline = html.slice(0, html.indexOf('//')).trim(); var versionOffline = GM_info.script.version; var vOn = versionOnline.split("."); var vOff = versionOffline.split("."); var isNewVersion = 0; var i = 0; while(typeof vOn[i] != 'undefined' || typeof vOff[i] != 'undefined') { if(parseInt(vOn[i], 10) == parseInt(vOff[i], 10)) { i++; continue; } else { isNewVersion = (parseInt(vOn[i], 10) > parseInt(vOff[i], 10)); break; } i++; } if(isNewVersion) { document.getElementById('neueVersion').innerHTML = '
Neue Version verfügbar!'; document.getElementById('neueVersion').style.display = 'block'; } } } }); } // Event-Listener (global) if(window.addEventListener) { window.addEventListener('resize', pageUpdate, false); window.addEventListener('scroll', pageUpdate, false); } if(document.getElementById('notice') && document.getElementById('notice').addEventListener) { document.getElementById('notice').addEventListener('keyup', function() { GM_setValue("notice", document.getElementById('notice').value); }, false); } if(document.addEventListener) { var hotkey = ''; var hotkeyTime = 0; document.addEventListener('keyup', handleHotkey, false); } if(document.getElementById('button_SaveConfig') && document.getElementById('button_SaveConfig').addEventListener) { document.getElementById('button_SaveConfig').addEventListener('click', toggleElement, false); document.getElementById('button_SaveConfig').addEventListener('click', saveConfig, true); } if(document.getElementById('button_ResetConfig') && document.getElementById('button_ResetConfig').addEventListener) { document.getElementById('button_ResetConfig').addEventListener('click', resetConfig, false); } if(document.getElementById('button_DeleteAll') && document.getElementById('button_DeleteAll').addEventListener) { document.getElementById('button_DeleteAll').addEventListener('click', deleteAllData, false); } if(document.getElementById('toggle_configLayer') && document.getElementById('toggle_configLayer').addEventListener) { document.getElementById('toggle_configLayer').addEventListener('click', toggleElement, false); } // Scriptlaufzeit var scriptendtime = new Date(); document.getElementById('reminder').innerHTML += '
Scriptlaufzeit: '+(scriptendtime.getTime()-scriptstarttime.getTime())+' ms
'; pageUpdate(); sessionStorage.setItem("Ankunftszeit", GM_getValue("Ankunftszeit", "0")); sessionStorage.setItem("Arbeit", GM_getValue("Arbeit", "auf Arbeit")); countdown(); setTimeout(checkForNewMessage, 30000); checkLandControl(); } // Main-Ende /* FUNCTIONS */ function countdown() { var countdownDate = new Date((new Date()).getTime()-diffServertime); // serverzeit document.getElementById('serverzeit').innerHTML = 'Serverzeit: '+countdownDate.getHours()+':'+format2(countdownDate.getMinutes())+':'+format2(countdownDate.getSeconds())+' Uhr'; // Restarbeitszeit var count = Math.floor(activityEndDate.getTime()/1000)-Math.floor(countdownDate.getTime()/1000); var nochUnterwegs = false; if(count<0) count=0; if(count>10) nochUnterwegs=true; var seconds = count%60; count = Math.floor(count/60); var minutes = count; var countdownHTML = ''; if(minutes > 0) { countdownHTML = minutes+':'+format2(seconds)+' Minuten (bis '+format2(activityEndDate.getHours())+':'+format2(activityEndDate.getMinutes())+' Uhr) '; } else { countdownHTML = seconds+' Sekunden (bis '+format2(activityEndDate.getHours())+':'+format2(activityEndDate.getMinutes())+' Uhr) '; } if(parseInt(sessionStorage.getItem("Ankunftszeit"), 10)+180000 > activityEndDate.getTime()) { countdownHTML += sessionStorage.getItem("Arbeit"); } else { countdownHTML += 'unterwegs'; } if(document.getElementById('countdown')) document.getElementById('countdown').innerHTML = countdownHTML; // Müdigkeit var muedeDate = new Date(countdownDate); if(muedeDate.getMinutes()%10 == 0) { muedeDate.setMinutes(muedeDate.getMinutes()+10); } muedeDate.setSeconds(0); muedeDate.setMilliseconds(0); while(muedeDate.getMinutes()%10 != 0) { muedeDate.setMinutes(muedeDate.getMinutes()+1); } count = Math.floor(muedeDate.getTime()/1000)-Math.floor(countdownDate.getTime()/1000); if(muedigkeitNeu == -1) muedigkeitNeu=muedigkeit; if(count<0) count=0; var seconds = count%60; count = Math.floor(count/60); var minutes = count%60; if (minutes > 0) { if(minutes == 10) { if(!muedeUpdateAusgefuehrt) { if(nochUnterwegs) { muedigkeitNeu += 2; } else { muedigkeitNeu -= 1; } var color = 'green'; if(muedigkeitNeu >= 100) { muedigkeitNeu = 100; } else if(muedigkeitNeu <= 0) { muedigkeitNeu = 0; } if(muedigkeitNeu >= 80) { color = 'red'; } else if(muedigkeitNeu > 60) { color = 'yellow'; } var muedehtml = ''+muedigkeitNeu+'%'; if(muedigkeitNeu >= 80) { muedehtml = ''+muedigkeitNeu+'%'; } document.getElementById('muede').innerHTML = muedehtml; muedeUpdateAusgefuehrt = true; } } else { muedeUpdateAusgefuehrt = false; } } // Artefaktzeit if(drachenblutDate != null) { count = Math.floor(drachenblutDate.getTime()/1000)-Math.floor(countdownDate.getTime()/1000); printCountdownZeit(count, 'DrachenblutSpan'); } if(glueckDate != null) { count = Math.floor(glueckDate.getTime()/1000)-Math.floor(countdownDate.getTime()/1000); printCountdownZeit(count, 'GlueckSpan'); } if(meisterschmiedDate != null) { count = Math.floor(meisterschmiedDate.getTime()/1000)-Math.floor(countdownDate.getTime()/1000); printCountdownZeit(count, 'MeisterschmiedSpan'); } if(gesundheitDate != null) { count = Math.floor(gesundheitDate.getTime()/1000)-Math.floor(countdownDate.getTime()/1000); printCountdownZeit(count, 'GesundheitSpan'); } // Opferzeit if(waffenopferKleinDate != null) { count = Math.floor(waffenopferKleinDate.getTime()/1000)-Math.floor(countdownDate.getTime()/1000); printCountdownZeit(count, 'WaffenopferKleinSpan'); } if(waffenopferGrossDate != null) { count = Math.floor(waffenopferGrossDate.getTime()/1000)-Math.floor(countdownDate.getTime()/1000); printCountdownZeit(count, 'WaffenopferGrossSpan'); } if(arbeitsopferDate != null) { count = Math.floor(arbeitsopferDate.getTime()/1000)-Math.floor(countdownDate.getTime()/1000); printCountdownZeit(count, 'ArbeitsopferSpan'); } if(ringopferDate != null) { count = Math.floor(ringopferDate.getTime()/1000)-Math.floor(countdownDate.getTime()/1000); printCountdownZeit(count, 'RingopferSpan'); } // Activity-Reminder if(countdownDate >= activityEndDate && Assi_ActivityReminder && remindActivity && sessionStorage.getItem("RemindActivity")) { remindActivity = false; sessionStorage.setItem("RemindActivity", false); var volume = parseFloat(Assi_ReminderSoundVolume.replace(',', '.')/100); if(volume<0) volume=0; if(volume>1) volume=1; switch(Assi_Remindersound) { case 'SoundA': audioA.volume = volume; audioA.play(); break; case 'SoundB': audioB.volume = volume; audioB.play(); break; case 'SoundC': audioC.volume = volume; audioC.play(); break; case 'SoundD': audioD.volume = volume; audioD.play(); break; default: break; } if(Assi_Standardtaetigkeit == "") { alert('Du bist wieder verfügbar!'); } else { if(confirm('Du bist wieder verfügbar!\n\nStandardtätigkeit aufrufen?')) { var url = ''; switch(Assi_Standardtaetigkeit) { case 'Jagen': url = 'http://szs.looki.de/jagd.php'; break; case 'Wasser': url = 'http://szs.looki.de/wasser.php'; break; case 'Holz': url = 'http://szs.looki.de/holzfaeller.php'; break; case 'Stein': url = 'http://szs.looki.de/steinmetz.php'; break; case 'Kohle': url = 'http://szs.looki.de/koehlern.php'; break; case 'Kupfer': url = 'http://szs.looki.de/kupferding.php'; break; case 'Zinn': url = 'http://szs.looki.de/zinnding.php'; break; case 'Bronze': url = 'http://szs.looki.de/bronze.php'; break; case 'Trank': url = 'http://szs.looki.de/schamane.php'; break; case 'Waffe': url = 'http://szs.looki.de/waffenschmied.php'; break; case 'Werkzeug': url = 'http://szs.looki.de/werkzeug.php'; break; case 'Artefakt': url = 'http://szs.looki.de/altar.artefakt.php'; break; default: url = ''; break; } if(url.indexOf('http://szs.looki.de/wasser.php') == 0 && main.innerHTML.indexOf('Wasser suchen') != -1) { url = 'http://szs.looki.de/wasser2.php'; } if(url != '') window.location.href = url; } } } // Talkampf-Reminder var tk_inner = document.getElementById('tk_inner'); if(talkampfDate.getTime()-countdownDate.getTime() >= 0) { var count = Math.floor(talkampfDate.getTime()/1000)-Math.floor(countdownDate.getTime()/1000); if(count<0) count=0; var seconds = count%60; count = Math.floor(count/60); var minutes = count%60; count = Math.floor(count/60); var hours = count%24; if(hours >=5) { tk_inner.setAttribute('class', 'green'); } else if(hours >=2) { tk_inner.setAttribute('class', 'yellow'); } else if(hours >=1) { tk_inner.setAttribute('class', 'orange'); } else { tk_inner.setAttribute('class', 'red'); } tk_inner.innerHTML = hours+':'+format2(minutes)+':'+format2(seconds); } else { tk_inner.setAttribute('class', 'green'); tk_inner.innerHTML = 'TK läuft'; } // Stammkampf-Reminder var sk_inner = document.getElementById('sk_inner'); if(parseInt(nextSK, 10) != 0) { if(nextSK != 'kein Kampf') { var stammkampfDate = new Date(parseInt(nextSK.split(',')[0], 10)); if(stammkampfDate.getTime()-countdownDate.getTime() >= 0) { var count = Math.floor(stammkampfDate.getTime()/1000)-Math.floor(countdownDate.getTime()/1000); if(count<0) count=0; var seconds = count%60; count = Math.floor(count/60); var minutes = count%60; count = Math.floor(count/60); var hours = count%24; var sk_inner = document.getElementById('sk_inner'); if(hours >=5) { sk_inner.setAttribute('class', 'green'); } else if(hours >=2) { sk_inner.setAttribute('class', 'yellow'); } else if(hours >=1) { sk_inner.setAttribute('class', 'orange'); } else { sk_inner.setAttribute('class', 'red'); } sk_inner.innerHTML = hours+':'+format2(minutes)+':'+format2(seconds); } else if(stammkampfDate.getTime()-countdownDate.getTime() >= -3600000) { // == 1h sk_inner.setAttribute('class', 'green'); sk_inner.innerHTML = 'SK läuft'; } else { sk_inner.setAttribute('class', 'red'); sk_inner.innerHTML = 'old data'; } } else { sk_inner.setAttribute('class', 'yellow'); sk_inner.innerHTML = 'kein Kampf'; } } else { sk_inner.setAttribute('class', 'orange'); sk_inner.innerHTML = 'no data'; } // Magierkampf-Reminder var mk_inner = document.getElementById('mk_inner'); if(magierkampfDate.getTime()-countdownDate.getTime() >= 0) { var count = Math.floor(magierkampfDate.getTime()/1000)-Math.floor(countdownDate.getTime()/1000); if(count<0) count=0; var seconds = count%60; count = Math.floor(count/60); var minutes = count%60; count = Math.floor(count/60); var hours = count%24; count = Math.floor(count/24); hours = hours+24*count; if(hours >=5) { mk_inner.setAttribute('class', 'green'); } else if(hours >=2) { mk_inner.setAttribute('class', 'yellow'); } else if(hours >=1) { mk_inner.setAttribute('class', 'orange'); } else { mk_inner.setAttribute('class', 'red'); } mk_inner.innerHTML = hours+':'+format2(minutes)+':'+format2(seconds); } else { mk_inner.setAttribute('class', 'green'); mk_inner.innerHTML = 'MK läuft'; } setTimeout(countdown, 500); } function checkForNewMessage() { if(document.getElementById('neueNachricht').style.display == 'none') { GM_xmlhttpRequest({ method: "GET", url: "http://szs.looki.de/statistik.php", onload: function(response) { if(response.responseText.indexOf('Du hast eine neue private Nachricht erhalten.') != -1) { document.getElementById('neueNachricht').style.display = 'block'; if(sessionStorage.getItem("RemindNewMessage")) { sessionStorage.setItem("RemindNewMessage", false); var volume = parseFloat(Assi_MessageSoundVolume.replace(',', '.')/100); if(volume<0) volume=0; if(volume>1) volume=1; switch(Assi_Messagesound) { case 'SoundA': audioA.volume = volume; audioA.play(); break; case 'SoundB': audioB.volume = volume; audioB.play(); break; case 'SoundC': audioC.volume = volume; audioC.play(); break; case 'SoundD': audioD.volume = volume; audioD.play(); break; default: break; } if(Assi_MessageReminder) { alert('Du hast eine neue Nachricht erhalten!'); } } } } }); } setTimeout(checkForNewMessage, 20000); } function checkLandControl() { var landControlData = GM_getValue("LandControlData", "#").split('#'); var landids = new Array(); var landControlData2 = new Array(); for(var i=1; i 0) { restZeitString = days+'T '+format2(hours)+':'+format2(minutes)+':'+format2(seconds)+' Std'; } else if (hours > 0) { restZeitString = hours+':'+format2(minutes)+':'+format2(seconds)+' Std'; } else if (minutes > 0) { restZeitString = minutes+':'+format2(seconds)+' Min'; document.getElementById(spanId).setAttribute('style','color:yellow'); } else { restZeitString = seconds+' Sek'; document.getElementById(spanId).setAttribute('style','color:red'); } document.getElementById(spanId).innerHTML = restZeitString; } } function handleHotkey(e) { if(String(e.target).indexOf('[object HTMLBodyElement]') != -1) { var keyCode = e.keyCode ? e.keyCode : (e.charCode ? e.charCode : e.which); var hotkeyTime2 = (new Date).getTime(); if(hotkey == '') { hotkeyTime = (new Date).getTime(); } if(keyCode == 27 || hotkeyTime2-hotkeyTime > Assi_HotkeyTimeout) { hotkey = ''; } else { hotkey += keyCodeToChar(keyCode); if(hotkey != '') { var url = ''; for(var i=0; iWasser suchen') != -1) { url = 'http://szs.looki.de/wasser2.php'; } else if(url.indexOf('http://szs.looki.de/stamm.php?do=kampfsuche') == 0 && main.innerHTML.indexOf('Stammkampf') != -1) { url = 'http://szs.looki.de/stamm.php?do=kampfuserauswahl'; } if(url != '') window.location.href = url; } } } } function keyCodeToChar(key) { var i, keys, c; if(key>=48 && key<=57) { i = 48; keys = '0123456789'; c = keys.charAt(key-i); } else if(key>=96 && key<=105) { i = 96; keys = '0123456789'; c = keys.charAt(key-i); } else if(key>=65 && key<=90) { i = 65; keys = 'abcdefghijklmnopqrstuvwxyz'; c = keys.charAt(key-i); } else { switch(key) { case 37: c = 'LEFT'; break; case 38: c = 'UP'; break; case 39: c = 'RIGHT'; break; case 40: c = 'DOWN'; break; case 60: c = '<'; case 160: c = '^'; break; case 163: c = '#'; break; case 171: c = '+'; break; case 173: c = '-'; break; case 188: c = ','; break; case 190: c = '.'; break; default: c = ''; // ehem. false break; } } return c; } function pageUpdate() { var sp = (Assi_Notizen)? 0 : window.innerWidth/2-390; if(document.getElementById('serverzeit')) document.getElementById('serverzeit').setAttribute('style', 'left: '+(sp+300)+'px'); if(document.getElementById('reminder')) document.getElementById('reminder').setAttribute('style', 'left: '+(sp+550)+'px'); if(document.getElementById('weather')) document.getElementById('weather').setAttribute('style', 'left: '+(sp+730)+'px'); if(document.getElementById('notice')) document.getElementById('notice').setAttribute('style', 'height: '+(window.innerHeight-document.getElementById('notice').offsetTop-25)+'px'); if(document.getElementById('configLayer')) { if(document.getElementById('configLayer').getAttribute('style') && document.getElementById('configLayer').getAttribute('style').indexOf('display: block') != -1) { document.getElementById('configLayer').setAttribute('style', 'display: block; left: '+(sp+160)+'px; height: '+(window.innerHeight-150)+'px'); } else { document.getElementById('configLayer').setAttribute('style', 'display: none; left: '+(sp+160)+'px; height: '+(window.innerHeight-150)+'px'); } } if(document.getElementById('config-content')) document.getElementById('config-content').setAttribute('style', 'height: '+(window.innerHeight-150-75)+'px'); } function addDataForSKresult(username, id, teilnehmer, n) { username = username.trim(); GM_xmlhttpRequest({ method: "POST", url: "http://szs.looki.de/userinfo.php", data: "userdatenname="+escape(username), headers: { "Content-Type": "application/x-www-form-urlencoded" }, onload: function(response) { var anfang = response.responseText.indexOf('Stamm:'); var ende = response.responseText.indexOf('Erfahrung:'); if(anfang != -1 && ende != -1) { var html = response.responseText.slice(anfang, ende); html.search(/(.+)<\/a>/); var stamm = RegExp.$1.trim(); if(typeof stammname[id][stamm] == 'undefined') { stammname[id].push(stamm); stammname[id][stamm] = 1; } else { stammname[id][stamm]++; } anfang = response.responseText.indexOf('Erfahrung:'); ende = response.responseText.indexOf('Alter (im Spiel):'); html = response.responseText.slice(anfang, ende); html.search(/\s*(\d*)\s*<\/td>/); var ep = parseInt(RegExp.$1, 10); if(ep < 0 || isNaN(ep)) ep = 0; gesamtEP[id] += ep; counterGesamtEP[id]--; if(Assi_SKAuswertung && document.getElementById('sk_'+id+'_'+username.replace(/\s/g, ''))) { document.getElementById('sk_'+id+'_'+username.replace(/\s/g, '')).innerHTML += ' ('+number_format(ep)+')'; } if(document.getElementById('ep_'+id) && document.getElementById('stamm_'+id)) { document.getElementById('ep_'+id).innerHTML = number_format(gesamtEP[id]); if(counterGesamtEP[id] != 0) { document.getElementById('ep_'+id).innerHTML += ' (noch '+counterGesamtEP[id]+')'; } // Sortiere Stammnamen if(stammname[id].length > 1) { for(var i=0; i'); var ende = response.responseText.indexOf(''); var html = response.responseText.slice(anfang, ende); if(html.indexOf('Diesen Steinzeitmenschen habe ich nicht gefunden.') == -1) { html.search(new RegExp('href=userinfo.php\\?userinfo=(\\d+)>'+username+'<\\/a>')); var userid = parseInt(RegExp.$1, 10); if(document.getElementById('sk_'+id+'_'+username.replace(/\s/g, ''))) { document.getElementById('sk_'+id+'_'+username.replace(/\s/g, '')).setAttribute('id', 'sk_'+id+'_'+userid); } addDataForSKresult2(userid, id); } else { // Steinzeitmensch konnte nicht gefunden werden if(typeof teilnehmer[n+1] != 'undefined' && (username+' '+teilnehmer[n+1]).length <= 20) { counterGesamtEP[id]--; if(document.getElementById('anz_'+id)) { document.getElementById('anz_'+id).innerHTML = parseInt(document.getElementById('anz_'+id).textContent, 10)-1; } if(document.getElementById('sk_'+id+'_'+username) && document.getElementById('sk_'+id+'_'+teilnehmer[n+1])) { document.getElementById('sk_'+id+'_'+username).setAttribute('id', 'sk_'+id+'_'+username+teilnehmer[n+1]); document.getElementById('sk_'+id+'_'+username+teilnehmer[n+1]).innerHTML += ' '+teilnehmer[n+1]; document.getElementById('sk_'+id+'_'+teilnehmer[n+1]).parentNode.removeChild(document.getElementById('sk_'+id+'_'+teilnehmer[n+1])); } addDataForSKresult(username+' '+teilnehmer[n+1], id, teilnehmer, n+1); } } } } }); } function addDataForSKresult2(userid, id) { GM_xmlhttpRequest({ method: "GET", url: "http://szs.looki.de/userinfo.php?userinfo="+userid, onload: function(response) { var anfang = response.responseText.indexOf('Stamm:'); var ende = response.responseText.indexOf('Erfahrung:'); if(anfang != -1 && ende != -1) { var html = response.responseText.slice(anfang, ende); html.search(/(.+)<\/a>/); var stamm = RegExp.$1.trim(); if(typeof stammname[id][stamm] == 'undefined') { stammname[id].push(stamm); stammname[id][stamm] = 1; } else { stammname[id][stamm]++; } anfang = response.responseText.indexOf('Erfahrung:'); ende = response.responseText.indexOf('Alter (im Spiel):'); html = response.responseText.slice(anfang, ende); html.search(/\s*(\d*)\s*<\/td>/); var ep = parseInt(RegExp.$1, 10); if(ep < 0 || isNaN(ep)) ep = 0; gesamtEP[id] += ep; counterGesamtEP[id]--; if(Assi_SKAuswertung && document.getElementById('sk_'+id+'_'+userid)) { document.getElementById('sk_'+id+'_'+userid).innerHTML += ' ('+number_format(ep)+')'; } if(document.getElementById('ep_'+id) && document.getElementById('stamm_'+id)) { document.getElementById('ep_'+id).innerHTML = number_format(gesamtEP[id]); if(counterGesamtEP[id] != 0) { document.getElementById('ep_'+id).innerHTML += ' (noch '+counterGesamtEP[id]+')'; } // Sortiere Stammnamen if(stammname[id].length > 1) { for(var i=0; i(\d*)<\/font>/); var ep = parseInt(RegExp.$1, 10); if(ep < 0 || isNaN(ep)) ep = 0; gesamtEP += ep; } if(document.getElementById(id)) document.getElementById(id).innerHTML = number_format(gesamtEP); } }); } function addLinksToLogbuch(username, id) { username = username.trim(); GM_xmlhttpRequest({ method: "POST", url: "http://szs.looki.de/userinfo.php", data: "userdatenname="+escape(username), headers: { "Content-Type": "application/x-www-form-urlencoded" }, onload: function(response) { var anfang = response.responseText.indexOf('ID:'); var ende = response.responseText.indexOf('Username:'); if(anfang != -1 && ende != -1) { html = response.responseText.slice(anfang, ende); html.search(/\s*(\d*)\s*<\/td>/); var userid = parseInt(RegExp.$1, 10); } else { var anfang = response.responseText.indexOf(''); var ende = response.responseText.indexOf(''); var html = response.responseText.slice(anfang, ende); if(html.indexOf('Diesen Steinzeitmenschen habe ich nicht gefunden.') == -1) { html.search(new RegExp('href=userinfo.php\\?userinfo=(\\d+)>'+username+'<\\/a>')); var userid = parseInt(RegExp.$1, 10); } else { var userid = 0; } } if(userid > 0 && document.getElementById(id)) { if(id.indexOf('tk') == 0) { document.getElementById(id).innerHTML = ''+htmlspecialchars(username)+''; } else if(id.indexOf('transfer') == 0 || id.indexOf('pn') == 0 || id.indexOf('market') == 0) { document.getElementById(id).innerHTML = ''+htmlspecialchars(username)+''; document.getElementById(id+'-2').innerHTML = 'Nachricht
Übertragen'; } } } }); } function number_format(number, laenge, sep, th_sep, fix) { /* out: String in: number as float laenge as integer (optional) sep as String (optional) th_sep as String (optional) fix as boolean (optional) */ if(!laenge) laenge = 0; if(!sep) sep = ','; if(!th_sep) th_sep = '.'; number = Math.round(number*Math.pow(10, laenge))/Math.pow(10, laenge); str_number = number+''; var arr_int = str_number.split('.'); if(!arr_int[0]) arr_int[0] = '0'; if(!arr_int[1]) arr_int[1] = ''; if(arr_int[1].length < laenge && fix) { var nachkomma = arr_int[1]; for(var i=arr_int[1].length+1; i<=laenge; i++) { nachkomma += '0'; } arr_int[1] = nachkomma; } if(th_sep != '' && arr_int[0].length > 3) { var Begriff = arr_int[0]; arr_int[0] = ''; for(var j=3; j0)? sep : '')+arr_int[1]; } function format2(n) { if(n<10) n = '0'+n; return n.toString(); } function isSommerzeit(d) { return (((new Date(1).getTimezoneOffset()) != (d.getTimezoneOffset()))? true : false); } function getURLParameter(name) { if(location.search) { var params = location.search.substring(1).split('&'); for(var i=0; i/g,'>') ; } function nickSort(a, b) { a = a.toLowerCase(); b = b.toLowerCase(); if(a > b) { return 1; } else if(a < b) { return -1; } else { return 0; } } function hashCode(str) { var hash = 0, chr; str += ''; if(str.length == 0) return hash; for(var i=0; i < str.length; i++) { chr = str.charCodeAt(i); hash = ((hash << 5) - hash) + chr; hash |= 0; // Convert to 32bit integer } return hash; } function getRadioValue(rObj) { for(var i=0; i 1) { volume = 1; } document.getElementById(data[1]).volume = volume; document.getElementById(data[1]).play(); } function saveConfig() { GM_setValue("Assi_UserName", document.getElementsByName('Assi_UserName')[0].value.trim()); GM_setValue("Assi_StammName", document.getElementsByName('Assi_StammName')[0].value.trim()); GM_setValue("Assi_Infoanzeigen", getRadioValue(document.getElementsByName('Assi_Infoanzeigen'))); GM_setValue("Assi_DeinAlter", document.getElementsByName('Assi_DeinAlter')[0].checked); GM_setValue("Assi_FreundeSortierung", document.getElementsByName('Assi_FreundeSortierung')[0].checked); GM_setValue("Assi_Notizen", document.getElementsByName('Assi_Notizen')[0].checked); GM_setValue("Assi_HotkeyTimeout", document.getElementsByName('Assi_HotkeyTimeout')[0].value.trim()); GM_setValue("Assi_InventarIMGheight", document.getElementsByName('Assi_InventarIMGheight')[0].value.trim()); GM_setValue("Assi_InventarTrankreihenfolge", document.getElementsByName('Assi_InventarTrankreihenfolge')[0].value.trim()); GM_setValue("Assi_Lagerauszahlungen", getRadioValue(document.getElementsByName('Assi_Lagerauszahlungen'))); GM_setValue("Assi_LagerauszahlungenNicks", document.getElementsByName('Assi_LagerauszahlungenNicks')[0].value.trim().replace(/\s?,\s?/g, ',')); GM_setValue("Assi_MenuUhrzeit", document.getElementsByName('Assi_MenuUhrzeit')[0].checked); GM_setValue("Assi_MenuSKZeit", document.getElementsByName('Assi_MenuSKZeit')[0].checked); GM_setValue("Assi_MenuVersionTip", document.getElementsByName('Assi_MenuVersionTip')[0].checked); GM_setValue("Assi_SKAuswertung", document.getElementsByName('Assi_SKAuswertung')[0].checked); GM_setValue("Assi_ActivityReminder", document.getElementsByName('Assi_ActivityReminder')[0].checked); GM_setValue("Assi_Remindersound", getRadioValue(document.getElementsByName('Assi_Remindersound'))); GM_setValue("Assi_ReminderSoundVolume", document.getElementsByName('Assi_ReminderSoundVolume')[0].value.trim()); GM_setValue("Assi_Standardtaetigkeit", getRadioValue(document.getElementsByName('Assi_Standardtaetigkeit'))); GM_setValue("Assi_MessageReminder", document.getElementsByName('Assi_MessageReminder')[0].checked); GM_setValue("Assi_Messagesound", getRadioValue(document.getElementsByName('Assi_Messagesound'))); GM_setValue("Assi_MessageSoundVolume", document.getElementsByName('Assi_MessageSoundVolume')[0].value.trim()); GM_setValue("Assi_WaffenWerkzeugWarnung", document.getElementsByName('Assi_WaffenWerkzeugWarnung')[0].checked); GM_setValue("Assi_RingWarnung", document.getElementsByName('Assi_RingWarnung')[0].checked); GM_setValue("Assi_Gaestebucheintrag", document.getElementsByName('Assi_Gaestebucheintrag')[0].checked); GM_setValue("Assi_Kraft", document.getElementsByName('Assi_Kraft')[0].value.trim()); GM_setValue("Assi_Intelligenz", document.getElementsByName('Assi_Intelligenz')[0].value.trim()); GM_setValue("Assi_Geschwindigkeit", document.getElementsByName('Assi_Geschwindigkeit')[0].value.trim()); GM_setValue("Assi_List", document.getElementsByName('Assi_List')[0].value.trim()); GM_setValue("Assi_Ausdauer", document.getElementsByName('Assi_Ausdauer')[0].value.trim()); GM_setValue("Assi_Geschick", document.getElementsByName('Assi_Geschick')[0].value.trim()); GM_setValue("Assi_NahrungRest", document.getElementsByName('Assi_NahrungRest')[0].value.trim()); GM_setValue("Assi_GoldRest", document.getElementsByName('Assi_GoldRest')[0].value.trim()); GM_setValue("Assi_HolzRest", document.getElementsByName('Assi_HolzRest')[0].value.trim()); GM_setValue("Assi_SteinRest", document.getElementsByName('Assi_SteinRest')[0].value.trim()); GM_setValue("Assi_NahrungRund", document.getElementsByName('Assi_NahrungRund')[0].value.trim()); GM_setValue("Assi_GoldRund", document.getElementsByName('Assi_GoldRund')[0].value.trim()); GM_setValue("Assi_HolzPreis", document.getElementsByName('Assi_HolzPreis')[0].value.trim()); GM_setValue("Assi_SteinPreis", document.getElementsByName('Assi_SteinPreis')[0].value.trim()); GM_setValue("Assi_Preishervorhebung", getRadioValue(document.getElementsByName('Assi_Preishervorhebung'))); GM_setValue("Assi_MarktWasserPreis", document.getElementsByName('Assi_MarktWasserPreis')[0].value.trim()); GM_setValue("Assi_MarktHolzPreis", document.getElementsByName('Assi_MarktHolzPreis')[0].value.trim()); GM_setValue("Assi_MarktSteinPreis", document.getElementsByName('Assi_MarktSteinPreis')[0].value.trim()); GM_setValue("Assi_MarktKohlePreis", document.getElementsByName('Assi_MarktKohlePreis')[0].value.trim()); GM_setValue("Assi_MarktKupferPreis", document.getElementsByName('Assi_MarktKupferPreis')[0].value.trim()); GM_setValue("Assi_MarktZinnPreis", document.getElementsByName('Assi_MarktZinnPreis')[0].value.trim()); GM_setValue("Assi_MarktBronzePreis", document.getElementsByName('Assi_MarktBronzePreis')[0].value.trim()); GM_setValue("Assi_MarktWasserverkaufsmenge", document.getElementsByName('Assi_MarktWasserverkaufsmenge')[0].value.trim()); GM_setValue("Assi_MarktHolzverkaufsmenge", document.getElementsByName('Assi_MarktHolzverkaufsmenge')[0].value.trim()); GM_setValue("Assi_MarktSteinverkaufsmenge", document.getElementsByName('Assi_MarktSteinverkaufsmenge')[0].value.trim()); GM_setValue("Assi_MarktKohleverkaufsmenge", document.getElementsByName('Assi_MarktKohleverkaufsmenge')[0].value.trim()); GM_setValue("Assi_MarktKupferverkaufsmenge", document.getElementsByName('Assi_MarktKupferverkaufsmenge')[0].value.trim()); GM_setValue("Assi_MarktZinnverkaufsmenge", document.getElementsByName('Assi_MarktZinnverkaufsmenge')[0].value.trim()); GM_setValue("Assi_MarktBronzeverkaufsmenge", document.getElementsByName('Assi_MarktBronzeverkaufsmenge')[0].value.trim()); GM_setValue("Assi_MarktkleinerHeiltrankverkaufsmenge", document.getElementsByName('Assi_MarktkleinerHeiltrankverkaufsmenge')[0].value.trim()); GM_setValue("Assi_MarktmittlererHeiltrankverkaufsmenge", document.getElementsByName('Assi_MarktmittlererHeiltrankverkaufsmenge')[0].value.trim()); GM_setValue("Assi_MarktstarkerHeiltrankverkaufsmenge", document.getElementsByName('Assi_MarktstarkerHeiltrankverkaufsmenge')[0].value.trim()); GM_setValue("Assi_MarktWachtrankverkaufsmenge", document.getElementsByName('Assi_MarktWachtrankverkaufsmenge')[0].value.trim()); GM_setValue("Assi_MarktstarkerWachtrankverkaufsmenge", document.getElementsByName('Assi_MarktstarkerWachtrankverkaufsmenge')[0].value.trim()); GM_setValue("Assi_MarktHolztrankverkaufsmenge", document.getElementsByName('Assi_MarktHolztrankverkaufsmenge')[0].value.trim()); GM_setValue("Assi_MarktSteintrankverkaufsmenge", document.getElementsByName('Assi_MarktSteintrankverkaufsmenge')[0].value.trim()); GM_setValue("Assi_MarktZinntrankverkaufsmenge", document.getElementsByName('Assi_MarktZinntrankverkaufsmenge')[0].value.trim()); GM_setValue("Assi_MarktKupfertrankverkaufsmenge", document.getElementsByName('Assi_MarktKupfertrankverkaufsmenge')[0].value.trim()); GM_setValue("Assi_MarktWasserverkaufspreis", document.getElementsByName('Assi_MarktWasserverkaufspreis')[0].value.trim()); GM_setValue("Assi_MarktHolzverkaufspreis", document.getElementsByName('Assi_MarktHolzverkaufspreis')[0].value.trim()); GM_setValue("Assi_MarktSteinverkaufspreis", document.getElementsByName('Assi_MarktSteinverkaufspreis')[0].value.trim()); GM_setValue("Assi_MarktKohleverkaufspreis", document.getElementsByName('Assi_MarktKohleverkaufspreis')[0].value.trim()); GM_setValue("Assi_MarktKupferverkaufspreis", document.getElementsByName('Assi_MarktKupferverkaufspreis')[0].value.trim()); GM_setValue("Assi_MarktZinnverkaufspreis", document.getElementsByName('Assi_MarktZinnverkaufspreis')[0].value.trim()); GM_setValue("Assi_MarktBronzeverkaufspreis", document.getElementsByName('Assi_MarktBronzeverkaufspreis')[0].value.trim()); GM_setValue("Assi_MarktkleinerHeiltrankverkaufspreis", document.getElementsByName('Assi_MarktkleinerHeiltrankverkaufspreis')[0].value.trim()); GM_setValue("Assi_MarktmittlererHeiltrankverkaufspreis", document.getElementsByName('Assi_MarktmittlererHeiltrankverkaufspreis')[0].value.trim()); GM_setValue("Assi_MarktstarkerHeiltrankverkaufspreis", document.getElementsByName('Assi_MarktstarkerHeiltrankverkaufspreis')[0].value.trim()); GM_setValue("Assi_MarktWachtrankverkaufspreis", document.getElementsByName('Assi_MarktWachtrankverkaufspreis')[0].value.trim()); GM_setValue("Assi_MarktstarkerWachtrankverkaufspreis", document.getElementsByName('Assi_MarktstarkerWachtrankverkaufspreis')[0].value.trim()); GM_setValue("Assi_MarktHolztrankverkaufspreis", document.getElementsByName('Assi_MarktHolztrankverkaufspreis')[0].value.trim()); GM_setValue("Assi_MarktSteintrankverkaufspreis", document.getElementsByName('Assi_MarktSteintrankverkaufspreis')[0].value.trim()); GM_setValue("Assi_MarktZinntrankverkaufspreis", document.getElementsByName('Assi_MarktZinntrankverkaufspreis')[0].value.trim()); GM_setValue("Assi_MarktKupfertrankverkaufspreis", document.getElementsByName('Assi_MarktKupfertrankverkaufspreis')[0].value.trim()); var strHotkeys = ''; for(var i=0; i