// ==UserScript== // @name Pfandflaschensammler // @namespace http://userscripts.org/scripts/show/85124 // @author lmk (wieder lauffaehig gemacht und erweitert von We1hnachtsmann) // @license GPL version 3 or any later version; http://www.gnu.org/copyleft/gpl.html // @copyright (c) 2009, lmk. // @description Nach beendetem Pfandflaschensammeln wird ein Hinweis auf der zuletzt geoeffneten Seite ausgegeben und es kann zur Pfandflaschensammelseite weitergeleitet werden. // @grant GM_getValue // @grant GM_setValue // @grant GM_xmlhttpRequest // @grant GM_deleteValue // @grant GM_listValues // @include http://*.pennergame.de/* // @include http://pennergame.de/* // @include http://*.dossergame.co.uk/* // @include http://dossergame.co.uk/* // @include http://*.menelgame.pl/* // @include http://menelgame.pl/* // @include http://*.bumrise.com/* // @include http://bumrise.com/* // @include http://*.clodogame.fr/* // @include http://clodogame.fr/* // @include http://*.mendigogame.es/* // @include http://mendigogame.es/* // @include http://*.mendigogame.com/* // @include http://mendigogame.com/* // @include http://*.faveladogame.com/* // @include http://faveladogame.com/* // @include http://*.bomzhuj.ru/* // @include http://bomzhuj.ru/* // @exclude http://*board.pennergame.de/* // @exclude http://mobile.pennergame.de/* // @version 2.6.3 Anpassungen für Mini-Spiel "Zecken für Ecken" // @downloadURL none // ==/UserScript== // @version 2.6.2 Kleine Anpassungen für Missionsplunder; Probleme mit Fußballspiel behoben // @version 2.6.1 Erweiterung Erledigung Tägliche Aufgabe und Mini-Spiel "Umkleidekabine" // @version 2.5.16 Erweiterung für Mini-Spiel "Russisch Roulette" // @version 2.5.15 Abschalten des Mini-Spiels "Russisch Roulette" // @version 2.5.14 Anpassungen für Mini-Spiel "Eierklau 2015" // @version 2.5.13 Mini-Spiel "Osterfeuer 2015" // @version 2.5.12 Spenden holen // @version 2.5.11 Kamellen suchen // @version 2.5.10 Unnötige Aufrufe der Eventseite abgestellt // @version 2.5.9 Automatik funktionierte nicht mehr // @version 2.5.8 Probleme mit Event-Seite behoben // @version 2.5.7 Vatikan: Flaschenverkauf bei Überschreiten eines maximalen Füllgrads // @version 2.5.6 Adventsspiel: Plätzchenklau, Korrektur // @version 2.5.5 Adventsspiel: Plätzchenklau // @version 2.5.4 Fehler bei Erkennung eines vorhandenen Updates behoben // @version 2.5.3 Erkennung des beendeten Minigames fehlerhaft; Sammelmarken einlösen // @version 2.5.2 automatischer Aufruf der Event-Seite falls nötig // @version 2.5.1 erste Version Vatikan und neues Rentier-Spiel // @version 2.4.3 Korrekturen; Gehalt automatisch abholen // @version 2.4.2 Erweiterungen und Korrekturen für Eckfahnenspiel 2014 // @version 2.4.1 Wechsel auf greasyfork.org; Verbrechensstart erweitert // @version 2.3.34 Anpassungen für Sommergame 2014 (Zollbeamter) // @version 2.3.33 noch eine Korrektur zu Anpassungen für Ostergame 2014 // @version 2.3.32 Korrektur zu Anpassungen für Ostergame 2014 // @version 2.3.31 Anpassungen für Ostergame 2014 // @version 2.3.30 Fehler bei Anpassung an neues Karnevalgame behoben // @version 2.3.29 Anpassung an neues Karnevalgame // @version 2.3.28 kleine Korrektur: bei automatischen Verbrechen kam u.U. eine Abfrage // @version 2.3.27 2. Korrektur zu Anpassungen an Xmas-Minigame 2013 // @version 2.3.26 Korrektur zu Anpassungen an Xmas-Minigame 2013 // @version 2.3.25 Anpassungen an Xmas-Minigame 2013 // @version 2.3.24 Skript lief nicht mehr richtig // @version 2.3.23 Checkbox auf Login-Seite fehlte // @version 2.3.22 Fehler im letzten Update behoben // @version 2.3.21 Anpassung wegen anderen Aufbaus der Counter; Beseitigung von Fehlermeldungen // @version 2.3.20 Erweiterung um Minispiel Piratenschatz // @version 2.3.19 Erweiterung um Minispiel Zollkontrolle // @version 2.3.18 Erweiterung um Kofferpackspiel // @version 2.3.17 kein automatisches Wiedereinloggen, wenn explizit ausgeloggt wurde // @version 2.3.16 automatisches Wiedereinloggen // @version 2.3.15 Korrektur wegen Stadtfeind // @version 2.3.14 Testmeldung entfernt // @version 2.3.13 kleinere Erweiterungen; Reparatur nach Totalausfall // @version 2.3.12 Korrektur wegen Stadtfeind // @version 2.3.11 noch einmal Updateverfahren korrigiert // @version $Id: pfandflaschensammler.user.js 97 2015-06-17 07:18:15Z mkl $ /* Automatic click on "start collecting" | Automatischer Klick auf "Sammeln" */ var autoSubmit = true; //false; /* Alert messages */ var msgDone1 = "Das Pfandflaschensammeln wurde beendet."; // "Collecting done"; var msgDone2 = "Klicke auf OK um die Aktionsseite zu " + unescape("%F6") + "ffnen."; // "Click ok to open actions-page"; var msgAttackEnemy = "Es wurde ein Angriff auf den Stadtfeind Nr. 1 gestartet. Seite aktualisieren ?"; /* Captcha select title*/ var strTime = "Zeit: "; // "Time: "; var intervalTime = 4000; var done = " -/-"; // text after counter reached 0:00 var done0 = "00:00"; // alternative text after counter reached 0:00 var time = String(new Date().getTime()); var counter = done; var fcounter = done; var nameTime = "time"; var nameLastCollectTime = "LastCollectTime"; var checkInterval; var TOWNEXTENSION = window.location.host; var m_ownuserid; var THISSCRIPTVERSION = GM_info.script.version.match(/[\d\.]*/)[0]; var THISSCRIPTNAME = GM_info.script.name; var THISSCRIPTINSTALL_URLGF = "https://greasyfork.org/scripts/1049-pfandflaschensammler"; var language = document.getElementsByName("language")[0].content; // Version ermitteln var oldVersion = 1; if (!document.getElementById("login")) { var host = location.toString(); var pos = host.lastIndexOf("//") + 2; host = host.substr(pos); pos = host.indexOf("/"); host = host.substr(0, pos); GM_setValue("ErrorCounter_" + host, GM_getValue("ErrorCounter_" + host, 0) + 1); oldVersion = 0; setTimeout(reload, 10000, "main"); } else doTheAction(); // ********************************************************************************** // ********************************************************************************** // Funktion extrahiert die eigene UserID // ********************************************************************************** // ********************************************************************************** function getOwnUserID() { // Eigene UserID ermitteln var ownuserid = document.getElementById('my-profile').innerHTML.split('href="/profil/id:')[1]; ownuserid = ownuserid.split('/"')[0]; return ownuserid; } // Holen einer Variablen mit User-Id function PGu_getValue(varname, deflt) { return GM_getValue(TOWNEXTENSION + varname + m_ownuserid, deflt); } // Setzen einer Variablen mit User-Id function PGu_setValue(varname, value) { GM_setValue(TOWNEXTENSION + varname + m_ownuserid, value); } // Leschen einer Variablen mit User-Id function PGu_delete(varname) { GM_deleteValue(TOWNEXTENSION + varname + m_ownuserid); } // *********************************************************************************************** // *********************************************************************************************** // formats a date into the format "YYYY-MM-DD" // *********************************************************************************************** // *********************************************************************************************** function FormatDate(DateToFormat) { var year = DateToFormat.getFullYear(); var month = DateToFormat.getMonth() + 101 + ""; var day = DateToFormat.getDate() + 100 + ""; return year + "-" + month.slice(1) + "-" + day.slice(1); } // ********************************************************************************** // ********************************************************************************** // returns the money value // ********************************************************************************** // ********************************************************************************** function GetMoney(doc) { var money = doc.getElementsByClassName("icon money")[0].getElementsByTagName("a")[0]; money = Number(money.innerHTML.match(/[\d.,]+/)[0].replace(/[.,]/g, "")); return money; } // ********************************************************************************** // ********************************************************************************** // returns the promille value // ********************************************************************************** // ********************************************************************************** function GetPromille(doc) { var promille = doc.getElementsByClassName("icon beer")[0].getElementsByTagName("a")[0]; promille = Number(promille.innerHTML.trim().substr(0, 6).trim()); return promille; } // *********************************************************************************************** // *********************************************************************************************** // check for a new script version and display a message, if there is one // *********************************************************************************************** // *********************************************************************************************** function CheckForUpdate() { // create and format actual date var today = new Date(); var tagesdatum = FormatDate(today); // if not searched for a new version of the script today if (GM_getValue("LastUpdateCheckGF","") != tagesdatum) { // ********************************************************************************** // *** GM_XMLHTTPREQUEST *** Abrufen der Skriptseite von greasyfork.org // ********************************************************************************** GM_xmlhttpRequest({method: 'GET', url: THISSCRIPTINSTALL_URLGF, headers:{ "Accept":"text/javascript; charset=UTF-8" }, overrideMimeType:"application/javascript; charset=UTF-8", onload:function(responseDetails) { // Wenn die Seite erfolgreich abgerufen werden konnte if (responseDetails.status == 200) { var content = responseDetails.responseText; // Ermitteln der Skriptversion if (content.indexOf("@version") != -1) var scriptfullversion = content.split('@version')[1].trim().split('\n')[0]; else var scriptfullversion = content.split('"script-show-version">').pop().split('').pop(); var scriptversion = scriptfullversion.split(' ')[0]; scriptfullversion = scriptfullversion.substr(scriptversion.length+1); // if there is a new version of the script if (scriptversion != THISSCRIPTVERSION) { // build the message var alerttext = "Es gibt eine neue Version des Skriptes '" + THISSCRIPTNAME + "':\n\n" + scriptfullversion + "\n\nDie neue Version kann Fehlerbehebungen und/oder neue Funktionen beinhalten.\nHier gibt es weitere Infos über die neue Version:\n\n" + THISSCRIPTINSTALL_URLGF + "\n\nEine Aktualisierung ist empfehlenswert und kann direkt anschließend durchgeführt werden.\n\nHinweis: Die überprüfung auf neue Versionen wird nur einmal pro Tag durchgeführt." // display the message alert(alerttext); // load the page with the new script for installation window.location.href = THISSCRIPTINSTALL_URLGF+'/code/Pfandflaschensammler.user.js'; } } } }); // memorize the new date GM_setValue("LastUpdateCheckGF", tagesdatum) } } // *********************************************************************************************** // *********************************************************************************************** // check for new minigame // *********************************************************************************************** // *********************************************************************************************** function CheckNewMinigame() { var today = new Date(); var timeout = Math.min(PGu_getValue("minigame_wait", -1), PGu_getValue("slipgame_wait", -1)) - today.getTime(); if (timeout < 2000) timeout = 2000; var enemy = document.getElementById("enemy_info"); if (enemy) { var einfo = document.getElementById("wrap").innerHTML.split("#enemy_info").pop(); if (einfo.indexOf("window.location") == -1) return; var addr = einfo.split("location")[1].split('"')[1]; var tagesdatum = FormatDate(today); if (tagesdatum == PGu_getValue("minigame_date", "xx") && PGu_getValue("minigame_noon", "xx") != tagesdatum) { if (today.getHours() > 12) { PGu_setValue("minigame_noon", tagesdatum); PGu_setValue("minigame_date", "xx"); } } if (tagesdatum == PGu_getValue("slipgame_date", "xx") && PGu_getValue("slipgame_noon", "xx") != tagesdatum) { if (today.getHours() > 12) { PGu_setValue("slipgame_noon", tagesdatum); PGu_setValue("slipgame_date", "xx"); } } //PGu_setValue("minigame_date", "xx"); if (PGu_getValue("slipgame_date", "xx") != tagesdatum) { if (window.location.pathname.indexOf(addr) == -1) { GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.host + addr, onload:function(responseDetails) { var content = responseDetails.responseText; var pos = content.indexOf('href="javascript:slipgame_show'); if (pos == -1) { PGu_setValue("slipgame_date", tagesdatum); if (today.getHours() > 12) PGu_setValue("slipgame_noon", tagesdatum); } else window.location.href = window.location.protocol + '//' + window.location.host + addr; }}); return; } } else if (PGu_getValue("minigame_date", "xx") != tagesdatum || PGu_getValue("minigame_success", 0) == 0) { if (Number(PGu_getValue("minigame_plunderreq", -1)) < today.getTime()) PGu_setValue("minigame_plunderanz", -1); if (window.location.pathname.indexOf(addr) == -1 && PGu_getValue("minigame_wait", -1) <= today.getTime() && PGu_getValue("minigame_plunderanz", -1) != 0) { if (PGu_getValue("minigame_plunderanz", -1) == -1 && Number(PGu_getValue("minigame_plunderreq", -1)) < today.getTime()) { GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.host + addr, onload:function(responseDetails) { var content = responseDetails.responseText; var pos = content.indexOf('href="javascript:minigame_show'); if (pos == -1) { PGu_setValue("minigame_date", tagesdatum); if (today.getHours() > 12) PGu_setValue("minigame_noon", tagesdatum); } else window.location.href = window.location.protocol + '//' + window.location.host + addr; }}); } return; } } else { if (today.getHours() < 12) timeout = 43500000 - Number(today.getTime())%86400000; else timeout = 86400000 - Number(today.getTime())%86400000; } } if (document.getElementById("display")) { if (document.getElementById("display").getElementsByClassName("cbox").length > 0) timeout = DoNewMinigame(1); else if (document.getElementById("display").getElementsByClassName("field").length > 0) timeout = DoNewMinigame(2); else if (document.getElementById("display").getElementsByClassName("modal_close").length == 0 || document.getElementById("display").style.display == "none") { var today = new Date(); var tagesdatum = FormatDate(today); if (PGu_getValue("slipgame_date", "xx") != tagesdatum || PGu_getValue("minigame_date", "xx") != tagesdatum || PGu_getValue("minigame_success", 0) == 0) { var gamepre = "mini"; if (PGu_getValue("slipgame_date", "xx") != tagesdatum) gamepre = "slip"; var pos = document.getElementById("content").innerHTML.indexOf("javascript:"+gamepre+"game_show"); if (pos != -1) { if (gamepre == "mini") unsafeWindow.minigame_show(); else unsafeWindow.slipgame_show(); } else { PGu_setValue(gamepre+"game_date", tagesdatum); if (today.getHours() > 12) PGu_setValue(gamepre+"game_noon", tagesdatum); } } } } if (timeout == -1) window.location.href = window.location.protocol + '//' + window.location.host + addr; else if (timeout > 0) window.setTimeout(CheckNewMinigame, timeout); } // *********************************************************************************************** // *********************************************************************************************** // play the new minigame // *********************************************************************************************** // *********************************************************************************************** function DoNewMinigame (mode) { var today = new Date(); var tagesdatum = FormatDate(today); if (mode == 1) { var tbl = document.getElementById("display").getElementsByClassName("cbox")[0]; var game = "roulette_"; var className = "chamber"; } else { var tbl = document.getElementById("display").getElementsByTagName("div")[0]; if (tbl.innerHTML.indexOf("icon_freispiel") == -1) { PGu_setValue("slipgame_date", tagesdatum); if (today.getHours() > 12) PGu_setValue("slipgame_noon", tagesdatum); if (today.getHours() < 12) var to = 43500; else var to = 86400; to = (to - today.getHours()*3600-today.getMinutes()*60-today.getSeconds()) * 1000 + today.getTime(); PGu_setValue("slipgame_wait", to.toString()); return -1; } var game = "slipgame_"; var className = "field"; } if (tbl.innerHTML.indexOf(game) != -1) { var chamber = tbl.getElementsByClassName(className); if (chamber.length > (game == "roulette_"?1:0)) { var rnd = Math.floor(Math.random()* chamber.length); chamber[rnd].click(); return 2000; } } if (tbl.innerHTML.indexOf("_success.png") != -1 || tbl.innerHTML.indexOf("minigame_count") == -1 || tbl.innerHTML.indexOf("roulette_") != -1) { PGu_setValue("minigame_success", 1); PGu_setValue("minigame_date", tagesdatum); if (today.getHours() > 12) PGu_setValue("minigame_noon", tagesdatum); if (today.getHours() < 12) var to = 43500; else var to = 86400; to = (to - today.getHours()*3600-today.getMinutes()*60-today.getSeconds()) * 1000 + today.getTime(); PGu_setValue("minigame_wait", to.toString()); return to - today.getTime(); } var trs = tbl.getElementsByTagName("tr"); for (j = 0; j < trs.length; j++) if (trs[j].innerHTML.indexOf("minigame_count") != -1) break; if (j == trs.length) return 0; var pos = trs[j].innerHTML.indexOf("minigame_count"); PGu_setValue("minigame_date", tagesdatum); if (today.getHours() > 12) PGu_setValue("minigame_noon", tagesdatum); if (trs[j].innerHTML.indexOf("minigame_countdown") != -1) { var span = trs[j].getElementsByTagName("span"); var seks = 0; if (span.length > 0) for (jj = 0; jj < 1; jj++) { var timer = span[jj].innerHTML; if (timer == done) { seks = 0; } else if (timer.indexOf(":") != -1) { var time = timer.split(":"); seks = (parseInt(time[0])*60 + parseInt(time[1])) * 1000; } } if (seks == 0) { unsafeWindow.minigame_show(); seks = 2000; } var time = Number(new Date().getTime()) + seks; PGu_setValue("minigame_wait", String(time)); return seks; } if (trs[j].style.background.indexOf("_success.png") != -1 || trs[j].style.background.indexOf("_unsuccess.png") != -1 || trs[j].style.background.indexOf("_normal.png") != -1 || trs[j].style.background.indexOf("_success.jpg") != -1 || trs[j].style.background.indexOf("_unsuccess.jpg") != -1 || trs[j].style.background.indexOf("_normal.jpg") != -1) { var success = PGu_getValue("minigame_success", 0); if (success == 1) { if (trs[j].style.background.indexOf("_success.png") == -1 || trs[j].innerHTML.indexOf("minigame_count") != -1) { PGu_setValue("minigame_value", -1); PGu_setValue("minigame_success", 0); success = 0; } else return (86400-today.getHours()*3600-today.getMinutes()*60-today.getSeconds()) * 1000; } if (success == 0) { if (trs[j].style.background.indexOf("_success.png") != -1 || trs[j].innerHTML.indexOf("minigame_count") == -1) { PGu_setValue("minigame_success", 1); PGu_setValue("minigame_date", tagesdatum); PGu_setValue("minigame_noon", tagesdatum); return (86400-today.getHours()*3600-today.getMinutes()*60-today.getSeconds()) * 1000; } else { var nextValue = PGu_getValue("minigame_value", -1) + 1; var plnd = trs[j].innerHTML.substr(pos).match(/")[0]; var tabs = table.split(" 3) var pltab = 6; else var pltab = 1; GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/stock/plunder/ajax/?c='+pltab, onload:function(responseDetails) { var content = responseDetails.responseText; PGu_setValue("minigame_plunderreq", String(today.getTime()+300000)); var Plnd = content.split(decodeURI(plnd)); if (Plnd.length < 2) return; var plndanz = Plnd[1].split("")[1].split("<")[0]; plndanz = Number(plndanz.split("x ")[1].trim()); if (plndanz < nextValue%10+1) { PGu_setValue("minigame_plunderanz", plndanz); return; } PGu_setValue("minigame_value", nextValue); PGu_setValue("minigame_plunderanz", plndanz - (nextValue%10+1)); document.getElementById("minigame_count").innerHTML = nextValue%10+1; var sub = trs[j].innerHTML.split("minigame_try('")[1].split("'")[0]; unsafeWindow.minigame_try(sub); } }); } }); return 0; } if (plndanz < nextValue%10+1) return 300000; PGu_setValue("minigame_value", nextValue); PGu_setValue("minigame_plunderanz", plndanz - (nextValue%10+1)); document.getElementById("minigame_count").innerHTML = nextValue%10+1; var sub = trs[j].innerHTML.split("minigame_try('")[1].split("'")[0]; unsafeWindow.minigame_try(sub); } } } return 2000; } // *********************************************************************************************** // *********************************************************************************************** // check for minigame and play it // *********************************************************************************************** // *********************************************************************************************** function CheckMinigame () { if (window.location.pathname.indexOf("/activities/") == -1) return; var minigames = new Array("halloween", "summer13", "event/aug13_2"); var tbl = document.getElementsByTagName("table"); for (i = 0; i < tbl.length; i++) { for (var tk = 0; tk < minigames.length; tk++) if (tbl[i].innerHTML.indexOf("/" + minigames[tk] + "/") != -1) break; var trs = tbl[i].getElementsByTagName("tr"); for (j = 0; j < trs.length; j++) { for (var k = 0; k < minigames.length; k++) if (trs[j].innerHTML.indexOf("/" + minigames[k] + "/") != -1) break; if (tk < minigames.length || k < minigames.length) { var seks = 0; if (j + 1 < trs.length) { var span = trs[j+1].getElementsByTagName("span"); if (span.length > 0) for (jj = 0; jj < 1; jj++) { var timer = span[jj].innerHTML; if (timer == done) { seks = 0; } else if (timer.indexOf(":") != -1) { var time = timer.split(":"); seks = parseInt(time[0])*60 + parseInt(time[1]); } } } if (seks > 0) { checkInt = window.setTimeout(CheckMinigame,seks*1000); return; } else if (trs[j].style.background.indexOf("/success.jpg") != -1 || trs[j].style.background.indexOf("/fail.jpg") != -1 || trs[j].style.background.indexOf("/normal.jpg") != -1) { var success = PGu_getValue("minigame_success", 0); if (success == 1) { if (trs[j].style.background.indexOf("/success.jpg") == -1) { PGu_setValue("minigame_value", -1); PGu_setValue("minigame_success", 0); success = 0; } else checkInt = window.setTimeout(reload, 300000, "CheckMinigame1"); } if (success == 0) { if (trs[j].style.background.indexOf("/success.jpg") != -1) { PGu_setValue("minigame_success", 1); } else { var options = trs[j].innerHTML.split(' 0) { checkInt = window.setTimeout(reload, seks*1000, "CheckMinigame3"); return; } else { var success = PGu_getValue("XmasMini_success", 0); if (success == 1) { if (trs[j].style.background.indexOf("minigame_success") == -1) { PGu_setValue("XmasMini_value", -1); PGu_setValue("XmasMini_success", 0); success = 0; } else checkInt = window.setTimeout(reload, 600000, "CheckMinigame4"); } if (success == 0) { if (trs[j].style.background.indexOf("minigame_success") != -1) { PGu_setValue("XmasMini_value", -1); PGu_setValue("XmasMini_success", 1); checkInt = window.setTimeout(reload, 600000, "CheckMinigame5"); } else { var options = trs[j].innerHTML.split(' 1) name = name[1].split('"')[0]; else continue; var value = inputs[ii].split('value="'); if (value.length > 1) value = value[1].split('"')[0]; else continue; if (input != "") input += "&"; input += name + "=" + value; } if (k < minigames.length) { var seks = 0; dk = 1; if (j + 1 < trs.length) { var span = trs[j+1].getElementsByTagName("span"); if (span.length > 0) for (jj = 0; jj < 1; jj++) { var timer = span[jj].innerHTML; if (timer == done) { seks = 0; } else if (timer.indexOf(":") != -1) { var time = timer.split(":"); seks = parseInt(time[0])*60 + parseInt(time[1]); } } } if (seks > 0) { checkInt = window.setTimeout(CheckMinigame,seks*1000); return; } else if (trs[j].style.background.indexOf("success.jpg") != -1 || trs[j].style.background.indexOf("unsuccess.jpg") != -1 || trs[j].style.background.indexOf("normal.jpg") != -1) { var success = PGu_getValue("minigame_success", 0); if (success == 1) { if (trs[j].style.background.indexOf("success.jpg") == -1) { PGu_setValue("minigame_value", -1); PGu_setValue("minigame_success", 0); success = 0; } else checkInt = window.setTimeout(reload, 300000, "CheckMinigame7"); } if (success == 0) { if (trs[j].style.background.indexOf("success.jpg") != -1) { PGu_setValue("minigame_success", 1); } else { var options = trs[j].innerHTML.split(' 0) { checkInt = window.setTimeout(reload, seks*1000, "CheckMinigame8"); return; } else { var eventurl = PG_getValue(TOWNEXTENSION + "eventURL", ""); if (eventurl != "") window.location.href = window.location.protocol + '//' + window.location.host + eventurl; } } break; } } } } function insertCheckBox() { var newtd = document.createElement("td"); newtd.setAttribute('style', 'padding-top: 10px; padding-bottom: 10px'); newtd.innerHTML = ' Automatisch sammeln'; document.getElementsByName("xycoords")[0].parentNode.insertBefore(newtd, document.getElementsByName("xycoords")[0]); document.getElementById("BCCheckbox").checked = PGu_getValue("AutoCollect", false); // Click-Handler hinzufügen document.getElementById("BCCheckbox").addEventListener("click", function(event) { // Klickstatus speichern PGu_setValue("AutoCollect", this.checked); if (this.checked) { var timeOptions = document.getElementsByName("time")[0]; PGu_setValue(nameLastCollectTime, timeOptions.selectedIndex); } }, false); } function insertCheckBox2() { var newtd = document.createElement("td"); newtd.setAttribute('style', 'padding-top: 10px; padding-bottom: 10px'); var male = ""; if (PGu_getValue("AutoCrime", false)) male = " (noch " + PGu_getValue("AutoCrimeFkt", 0) + " Mal)"; newtd.innerHTML = ' Automatisch starten' + male + ''; var buttons = document.getElementsByTagName("button"); if (buttons.length > 0) var button = buttons[0]; else { buttons = document.getElementsByName("xycoords"); var button = buttons[buttons.length-1]; } button.parentNode.insertBefore(newtd, button); document.getElementById("SCCheckbox").checked = PGu_getValue("AutoCrime", false); // Click-Handler hinzufügen document.getElementById("SCCheckbox").addEventListener("click", function(event) { // Klickstatus speichern if (this.checked) { if (PGu_getValue("AutoCrimePic", "") == "") { if (TOWNEXTENSION == "VT") alert("Bitte erst Sünde festlegen !!"); else alert("Bitte erst Verbrechen festlegen !!"); this.checked = false; } if (PGu_getValue("AutoCrimeFkt", -1) <= 0) PGu_setValue("AutoCrimeFkt", 1); } PGu_setValue("AutoCrime", this.checked); reload("insertCheckBox2"); }, false); } function insertCheckBox3(button) { var crimepic = button.parentNode.parentNode.innerHTML.split('plunder_crime/')[1].split('"')[0]; var name = 'CbButton_' + crimepic; var newtd = document.createElement("td"); newtd.setAttribute('style', 'padding-top: 10px; padding-bottom: 10px'); newtd.innerHTML = ' diese' + (TOWNEXTENSION=="VT"?" Sünde":"s Verbrechen") + '  mal automatisch starten'; button.parentNode.appendChild(newtd, button); var crimep = PGu_getValue("AutoCrimePic", ""); if (crimep == crimepic) { document.getElementById(name).checked = true; document.getElementById(name+"Fkt").value=PGu_getValue("AutoCrimeFkt",1); } // Click-Handler hinzufügen document.getElementById(name+"Fkt").addEventListener("change", function(event) { var crimeFkt = parseInt(document.getElementById(this.id).value); if (isNaN(crimeFkt)) crimeFkt = 1; document.getElementById(this.id).value = crimeFkt; PGu_setValue("AutoCrimeFkt", crimeFkt); }, false); // Click-Handler hinzufügen document.getElementById(name).addEventListener("click", function(event) { var crimepic = this.id.split("_")[1]; crimepic = this.parentNode.parentNode.parentNode.innerHTML.split('plunder_crime/')[1].split('"')[0]; if (this.parentNode.parentNode.innerHTML.split("start_crime(").length > 1) var crimeNr = this.parentNode.parentNode.innerHTML.split("start_crime(")[1].split(")")[0]; else var crimeNr = 0; // Klickstatus speichern if (this.checked) { PGu_setValue("AutoCrime", true); PGu_setValue("AutoCrimePic", crimepic); PGu_setValue("AutoCrimeNr", crimeNr); var crimeFkt = parseInt(document.getElementById(this.id+"Fkt").value); if (isNaN(crimeFkt) || crimeFkt <= 0) crimeFkt = 1; document.getElementById(this.id+"Fkt").value = crimeFkt; PGu_setValue("AutoCrimeFkt", crimeFkt); var buttons = document.getElementsByName("CbCrime"); for (i = 0; i < buttons.length; i++) { var crimep = buttons[i].parentNode.parentNode.parentNode.innerHTML.split('plunder_crime/')[1].split('"')[0]; if (crimepic != crimep) { document.getElementById(buttons[i].id).checked = false; document.getElementById(buttons[i].id+"Fkt").value = ""; } } } else { PGu_setValue("AutoCrimePic", ""); PGu_setValue("AutoCrimeNr", 0); PGu_setValue("AutoCrimeFkt", 0); PGu_setValue("AutoCrime", false); } }, false); } function insertCheckBox4() { var newtd = document.createElement("li"); newtd.setAttribute('style', 'padding-top: 10px; padding-bottom: 10px'); newtd.innerHTML = ' Geld automatisch einsacken'; var tieritems = document.getElementsByClassName("tieritemA"); for (i = 0; i < tieritems.length; i++) { if (tieritems[i].innerHTML.indexOf("minijobs") != -1 || tieritems[i].innerHTML.indexOf("change_please") != -1) { var lis = tieritems[i].getElementsByClassName("double"); if (lis.length == 0) lis = tieritems[i].getElementsByClassName("first"); lis = lis[lis.length-1].getElementsByTagName("li"); lis[lis.length-1].parentNode.appendChild(newtd, lis[lis.length-1]); document.getElementById("GSCheckbox").checked = PGu_getValue("getSalary", false); // Click-Handler hinzufügen document.getElementById("GSCheckbox").addEventListener("click", function(event) { // Klickstatus speichern PGu_setValue("getSalary", this.checked); }, false); } } } function selectcraft(i, craftlist, usedPlunder, tr) { function handleClick(id, value) { // neuen Wert speichern var craftnr = id.replace("craftid", ""); if (value == "0") usedPlunder.splice(craftnr, 1); else { usedPlunder[craftnr] = value; PGu_setValue("craftindex", 0); } PGu_setValue("craftlist", usedPlunder.join(";")); for (var i = 0; document.getElementById("craftid"+i); i++) { if (i == usedPlunder.length - 1) { if (document.getElementById("craftid"+(i+1))) document.getElementById("craft"+(i+1)).parentNode.parentNode.style.visibility = "visible"; else { var newtd = document.createElement("td"); newtd.setAttribute('style', 'padding-top: 10px; padding-bottom: 10px'); var newtr = document.createElement("tr"); var option = ' '; for (var j = 0; j < craftlist.length; j++) { var pos = usedPlunder.indexOf(craftlist[j][1]); if (pos == -1) option += ' '; } newtd.innerHTML = '
wenn nicht möglich, dann:
'; newtr.appendChild(newtd, newtr); tr.parentNode.appendChild(newtr, tr); // Click-Handler hinzufügen document.getElementById("craftid"+(i+1)).addEventListener("change", function(event) { handleClick(this.id, this.value); }, false); continue; } } if (i > usedPlunder.length) { document.getElementById("craft"+i).parentNode.parentNode.style.visibility = "hidden"; continue; } var option = ' '; for (var j = 0; j < craftlist.length; j++) { var pos = usedPlunder.indexOf(craftlist[j][1]); if (pos == -1 || pos == i) option += ' '; } document.getElementById("craftid"+i).innerHTML = option; document.getElementById("craftid"+i).value = i < usedPlunder.length?usedPlunder[i]:"0"; } } var option = ' '; for (var j = 0; j < craftlist.length; j++) { var pos = usedPlunder.indexOf(craftlist[j][1]); if (pos == -1 || pos == i) option += ' '; } var newtd = document.createElement("td"); var newtr = document.createElement("tr"); newtd.setAttribute('style', 'padding-top: 10px; padding-bottom: 10px'); var pid = i < usedPlunder.length?usedPlunder[i]:"0"; newtd.innerHTML = '
' + (i==0?"Plunder basteln":"wenn nicht möglich, dann") + ':
'; newtr.appendChild(newtd, newtr); tr.parentNode.appendChild(newtr, tr); document.getElementById("craftid"+i).value = pid; if (!PGu_getValue("autoDaily", false)) document.getElementById("craft"+i).parentNode.parentNode.style.visibility = "hidden"; else document.getElementById("craft"+i).parentNode.parentNode.style.visibility = "visible"; // Click-Handler hinzufügen document.getElementById("craftid"+i).addEventListener("change", function(event) { handleClick(this.id, this.value); }, false); } function getPlunderlist(k, pltab, allplunder, tr, mode, mincost) { GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/stock/plunder/ajax/?c='+k, onload:function(responseDetails) { var content = responseDetails.responseText; var trs = content.split("x ")[0].split("").pop().trim(); var plAnz = trs[i].split(">x ")[1].split("<")[0].trim(); var pid = trs[i].split('pm_')[1].split("'")[0].trim(); var cost = trs[i].split("show_multiple_sell")[1].split("
  • ")[1].split("
  • ")[0].split("(")[1].match(/ .*[\d.,]+/)[0].trim(); var cost2 = Number(cost.match(/[\d.,]+/)[0].replace(/[.,]/g, "")); for (var j = 0; j < allplunder.length; j++) if (allplunder[j][4] < cost2) break; allplunder.splice(j, 0, new Array(plname, plAnz, pid, cost, cost2)); } if (k < pltab) getPlunderlist(k+1, pltab, allplunder, tr, mode, mincost); else { var newtd = document.createElement("td"); var newtr = document.createElement("tr"); newtd.setAttribute('style', 'padding-top: 10px; padding-bottom: 10px'); var option = ' '; for (var i = 0; i < allplunder.length; i++) if (allplunder[i][4] >= mincost) option += ' '; pid = PGu_getValue("sellPlunder" + (mode==0?"":mode), 0); var text = "Plunder verkaufen" + (mode==0?"":", wenn kein Geld mehr"); newtd.innerHTML = '
    ' + text + ':
    '; newtr.appendChild(newtd, newtr); tr.parentNode.appendChild(newtr, tr); document.getElementById("pid" + mode).value = pid; if (!PGu_getValue("autoDaily", false) && mode == 0) document.getElementById("plunderdef"+mode).parentNode.parentNode.style.visibility = "hidden"; else document.getElementById("plunderdef"+mode).parentNode.parentNode.style.visibility = "visible"; // Click-Handler hinzufügen document.getElementById("pid"+mode).addEventListener("change", function(event) { // neuen Wert speichern PGu_setValue("sellPlunder"+(mode==0?"":mode), this.value); }, false); if (mode == 1) { getPlunderlist(pltab+1, pltab, allplunder, tr, 0, 1); GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/friendlist/', onload:function(responseDetails) { var content = responseDetails.responseText; // Wenn die Seite abgerufen werden konnte (kein Seitenladefehler) if (content.indexOf("Mein Penner") != -1) { var friends = content.split('class="listshop"')[1].split("' + friends[i].split("<")[0].split(">")[1].trim() + ' '; } var newtd = document.createElement("td"); var newtr = document.createElement("tr"); newtd.setAttribute('style', 'padding-top: 10px; padding-bottom: 10px'); var friendid = PGu_getValue("friendid", "0"); newtd.innerHTML = 'PN senden an: '; newtr.appendChild(newtd, newtr); tr.parentNode.appendChild(newtr, tr); document.getElementById("friendid").value = friendid; if (!PGu_getValue("autoDaily", false)) document.getElementById("frienddef").parentNode.parentNode.style.visibility = "hidden"; else document.getElementById("frienddef").parentNode.parentNode.style.visibility = "visible"; // Click-Handler hinzufügen document.getElementById("friendid").addEventListener("change", function(event) { // neuen Wert speichern PGu_setValue("friendid", this.value); }, false); if (TOWNEXTENSION == "HH" || TOWNEXTENSION == "B" || TOWNEXTENSION == "MU" || TOWNEXTENSION == "HR" || TOWNEXTENSION == "K") { var newtd2 = document.createElement("td"); var newtr2 = document.createElement("tr"); newtd2.setAttribute('style', 'padding-top: 10px; padding-bottom: 10px'); var donlink = PGu_getValue("donationlink", ""); newtd2.innerHTML = 'Spendenlink: '; newtr2.appendChild(newtd2, newtr2); tr.parentNode.appendChild(newtr2, tr); document.getElementById("donlink").value = donlink; if (!PGu_getValue("autoDaily", false)) document.getElementById("donlink").parentNode.parentNode.style.visibility = "hidden"; else document.getElementById("donlink").parentNode.parentNode.style.visibility = "visible"; // Click-Handler hinzufügen document.getElementById("donlink").addEventListener("change", function(event) { // neuen Wert speichern PGu_setValue("donationlink", this.value); PGu_setValue("donationdate", ""); }, false); } } GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/stock/plunder/craftlist/', onload:function(responseDetails) { var table = responseDetails.responseText.split("").pop(); craftlist.push(new Array(plunder, pid)); } var usedPlunder = PGu_getValue("craftlist", "").split(";"); for (var i = 0; i <= usedPlunder.length; i++) var pid = selectcraft(i, craftlist, usedPlunder, tr); }}); }}); } } }}); } function insertCheckBox5() { if (TOWNEXTENSION != "HH" && TOWNEXTENSION != "B" && TOWNEXTENSION != "MU" && TOWNEXTENSION != "HR" && TOWNEXTENSION != "K" && TOWNEXTENSION != "SY" && TOWNEXTENSION != "ML" && TOWNEXTENSION != "VT") return; var newtd = document.createElement("td"); var newtr = document.createElement("tr"); newtd.setAttribute('style', 'padding-top: 10px; padding-bottom: 10px'); newtd.innerHTML = ' Tagesaufgabe automatisch lösen'; newtr.appendChild(newtd, newtr); var tr = document.getElementsByTagName("table")[0].getElementsByTagName("tr")[2]; tr.parentNode.appendChild(newtr, tr); pltab = 6; if (TOWNEXTENSION == "HH" || TOWNEXTENSION == "B" || TOWNEXTENSION == "MU") pltab = 3; var allplunder = new Array(); getPlunderlist(1, pltab, allplunder, tr, 1, (TOWNEXTENSION == "VT"?100:2500)); document.getElementById("DTCheckbox").checked = PGu_getValue("autoDaily", false); // Click-Handler hinzufügen document.getElementById("DTCheckbox").addEventListener("click", function(event) { // Klickstatus speichern PGu_setValue("autoDaily", this.checked); if (!this.checked) { document.getElementById("plunderdef0").parentNode.parentNode.style.visibility = "hidden"; document.getElementById("plunderdef1").parentNode.parentNode.style.visibility = "hidden"; document.getElementById("frienddef").parentNode.parentNode.style.visibility = "hidden"; if (document.getElementById("donlink")) document.getElementById("donlink").parentNode.parentNode.style.visibility = "hidden"; for (var i = 0; true; i++) if (document.getElementById("craft"+i)) document.getElementById("craft"+i).parentNode.parentNode.style.visibility = "hidden"; else break; } else { document.getElementById("plunderdef0").parentNode.parentNode.style.visibility = "visible"; document.getElementById("plunderdef1").parentNode.parentNode.style.visibility = "visible"; document.getElementById("frienddef").parentNode.parentNode.style.visibility = "visible"; if (document.getElementById("donlink")) document.getElementById("donlink").parentNode.parentNode.style.visibility = "visible"; for (var i = 0; true; i++) if (document.getElementById("craft"+i)) document.getElementById("craft"+i).parentNode.parentNode.style.visibility = "visible"; else break; } }, false); } function insertCheckBox6() { var noMissCtrl = (document.getElementById("content").innerHTML.indexOf('onclick="show_city_list') == -1); //if (noMissCtrl) return; var tables = document.getElementsByTagName("table"); var missions = new Array(); var boosts = new Array(); var plunder = new Array(); for (var i = 0; i < tables.length; i++) { var mission = tables[i].getElementsByClassName("gang_mission")[0].style.backgroundImage.split('"')[1].split("/").pop().split(".")[0]; missions[i] = mission; var tr = tables[i].getElementsByTagName("tr")[1]; var div = tr.getElementsByTagName("div"); if (!noMissCtrl) { var newtd = document.createElement("td"); newtd.setAttribute('style', 'padding-top: 10px'); newtd.innerHTML = ' Diese Mission automatisch starten'; div[div.length-1].appendChild(newtd, div); document.getElementById("MissCheckbox"+i).checked = PGu_getValue(mission+"Auto", false); // Click-Handler hinzufügen document.getElementById("MissCheckbox"+i).addEventListener("click", function(event) { // Klickstatus speichern var indx = this.id.substr(-1); PGu_setValue(missions[indx]+"Auto", this.checked); }, false); } if (!noMissCtrl) if (mission == "kieztour" || mission == "davinci_code" || mission == "schrottplatz" || mission == "kreuzzug") { var newbr = document.createElement("br"); div[div.length-1].appendChild(newbr, div); var newtd2 = document.createElement("td"); newtd2.innerHTML = ' Diese Mission nur starten, wenn noch mindestens  Minuten bis zur nächsten Mission'; div[div.length-1].appendChild(newtd2, div); document.getElementById("MissTime"+i).value = PGu_getValue(mission+"Time", ""); document.getElementById("TimeCheckbox"+i).checked = PGu_getValue(missions[i]+"MissT", false); // Click-Handler hinzufügen document.getElementById("TimeCheckbox"+i).addEventListener("click", function(event) { // Klickstatus speichern var indx = this.id.substr(-1); PGu_setValue(missions[indx]+"MissT", this.checked); }, false); // Change-Handler hinzufügen document.getElementById("MissTime"+i).addEventListener("change", function(event) { // aktuellen Wert speichern if (this.value != "" && (isNaN(this.value) || Number(this.value) < 0)) alert ("Bitte nur eine Zahl >= 0 eingeben oder frei lassen"); else { var indx = this.id.substr(-1); PGu_setValue(missions[indx]+"Time", this.value); } }, false); } var lis = tables[i].getElementsByClassName("stage_area")[0].getElementsByTagName("li"); plunder[i] = new Array(); var first = noMissCtrl; for (var j = 0; j < lis.length; j++) { if (lis[j].innerHTML.indexOf('">x ') == -1) continue; var plnd = lis[j].innerHTML.split("")[1].split("")[0].trim(); var amnt = Number(lis[j].innerHTML.split(">x ")[1].split(" ")[0].trim()); plunder[i].push(new Array(plnd, amnt)); if (amnt < 1000) continue; if (amnt < 1000 || !noMissCtrl) { if (!first) { var newbr = document.createElement("br"); div[div.length-1].appendChild(newbr, div); } var newtd = document.createElement("td"); newtd.innerHTML = ' '+plnd+(amnt>=1000?' nach Missionsstart wieder sammeln':' bei Bedarf in Plunderbank einzahlen')+''; div[div.length-1].appendChild(newtd, div); PGu_setValue(plnd+"Coll", PGu_getValue(plnd+"Coll", false)); document.getElementById(plnd+"Smml"+i).checked = PGu_getValue(plnd+"Coll", false); // Click-Handler hinzufügen document.getElementById(plnd+"Smml"+i).addEventListener("click", function(event) { // Klickstatus speichern var plnd = this.id.split("Smml")[0]; PGu_setValue(plnd+"Coll", this.checked); }, false); first = false; } } if (noMissCtrl) continue; var divs = tables[i].getElementsByClassName("stage_area")[2].getElementsByClassName("icon_display"); var boost = divs[divs.length-1].innerHTML.split('src="')[1].split("/").pop().split(".")[0]; boosts[i] = boost; if (boost.substr(0,5) == "boost") { var newbr = document.createElement("br"); div[div.length-1].appendChild(newbr, div); var newtd = document.createElement("td"); newtd.innerHTML = ' diesen Boost überschreiben'; div[div.length-1].appendChild(newtd, div); document.getElementById("MissAbhol"+i).checked = PGu_getValue(boost+"Over", false); // Click-Handler hinzufügen document.getElementById("MissAbhol"+i).addEventListener("click", function(event) { // Klickstatus speichern var indx = this.id.substr(-1); PGu_setValue(boosts[indx]+"Over", this.checked); }, false); var newbr2 = document.createElement("br"); div[div.length-1].appendChild(newbr2, div); var newtd2 = document.createElement("td"); newtd2.innerHTML = ' diesen Boost sofort starten'; div[div.length-1].appendChild(newtd2, div); document.getElementById("BoostStart"+i).checked = PGu_getValue(boost+"Start", false); // Click-Handler hinzufügen document.getElementById("BoostStart"+i).addEventListener("click", function(event) { // Klickstatus speichern var indx = this.id.substr(-1); PGu_setValue(boosts[indx]+"Start", this.checked); }, false); } } } // *********************************************************************************************** // *********************************************************************************************** // check for enemy game and play it // *********************************************************************************************** // *********************************************************************************************** function CheckEnemygame () { if (!document.getElementById("enemy_info")) return; GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/enemies/', onload:function(responseDetails) { var content = responseDetails.responseText; var pos = content.indexOf('id="fight_button'); if (pos != -1) { if (content.substr(pos, 100).indexOf('counter(') == -1) setTimeout(Enemyattack, 1500); return; } pos = content.indexOf('hp_bar_blue'); if (pos == -1) { return; } else { var poscnt = content.indexOf('counter(', pos); if (poscnt != -1) { var cnt = parseInt(content.substr(poscnt+8).split(")")[0].split(',')[0]); if (cnt > 0) setTimeout(enemyreload, cnt*1000, "CheckEnemygame"); } } } }); } // *********************************************************************************************** // *********************************************************************************************** // buy luck // *********************************************************************************************** // *********************************************************************************************** function LoseKaufen (inputs, anzLose) { if (anzLose <= 0) { reload("LoseKaufen"); return; } var data = ""; var preis = 1; var anz = (anzLose > 10?10:anzLose); for (i = 1; i < inputs.length; i++) { var name = inputs[i].split('name="').pop().split('"')[0]; var val = (name=="menge"?anz:inputs[i].split('value="').pop().split('"')[0]); if (name == "preis_cent") preis = Number(val) / 100; if (name == "submitForm") { var pos = val.indexOf("1.00"); if (pos != -1) val = val.substr(0, pos) + preis*anz + val.substr(pos+1); } data = data + name + "=" + val + "&"; } GM_xmlhttpRequest({method: 'POST', url: 'http://'+window.location.hostname+'/city/games/buy/', headers: {'Content-type': 'application/x-www-form-urlencoded'}, data: encodeURI(data.substr(0,data.length-1)), onload: function(responseDetails) { LoseKaufen(inputs, anzLose - anz); } }); } // *********************************************************************************************** // *********************************************************************************************** // start a mission // *********************************************************************************************** // *********************************************************************************************** function StartMission (missionname, id, plist, inputs, nochlose) { GM_xmlhttpRequest({method: 'POST', url: 'http://'+window.location.hostname+'/gang/missions/start/', headers: {'Content-type': 'application/x-www-form-urlencoded'}, data: encodeURI('mission_id='+id+'&cancel=false'), onload: function(responseDetails) { var to = (responseDetails.responseText.indexOf("aktuelle Mission erst abschl") != -1); if (to) setTimeout(reload, 30000, "StartMission1"); else { var m_ownusername = document.getElementsByClassName('zleft profile-data')[0].getElementsByTagName("a")[0].getElementsByTagName("span")[0].innerHTML; GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/gang/admin/log/', onload:function(responseDetails) { var start = responseDetails.responseText.split(' wurde gestartet'); var pos = start[0].lastIndexOf(""); var to = 0; if (pos == -1) to = 30; if (start[0].substr(0, pos).substr(-m_ownusername.length) != m_ownusername) to = 30; if (to > 0) { setTimeout(reload, to*1000, "StartMission2"); return; } if (missionname == "kieztour") { GM_xmlhttpRequest({method: 'POST', url: 'http://'+window.location.hostname+'/gang/admin/massmail/', headers: {'Content-type': 'application/x-www-form-urlencoded'}, data: encodeURI('f_subject=Mission Kiez-Tour läuft&sel=Alle&f_text='), onload: function(responseDetails) { } }); } function plEnable (plist, i) { if (i >= plist.length) { if (missionname == "casino") LoseKaufen(inputs, nochlose); else reload("plEnable"); return; } GM_xmlhttpRequest({method: 'POST', url: 'http://'+window.location.hostname+'/gang/missions/plunder/enable/', headers: {'Content-type': 'application/x-www-form-urlencoded'}, data: encodeURI('pid='+plist[i]), onload: function(responseDetails) { plEnable(plist, i+1); } }); } plEnable(plist, 0); } }); } } }); } // *********************************************************************************************** // *********************************************************************************************** // handle a mission // *********************************************************************************************** // *********************************************************************************************** function HandleMission (missionname, missionStart, missions) { var m = MissIndex(missionStart, missionname); if (m < 1 || m >= missionStart.length) return -1; var missname = missionStart[m][0]; var pos = missions[m].indexOf(missname + '.png'); if (pos == -1) return -1; var mission = missions[m].substr(pos).split("
    ")[0]; pos = mission.indexOf("counter("); var counter = 0; if (pos != -1) { counter = mission.substr(pos).split("counter(")[1].split(")")[0].trim(); if (counter != done) counter = Number(counter) if (counter > 0 && counter < 3600) setTimeout(reload, (counter<3?3:counter) * 1000, "HandleMission1"); } var plist = mission.split('show_city_list('); var plnd = new Array(); for (var j = 1; j < plist.length; j++) { var pid = plist[j].split(",")[0]; var pos = plist[j-1].lastIndexOf("icon_display"); if (pos == -1) continue; var plunder = plist[j-1].substr(pos).split("")[1].split("")[0].trim(); if (PGu_getValue(plunder+"Coll", false)) plnd.push(pid); } var cnt = 0; for (var j = 0; j < plnd.length; j++) { var pos = mission.indexOf('show_city_list('+plnd[j]+','); if (pos == -1) continue; if (mission.substr(pos,40).indexOf('deactivate') == -1) { cnt++; GM_xmlhttpRequest({method: 'POST', url: 'http://'+window.location.hostname+'/gang/missions/plunder/enable/', headers: {'Content-type': 'application/x-www-form-urlencoded'}, data: encodeURI('pid='+plnd[j]), onload: function(responseDetails) { reload("HandleMission2"); } }); } } if (cnt > 0) return 0; var pos = mission.indexOf('job_notdone'); if (pos != -1) { if (missionname == "kieztour") PGu_setValue("KiezTourAct", 1); if (missionname == "strassenkampf") PGu_setValue("StrassenKampfAct", 1); if (missionname == "casino" && mission.substr(pos).split("x')[1].split('x')[0].split("").pop().split('= 1000 && !PGu_getValue(missname+"Auto", false)) return -1; if (ist < muss) { GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/gang/stuff/', onload:function(responseDetails) { var content = responseDetails.responseText; var select = content.split('Plunder einzahlen')[1].split(' 0) { var fehlt = muss - ist; if (fehlt > menge) fehlt = menge; var data = select.split('name="')[1].split('"')[0] + "=" + id; var form = content.split('Plunder einzahlen')[1].split(' missionStart[j][1]) mintime = missionStart[j][1]; //alert(missname+":"+PGu_getValue(missname+"MissT", false) +"/"+ PGu_getValue(missname+"Time", 0) +"/"+ mintime); if (PGu_getValue(missname+"MissT", false) && PGu_getValue(missname+"Time", 0) > mintime) return -1; var id = mission.split('start_mission(')[1].split(')')[0]; if (missionname == "casino") { GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/city/games/', onload:function(responseDetails) { var content = responseDetails.responseText; var to = 0; var nochlose = Number(content.split("Du kannst heute noch ").pop().split(" ")[0]); if (nochlose == 0) return; var pos = content.indexOf("/city/games/buy/"); if (pos == -1) return; var gesamt = Number(mission.match(/Kauft \d* Rubbel/)[0].split(" ")[1]); if (gesamt < nochlose) nochlose = gesamt; var table = content.substr(pos).split("/table")[0]; var tr = table.split(""); for (j = 1; j < lis.length; j++) { var beg = lis[j].split('"amount"'); if (beg.length > 1) neededPlunder[pAnz++] = beg[0].split("")[1].split("<")[0]; } } var gesamt = Number(missions[m].split(" Plunder verschrotten")[0].substr(-50).match(/[\d]+/g).pop().trim()); pltab = 6; if (TOWNEXTENSION == "HH" || TOWNEXTENSION == "B" ||TOWNEXTENSION == "MU") pltab = 1; GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/stock/plunder/ajax/?c='+pltab, onload:function(responseDetails) { var content = responseDetails.responseText; var trs = content.split("x ")[0].split("").pop().trim(); misspl.push(plname); } } GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/gang/stuff/', onload:function(responseDetails) { var stuff = responseDetails.responseText; var msgs = stuff.split('"msglist"'); var plAnzGes = 0; for (i = 1; i < msgs.length && plAnzGes < gesamt; i++) { var tds = msgs[i].split("")[1].trim() != "0") continue; if (neededPlunder.indexOf(tds[2].split("")[1].split("<")[0]) != -1) continue; var plAnz = Number(tds[3].split("")[1].trim()); if (misspl.indexOf(tds[2].split("")[1].split("<")[0]) != -1) plAnz = Math.floor(plAnz/60); plAnzGes += plAnz; } if (plAnzGes >= gesamt) StartMission (missionname, id, plnd, "", 0); } }); } }); return 0; } } else if (mission.substr(pos).indexOf('return reward_popup(') != -1 || mission.substr(pos).indexOf('href="/gang/missions/reward/') != -1) { var aktBoost = content.split("Aktueller Bandenboost"); if (aktBoost.length == 1 || aktBoost[1].indexOf("Kein Boost vorh") != -1) var abhol = true; else { var boost = aktBoost[1].split('src="')[1].split('"')[0].split("/").pop().split(".")[0]; var abhol = PGu_getValue(boost+"Over", false); } if (abhol) { window.location = 'http://'+window.location.hostname+'/gang/missions/reward/'; } } return -1; } // *********************************************************************************************** // *********************************************************************************************** // get time until start of mission // *********************************************************************************************** // *********************************************************************************************** function getMissTime(missionname, content) { var misstime = -1; var missname = missionname; var pos = content.indexOf(missionname+'.png'); if (pos == -1) { if (missionname == "kieztour") missname = "davinci_code"; else if (missionname == "strassenkampf") missname = "schlacht_petersplatz"; else if (missionname == "schrottplatz") missname = "kreuzzug"; pos = content.indexOf(missname+'.png'); } if (pos > 0) { misstime = 0; var mission = content.substr(pos).split("")[0]; pos = mission.indexOf("counter("); if (pos != -1) { var counter = mission.substr(pos).split("counter(")[1].split(")")[0].trim(); if (counter == done) counter = "0"; misstime = Number(counter); } else if (!PGu_getValue(missname+"Auto", false) || mission.indexOf("mission_item_notready") != -1) misstime = 999999999; } return misstime; } // *********************************************************************************************** // *********************************************************************************************** // find mission index // *********************************************************************************************** // *********************************************************************************************** function MissIndex (missions, mission) { for (var i = 1; i < missions.length; i++) if (missions[i][0] == mission) return i; var missname = mission; if (missname == "kieztour") missname = "davinci_code"; else if (missname == "strassenkampf") missname = "schlacht_petersplatz"; else if (missname == "schrottplatz") missname = "kreuzzug"; for (var i = 1; i < missions.length; i++) if (missions[i][0] == missname) return i; return -1; } // *********************************************************************************************** // *********************************************************************************************** // check for mission // *********************************************************************************************** // *********************************************************************************************** function CheckMission () { GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/gang/missions/', onload:function(responseDetails) { var content = responseDetails.responseText; var mission = content.split('class="gang_mission"')[1].split("")[0]; if (mission.substr(pos).indexOf('return reward_popup(') != -1 || mission.substr(pos).indexOf('href="/gang/missions/reward/') != -1) { var aktBoost = content.split("Aktueller Bandenboost"); if (aktBoost.length == 1 || aktBoost[1].indexOf("Kein Boost vorh") != -1) var abhol = true; else { var boost = aktBoost[1].split('src="')[1].split('"')[0].split("/").pop().split(".")[0]; var abhol = PGu_getValue(boost+"Over", false); } if (abhol) { window.location = 'http://'+window.location.hostname+'/gang/missions/reward/'; return; } } pos = content.indexOf('boost_button'); if (pos != -1) pos = content.substr(pos).indexOf('activate_boost('); if (pos != -1) { var aktBoost = content.split("Aktueller Bandenboost"); if (aktBoost.length == 1 || aktBoost[1].indexOf("Kein Boost vorh") != -1) var Start = false; else { var boost = aktBoost[1].split('src="')[1].split('"')[0].split("/").pop().split(".")[0]; var Start = PGu_getValue(boost+"Start", false); } if (Start) { var inputs = content.split('id="boost_form"')[1].split("")[0]; var action = inputs.split('action="')[1].split('"')[0]; var inputs = inputs.split(" 0) { var kauf = missions[1].substr(pos).split("").pop().trim(); kauf = kauf.split("/"); var gekauft = Number(kauf[0].trim()); var gesamt = Number(kauf[1].trim()); if (gekauft == gesamt) return; var m_ownusername = document.getElementsByClassName('zleft profile-data')[0].getElementsByTagName("a")[0].getElementsByTagName("span")[0].innerHTML; GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/gang/admin/log/', onload:function(responseDetails) { var casino = responseDetails.responseText.split('Mission "Casino-Besuch" wurde gestartet'); var pos = casino[0].lastIndexOf(""); var to = 0; if (pos == -1) to = 30; if (casino[0].substr(0, pos).substr(-m_ownusername.length) != m_ownusername) to = 30; if (to > 0) { var now = new Date().getTime(); var tdiff = now - Number(PGu_getValue("LastLoseKauf", "0")); if (tdiff > 60000) { PGu_setValue("LastLoseKauf", now+""); tdiff = 0; } if (tdiff < to*1000) { setTimeout(reload, to*1000 - tdiff, "CheckMission2"); return; } } GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/city/games/', onload:function(responseDetails) { var content = responseDetails.responseText; var nochlose = content.split("Du kannst heute noch ").pop().split(" ")[0]; if (nochlose == 0) return; if (gesamt - gekauft < nochlose) nochlose = gesamt - gekauft; if (nochlose > 100) nochlose = 100; var pos = content.indexOf("/city/games/buy/"); if (pos == -1) return; var table = content.substr(pos).split("/table")[0]; var tr = table.split(" 0) { var neededPlunder = new Array(); var pAnz = 0; for (var i = 1; i < missions.length; i++) { var lis = missions[i].split("stage_area")[1].split("
  • "); for (var j = 1; j < lis.length; j++) { var beg = lis[j].split('"amount"'); if (beg.length > 1) neededPlunder[pAnz++] = beg[0].split("")[1].split("<")[0]; } } var kauf = missions[1].substr(pos).split("").pop().trim(); kauf = kauf.split("/"); var gekauft = Number(kauf[0].trim()); var gesamt = Number(kauf[1].trim()); if (gekauft == gesamt) return; pltab = 6; if (TOWNEXTENSION == "HH" || TOWNEXTENSION == "B" ||TOWNEXTENSION == "MU") pltab = 1; GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/stock/plunder/ajax/?c='+pltab, onload:function(responseDetails) { var content = responseDetails.responseText; var trs = content.split("x ")[0].split("").pop().trim(); misspl.push(plname); } } GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/gang/stuff/', onload:function(responseDetails) { var stuff = responseDetails.responseText; var form = stuff.split("dialog-confirm-trash").pop(); var action = form.split('action="')[1].split('"')[0]; var inputs = form.split('")[1].trim() != "0") continue; var pltext = tds[6].split("trash_plunder(")[1].split(")")[0]; if (neededPlunder.indexOf(pltext.split("'")[1]) != -1) continue; var plAnz = Number(pltext.split(",")[1].trim()); mpl = misspl.indexOf(pltext.split("'")[1]) != -1; if (mpl && !mp) { leastAnz = plAnz; leastpl = pltext; mp = true; } else if (mp && !mpl) continue; else if (!mpl && leastpl == "" || plAnz < leastAnz) { leastAnz = plAnz; leastpl = pltext; } } if (leastAnz > 0) { var pid = leastpl.split(",")[0].trim(); if (gesamt - gekauft < leastAnz/(mp?60:1)) leastAnz = (gesamt - gekauft)*(mp?60:1); var data = ""; for (i = 1; i < inputs.length; i++) { var name = inputs[i].split('name="')[1].split('"')[0]; data += name + "=" + (name == "plunder_id"?pid:leastAnz) + "&"; } GM_xmlhttpRequest({method: 'POST', url: 'http://'+window.location.hostname+action, headers: {'Content-type': 'application/x-www-form-urlencoded'}, data: encodeURI(data.substr(0,data.length-1)), onload: function(responseDetails) { reload("CheckMission3"); } }); } } }); } }); return; } pos = HandleMission("kieztour", missionStart, missions); if (pos >= 0) return; pos = HandleMission("strassenkampf", missionStart, missions); } }); } function getSeks(counter) { if (counter == done) return 0; var cnt = counter.split(":"); var seks = 0; for (i = 0; i < cnt.length; i++) seks = seks * 60 + Number(cnt[i]); return seks; } function getvcounter () { var vcounter = done; if (document.getElementsByClassName("chest_counter").length == 0) { var tbl = document.getElementsByTagName("table"); for (i = tbl.length - 1; i > 0; i--) if (tbl[i].className) if (tbl[i].className == "cbox") break; var trs = tbl[i].getElementsByTagName("tr"); if (trs.length > 2) { var span = trs[2].getElementsByTagName("span"); for (i = 0; i < span.length; i++) { if (span[i].id) if (span[i].id.substr(0, 7) == "counter") { vcounter = span[i].innerHTML; if (vcounter.trim() == done0) // is the time 00:00 ? vcounter = done; break; } } } } return getSeks(vcounter); } function submit(){ if(window.location.pathname.indexOf("/activities/") != -1 && window.location.pathname.indexOf("/crime/") == -1 && autoSubmit){ if (document.getElementsByClassName("chest_key_on").length > 0) { var href = document.getElementsByClassName("chest_menu")[0].getElementsByClassName("chest_button")[0].href; window.location.href = href; } if (getvcounter() != 0) { var lastURL = PGu_getValue("AutoCollURL", ""); if (lastURL != "") { PGu_setValue ("AutoCollURL", ""); window.location.replace( lastURL ); } else { PGu_setValue(nameTime, time); PGu_setValue("AskedForCollect", 0); checkInterval = window.setInterval(check,intervalTime); } return; } var lastCollectTime = PGu_getValue(nameLastCollectTime,0); if (PGu_getValue("KiezTourAct", 0) == 1) lastCollectTime = 0; var evt = document.createEvent("HTMLEvents"); evt.initEvent("change", true, true); var timeOptions = document.getElementsByName("time")[0]; if (!timeOptions) refer(); if (lastCollectTime > 0) { var options = timeOptions.innerHTML.split('value="'); if (options.length < lastCollectTime + 2) lastCollectTime = 0; else { var minopt = Number(options[1].split('"')[0]); var selopt = Number(options[lastCollectTime+1].split('"')[0]); var nextTime = PGu_getValue("NextStartkieztour", -1); if (nextTime >= 0 && nextTime + minopt*60 < selopt*60 && lastCollectTime > 0) lastCollectTime = 0; } } timeOptions.selectedIndex = lastCollectTime; timeOptions.dispatchEvent(evt); timeOptions.addEventListener( "change", function(){ PGu_setValue(nameLastCollectTime, document.getElementsByName("time")[0].selectedIndex); timeOptionsCaptcha.selectedIndex = timeOptions.selectedIndex; }, true ); var timeOptionsCaptcha = timeOptions.cloneNode(true); timeOptionsCaptcha.selectedIndex = timeOptions.selectedIndex; timeOptionsCaptcha.addEventListener( "change", function(){ PGu_setValue(nameLastCollectTime, document.getElementsByName("time")[0].selectedIndex); timeOptions.selectedIndex = timeOptionsCaptcha.selectedIndex;}, true); /* var captchaHolder = document.getElementById("holder"); var infoText = captchaHolder.insertBefore(document.createElement('p'),captchaHolder.getElementsByTagName("span")[1]); infoText.innerHTML = strTime; infoText.appendChild(timeOptionsCaptcha); infoText.style.margin = "0px"; infoText.style.marginTop = "8px"; captchaHolder.getElementsByTagName("span")[1].style.marginTop = "-8px"; captchaHolder.getElementsByTagName("span")[1].style.marginLeft = "-10px"; var cancelButton = captchaHolder.getElementsByClassName("cancel")[0]; cancelButton.style.margin = "0px"; cancelButton.style.marginLeft = "10px"; infoText.appendChild(cancelButton);*/ var crimePic = PGu_getValue("AutoCrimePic", ""); var crimeFkt = PGu_getValue("AutoCrimeFkt", 0); var crimeTO = ""; if (PGu_getValue("AutoCrime", false) && crimePic != "" && crimeFkt > 0) { var crimeNr = PGu_getValue("AutoCrimeNr", -1); if (crimeNr > 0) { crimeTO = " if (document.getElementById('SCCheckbox').checked) window.location = window.location.protocol + '//' + window.location.host + '/activities/crime/?start_crime=" + crimeNr + "'"; PGu_setValue("AutoCrimeFkt", crimeFkt - 1); } else if (crimeNr == 0) { GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/activities/crime/', onload:function(responseDetails) { var content = responseDetails.responseText; var buttons = content.split("plunder_crime/"); for (i = 1; i < buttons.length; i++) { var crimep = buttons[i].split('"')[0]; if (crimePic == crimep) { crimeNr = buttons[i].split("start_crime(")[1].split(")")[0]; PGu_setValue("AutoCrimeNr", crimeNr); reload("Submit1"); break; } } }}); } else { PGu_setValue("AutoCrimePic", ""); PGu_setValue("AutoCrime", false); setTimeout(reload, 1000, "Submit2"); } } if (crimeTO != "") setTimeout("if (document.getElementById('SCCheckbox'))" + crimeTO + ";", 2000); // fails often if to fast else setTimeout("if (document.getElementById('BCCheckbox')) if (document.getElementById('BCCheckbox').checked) document.getElementsByName('Submit2')[0].click();", 3000); // fails often if to fast } else { PGu_setValue(nameTime, time); //store time for each domain to prevent multiple run in same domain checkInterval = window.setInterval(check,intervalTime); } } function check(){ function setPetCollectDay(day, status) { var val = PGu_getValue("AutoPetCollectDay", "0000000"); val = val.substr(0, day) + (status?"1":"0") + val.substr(day + 1); PGu_setValue("AutoPetCollectDay", val); PGu_setValue("AutoPetCollect", val != "0000000"); return; } if (window.location.pathname.indexOf("/pet/") != -1) { if (document.getElementById("submit_sets") && !document.getElementById("Checkbox1")) { var divs = document.getElementsByClassName("pet_tab_help"); var newdiv = divs[divs.length-1].cloneNode(true); newdiv.innerHTML = "

    Automatisches Einlösen

    Hier kannst Du einstellen, wann Deine Gegenstände automatisch eingelöst werden sollen.
    "; var newtdMo = document.createElement("td"); newtdMo.setAttribute('style', 'padding-top: 10px; padding-bottom: 10px'); newtdMo.innerHTML = ' Montag '; newdiv.appendChild(newtdMo); var newtdDi = document.createElement("td"); newtdDi.setAttribute('style', 'padding-top: 10px; padding-bottom: 10px'); newtdDi.innerHTML = ' Dienstag '; newdiv.appendChild(newtdDi); var newtdMi = document.createElement("td"); newtdMi.setAttribute('style', 'padding-top: 10px; padding-bottom: 10px'); newtdMi.innerHTML = ' Mittwoch '; newdiv.appendChild(newtdMi); var newtdDo = document.createElement("td"); newtdDo.setAttribute('style', 'padding-top: 10px; padding-bottom: 10px'); newtdDo.innerHTML = ' Donnerstag '; newdiv.appendChild(newtdDo); var newtdFr = document.createElement("td"); newtdFr.setAttribute('style', 'padding-top: 10px; padding-bottom: 10px'); newtdFr.innerHTML = ' Freitag '; newdiv.appendChild(newtdFr); var newtdSa = document.createElement("td"); newtdSa.setAttribute('style', 'padding-top: 10px; padding-bottom: 10px'); newtdSa.innerHTML = ' Samstag '; newdiv.appendChild(newtdSa); var newtdSo = document.createElement("td"); newtdSo.setAttribute('style', 'padding-top: 10px; padding-bottom: 10px'); newtdSo.innerHTML = ' Sonntag '; newdiv.appendChild(newtdSo); var newtdvon = document.createElement("td"); newtdvon.setAttribute('style', 'padding-top: 10px; padding-bottom: 10px'); newtdvon.innerHTML = ' von '; newdiv.appendChild(newtdvon); var newtdbis = document.createElement("td"); newtdbis.setAttribute('style', 'padding-top: 10px; padding-bottom: 10px'); newtdbis.innerHTML = ' bis  Uhr '; newdiv.appendChild(newtdbis); divs[divs.length-1].parentNode.appendChild(newdiv); // Status setzen und Click-Handler hinzufügen for (i = 0; i < 7; i++) { document.getElementById("Checkbox"+i).checked = PGu_getValue("AutoPetCollectDay", "0000000").substr(i, 1) == "1"; document.getElementById("Checkbox"+i).addEventListener("click", function(event) { setPetCollectDay(this.id.substr(-1), this.checked); }, false); } document.getElementById("vonZeit").value = PGu_getValue("AutoPetCollectBegH", 11); document.getElementById("vonZeit").addEventListener("change", function(event) { var val = document.getElementById(this.id).value; if (isNaN(val) || parseInt(val) < 0 || parseInt(val) > 23) { alert("Bitte eine Zahl von 0 bis 23 eingeben"); document.getElementById(this.id).value = PGu_getValue("AutoCollectBegH", 11); return false; } else PGu_setValue("AutoPetCollectBegH", parseInt(val)); }, true); document.getElementById("bisZeit").value = PGu_getValue("AutoPetCollectEndH", 12); document.getElementById("bisZeit").addEventListener("change", function(event) { var val = document.getElementById(this.id).value; if (isNaN(val) || parseInt(val) < 0 || parseInt(val) > 23) { alert("Bitte eine Zahl von 0 bis 23 eingeben"); document.getElementById(this.id).value = PGu_getValue("AutoCollectEndH", 12); return false; } else PGu_setValue("AutoPetCollectEndH", parseInt(val)); }, false); } } if(PGu_getValue(nameTime) != time){ //script started somewhere else clearInterval(checkInterval); return 0; } var c=1; var posci = document.getElementById("enemy_info")?0:-1; if (posci != -1) posci = document.getElementById("enemy_info").innerHTML.indexOf('enemy_counter_info'); if (posci != -1) posci = document.getElementById("enemy_info").innerHTML.substr(posci+20,200).indexOf("counter"); if (posci != -1) c=2; var crime = false; try{ fcounter = document.getElementById("counter"+c).innerHTML; counter = document.getElementById("counter"+(c+1)).innerHTML; crime = document.getElementById("counter"+(c+1)).parentNode.innerHTML.split("counter(")[1].split(")")[0].split('"')[1].indexOf("crime") != -1; if (counter.trim() == done0) // is the time 00:00 ? counter = done; } catch(err){ } var promille = GetPromille(document); if (fcounter == done && counter == done || PGu_getValue("AutoCrime", false) && PGu_getValue("AutoCrimeFkt", 0) > 0 && counter == done) { if(window.location.pathname.indexOf("/activities/") != -1 && window.location.pathname.indexOf("/crime/") == -1){ if (document.getElementsByClassName("chest_key_on").length > 0) { var href = document.getElementsByClassName("chest_menu")[0].getElementsByClassName("chest_button")[0].href; window.location.href = href; } if (getvcounter() != 0) return; // do nothing, if a crime is planned clearInterval(checkInterval); // stop script setTimeout(reload, 2000, "check1"); } else { GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/activities/', onload:function(responseDetails) { var content = responseDetails.responseText; var text = content.split("setupForm('/activities/bottle/'"); if (text.length > 1) { text = text[1].split('>')[0].split(' '); text = text[text.length-1]; } if (text == "disabled") { clearInterval(checkInterval); // stop script checkInterval = window.setInterval(check,intervalTime*5); } /* deaktiviert !! else if (PGu_getValue("AutoCollect", false)) { var lastCollectTime = PGu_getValue(nameLastCollectTime, 0); var timesplit = content.split('name="time"')[1].split(" lastCollectTime + 1) var dauer = timesplit[lastCollectTime+1].split('value="')[1].split('"')[0]; else var dauer = 10; GM_xmlhttpRequest({method:'POST', url: 'http://' + window.location.hostname + '/activities/bottle/', headers: {'Content-type': 'application/x-www-form-urlencoded'}, data: encodeURI('bottlecollect_pending=True'), onload:function(responseDetails) { var content = responseDetails.responseText; GM_xmlhttpRequest({method:'POST', url: 'http://' + window.location.hostname + '/activities/bottle/', headers: {'Content-type': 'application/x-www-form-urlencoded'}, data: encodeURI('sammeln='+dauer), onload:function(responseDetails) { var content = responseDetails.responseText; var text = content.split("setupForm('/activities/bottle/'"); if (text.length > 1) { text = text[1].split('>')[0].split(' '); text = text[text.length-1]; } if (text == "disabled") { clearInterval(checkInterval); // stop script checkInterval = window.setInterval(check,intervalTime*5); } }}); }}); } */ else { clearInterval(checkInterval); // stop script setTimeout(refer, 10000); } }}); } } else if (crime && getSeks(counter) < 60 && promille > 0) { if (PGu_getValue("AutoCrimeURL", "") == "") PGu_setValue ("AutoCrimeURL", location.toString()); if (location.toString().substr(-5) != "food/") window.location.href = window.location.protocol + "//" + window.location.host + "/stock/foodstuffs/food/"; else { var breads = 0; var items = document.getElementsByClassName("item_list"); for (var i = items.length - 1; i >= 0; i--) { breads = Number(items[i].getElementsByTagName("tr")[0].getElementsByTagName("td")[1].innerHTML.split(">")[1].split(" ")[0]); var effect = -Number(document.getElementsByName("promille")[i].value)/100; if (i > 0 && effect > promille) continue; var id = document.getElementsByName("id")[i].value; if (i == 0) var nrofbreads = Math.min(Math.ceil(promille/effect), breads); else var nrofbreads = Math.min(Math.floor(promille/effect), breads); // ********************************************************************************** // *** GM_XMLHTTPREQUEST *** POSTEN der Essensnutzung // ********************************************************************************** GM_xmlhttpRequest({method: 'POST', url: 'http://' + window.location.hostname + '/stock/foodstuffs/use/', headers: {'Content-type': 'application/x-www-form-urlencoded'}, data: encodeURI('item=&promille=&id='+id+'&menge=' + nrofbreads), onload: function(responseDetails) { window.location.href = PGu_getValue("AutoCrimeURL", ""); PGu_setValue ("AutoCrimeURL", ""); } }); break; } } } else if (PGu_getValue("RefreshInterval", 0) > 0) setTimeout(reload, PGu_getValue("RefreshInterval", 0) * 60000, "check2"); } function refer(){ var box = PGu_getValue("AutoCollect", false) || PGu_getValue("AutoCrime", false) && PGu_getValue("AutoCrimeFkt", 0) > 0; if (box) { // check input field in Mails and SB var f_text = document.getElementById("f_text"); if (f_text) box = f_text.value == ""; } if (!box && PGu_getValue("AskedForCollect", 0) < 3) { box = window.confirm( msgDone1 + "\n" + msgDone2 ); PGu_setValue("AskedForCollect", PGu_getValue("AskedForCollect", 0) + 1); } if (box) { PGu_setValue("AutoCollURL", location.toString()); window.location.href = window.location.protocol + "//" + window.location.host + "/activities/"; } } function reload(msg){ //alert("Reload-Message: " + msg); if (oldVersion || !autoSubmit) alert(msgDone1); if (window.location.toString().indexOf("event") != -1) window.location.href = window.location.toString(); else window.location.href = window.location.protocol + "//" + window.location.host + "/activities/"; } function enemyreload(){ var box = true; // check input field in Mails and SB var f_text = document.getElementById("f_text"); if (f_text) box = f_text.value == ""; if (!box) { box = window.confirm( msgAttackEnemy ); } if (box) { window.location.href = location.toString(); } } function Enemyattack(){ GM_xmlhttpRequest({ method:"POST", url: 'http://' + window.location.host + '/enemies/start_fight/', headers: {'Content-type': 'application/x-www-form-urlencoded'}, data: encodeURI(''), onload:function(responseDetails) { enemyreload(); } }); } function DoPetCollect() { GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/pet/tab/collections/', onload:function(responseDetails) { var content = responseDetails.responseText; var ptArray = new Array(); var uls = content.split("tabcontainer").pop().split('id="ul_'); for (i = 1; i < uls.length; i++) { var set = uls[i].split('">')[0]; var spans = uls[i].split("trade_in")[0].split("
    "); var trade = uls[i].split("trade_in")[1].split("")[0].split(">")[0].split("value=").pop(); var points = parseInt(trade.split(")")[0].split("(").pop()); var codeset = new Array(); var minanz = 99999; for (j = 0; j < spans.length - 1; j++) { var code = spans[j].split("item_count_")[1].split('">')[0]; var anz = Number(spans[j].split(">").pop()); codeset.push(new Array(code, anz)); if (anz < minanz) minanz = anz; } if (minanz == 0) continue; for (j = 0; j < ptArray.length; j++) if (ptArray[j][2] <= points) break; ptArray.splice(j, 0, new Array(set, codeset, points)); } for (i = 0; i < ptArray.length; i++) { var rew = ptArray[i][0]; var special = ""; if (rew.substr(0,8) == "special_") { special = "?special=true"; rew = rew.substr(8); } var minanz = 99999; for (j = 0; j < ptArray[i][1].length; j++) { if (ptArray[i][1][j][1] < minanz) minanz = ptArray[i][1][j][1]; } if (minanz == 0) continue; for (j = i; j < ptArray.length; j++) for (k = 0; k < ptArray[i][1].length; k++) for (kk = 0; kk < ptArray[j][1].length; kk++) if (ptArray[i][1][k][0] == ptArray[j][1][kk][0]) { ptArray[j][1][kk][1] -= minanz; break; } GM_xmlhttpRequest({ method: 'GET', url: 'http://' + window.location.hostname + '/pet/get_collection_reward/'+rew+"/"+minanz+"/"+special, onload: function(responseDetails) { } }); window.setTimeout("window.location.href = '" + location.toString() + "'", 2000); return; } }}); return; } function sellBottles(menge, price) { if (menge <= 0) return; GM_xmlhttpRequest({ method: 'POST', url: 'http://' + window.location.hostname + '/stock/bottle/sell/', headers: {'Content-type': 'application/x-www-form-urlencoded'}, data: encodeURI('chkval='+price+"&max="+menge+"&sum="+menge), onload: function(responseDetails) { } }); } function checkGhostPages() { var ghostPages = new Array('activities', 'activities/crime', 'city/medicine', 'city/stuff', 'city/supermarket', 'skills', 'stock/bottle', 'messages', 'itemsale', 'stock'); function testGhost(i) { if (i >= ghostPages.length) { PGu_setValue("ghostIndex", i); return; } GM_xmlhttpRequest({ method: 'GET', url: 'http://' + window.location.hostname + '/' + ghostPages[i] + '/', onload: function(responseDetails) { var content = responseDetails.responseText; var ghosts = content.split('class="ghost_container"').length; if (ghosts > 1) { PGu_setValue("ghostIndex", i + 1); window.location.href = 'http://' + window.location.hostname + '/' + ghostPages[i] + '/'; } else testGhost(i+1); } }); return; } var today = new Date(); var tagesdatum = FormatDate(today); var gi = PGu_getValue("ghostIndex", 0); if (gi >= ghostPages.length) { if (PGu_getValue("ghostTest", "") != tagesdatum && today.getTime() % 86400000 > 300000) { gi = 0; PGu_setValue("ghostTest", tagesdatum); PGu_setValue("ghostTestNoon", ""); } else if (PGu_getValue("ghostTestNoon", "") != tagesdatum && today.getHours() > 12) { gi = 0; PGu_setValue("ghostTestNoon", tagesdatum); } } var ghosts = document.getElementsByClassName("ghost_container"); if (ghosts.length > 0) { gi = 0; PGu_setValue("ghostTest", tagesdatum); PGu_setValue("ghostTestNoon", tagesdatum); } for (i = 0; i < ghosts.length; i++) setTimeout('document.getElementsByClassName("ghost_container")['+i+'].click();', 1000); testGhost(gi); } function WashMe(id, cnt) { // ********************************************************************************** // *** GM_XMLHTTPREQUEST *** POSTEN des Kommandos zum Waschen // ********************************************************************************** GM_xmlhttpRequest({method: 'POST', url: 'http://' + window.location.hostname + '/city/washhouse/buy/', headers: {'Content-type': 'application/x-www-form-urlencoded'}, data: encodeURI('id=' + id), onload: function(responseDetails) { if (cnt > 1) WashMe(id, cnt-1); else reload("WashMe"); } }); } function CheckSalary() { if (!PGu_getValue("getSalary", false)) return; GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/overview/', onload:function(responseDetails) { var content = responseDetails.responseText; var fass = content.split("Fassungsverm")[1].match(/[\d.,]+/); var maxmoney = Number(fass[0].replace(/[.,]/g,'')); var mon = content.split('class="icon money"')[1].split("")[0]; var money = Number(mon.split(">").pop().match(/[\d,.]+/)[0].replace(/[.,]/g, '')); var salary = Number(content.split(" jetzt einsacken")[0].match(/[\d,.]+/g).pop().replace(/[.,]/g, '')); if (content.indexOf("Lohn abholen") != -1 || money + salary > maxmoney && money < 100000) { if (money + salary < maxmoney || salary > maxmoney) { var text = content.split("music_payout")[1]; var val = text.split('value="')[1].split('"')[0]; var name = text.split('name="')[1].split('"')[0]; GM_xmlhttpRequest({ method: 'POST', url: 'http://' + window.location.hostname + '/overview/music_payout/', headers: {'Content-type': 'application/x-www-form-urlencoded'}, data: encodeURI(name+"="+val), onload: function(responseDetails) { } }); } return; } if (money == maxmoney) return; var pos = content.search(/Du hast heute \d* Spenden erhalten/); if (pos <= 0) return; var spenden = content.substr(pos).match(/Du hast heute \d* Spenden erhalten[^\d]*\d*/); if (spenden.length < 1) return; var rest = Number(spenden[0].split(" ").pop()); if (rest <= 0) { var stuff = PGu_getValue("aktPlunder", ""); if (stuff != "") { PGu_setValue("aktPlunder", ""); // ********************************************************************************** // *** GM_XMLHTTPREQUEST *** POSTEN des Plunderwechsels // ********************************************************************************** GM_xmlhttpRequest({method: 'POST', url: 'http://' + window.location.hostname + '/stock/plunder/change/', headers: {'Content-type': 'application/x-www-form-urlencoded'}, data: encodeURI('from_f=0&f_plunder=' + stuff), onload: function(responseDetails) { reload("CheckSalary1"); } }); } return; } var time = Number(content.split('class="icon fight')[1].split("counter(")[1].split(",")[0]); if (time > 0 && time < 60) return; time = Number(content.split('class="icon rank')[1].split("counter(")[1].split(",")[0]); if (time > 0 && time < 60) return; var got = Number(spenden[0].split(" ")[3]); var link = content.substr(pos).split('value="')[1].split('"')[0]; var clean = content.match(/Sauberkeit:[^\d]*\d*/); if (clean.length < 1) return; clean = Number(clean[0].split(">")[1]); if (clean < 100) { var id = 2; var cnt = 1; var cost = 25; if (clean >= 20) { id = 1; cnt = Math.ceil((100 - clean) / 20); cost = cnt * 6; } if (cost > GetMoney(document)) { var pid = PGu_getValue("sellPlunder", "0"); if (pid != "0") sellPlunder (pid, 1); else { var price = Number(document.getElementsByClassName("icon bottle")[0].innerHTML.split(">")[1].match(/\d+/)); menge = Math.ceil((cost - GetMoney(document)) / price); sellBottles(menge, price); } } else WashMe(id, cnt); return; } pos = content.search("Angelegte Plunder"); if (pos <= 0) return; var table = content.substr(pos).split("")[0]; var tabs = table.split(" 3) var pltab = 3; else var pltab = 1; var aktPlunder = tabs[pltab].split('src="')[1].split('"')[0]; GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/stock/plunder/ajax/?c='+pltab, onload:function(responseDetails) { var content = responseDetails.responseText; var bonus = content.match(/ Einnahmen durch Spenden um \d*%/g); var maxp = -1; for (i = 0; i < bonus.length; i++) if (maxp < 0) maxp = i; else if (bonus[i] > bonus[maxp]) maxp = i; var trs = content.split("= 0; i++) if (trs[i].indexOf(aktPlunder) != -1) { aktstuff = trs[i].split("change_stuff('")[1].split("'")[0]; break; } var stuff = -1; for (i = 1; i < trs.length && maxp >= 0; i++) if (trs[i].indexOf(bonus[maxp]) != -1) { zp = trs[i].split('src="')[1].split('"')[0]; stuff = trs[i].split("change_stuff('")[1].split("'")[0]; break; } if (zp != aktPlunder) { PGu_setValue("aktPlunder", aktstuff); // ********************************************************************************** // *** GM_XMLHTTPREQUEST *** POSTEN des Plunderwechsels // ********************************************************************************** GM_xmlhttpRequest({method: 'POST', url: 'http://' + window.location.hostname + '/stock/plunder/change/', headers: {'Content-type': 'application/x-www-form-urlencoded'}, data: encodeURI('from_f=0&f_plunder=' + stuff), onload: function(responseDetails) { reload("CheckSalary2"); } }); return; } GM_xmlhttpRequest({ method: 'POST', url: 'http://pennerga.me/donate.php', headers: {'Content-type': 'application/x-www-form-urlencoded'}, data: encodeURI('url='+link+'&Submit=Donate'), onload: function(responseDetails) { reload("CheckSalary3"); } }); } }); } }); } function CheckGhosts() { var today = new Date(); var tagesdatum = FormatDate(today); var ghosts = document.getElementsByClassName("ghost_container"); var to = 10; if (ghosts.length > 0) { to = 1; if (PGu_getValue("ghostTest", "") != tagesdatum) { PGu_setValue("ghostIndex", 0); PGu_setValue("ghostTest", tagesdatum); PGu_setValue("ghostTestNoon", tagesdatum); } } for (var i = 0; i < ghosts.length; i++) setTimeout('document.getElementsByClassName("ghost_container")['+i+'].click();', 1000); setTimeout (checkGhostPages, to * 1000); return; } function doEatDrink(id, anz) { GM_xmlhttpRequest({method: 'POST', url: 'http://' + window.location.hostname + '/stock/foodstuffs/use/', headers: {'Content-type': 'application/x-www-form-urlencoded'}, data: encodeURI('item=&promille=&id='+id+'&menge='+anz), onload: function(responseDetails) { reload("doEatDrink"); } }); } function gangpayin(plunder, anz) { GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/gang/stuff/', onload:function(responseDetails) { var content = responseDetails.responseText; var payin = content.split("gang/stuff/payin/"); if (payin.length > 1) { var select = payin[1].split("Mein Penner
    ") != -1) { if (content.indexOf("/profil/id:"+friend+"/") == -1) PGu_setValue("friendid", "0"); else { GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/messages/write/', onload:function(responseDetails) { var inputs = responseDetails.responseText.split("/messages/write/send/")[1].split("")[0].replace("textarea", "input").split(' time) return false; GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/city/games/', onload:function(responseDetails) { var content = responseDetails.responseText; var nochlose = Number(content.split("Du kannst heute noch ").pop().split(" ")[0]); if (nochlose == 0) PGu_setValue("KeineLose", tagesdatum); else { var pos = content.indexOf("/city/games/buy/"); if (pos != -1) { var table = content.substr(pos).split("/table")[0]; var tr = table.split(" GetMoney(document)) { var price = Number(document.getElementsByClassName("icon bottle")[0].innerHTML.split(">")[1].match(/\d+/)); menge = Math.min(menge, Math.floor((maxmoney - money) / price)); var pid = PGu_getValue("sellPlunder", "0"); if (pid != "0") sellPlunder (pid, 1); else { sellBottles(Math.ceil((val - GetMoney(document))/price), price); } } LoseKaufen(inputs, 1); } return; } }}); } } } }); return false; break; // Jetzt in der SB posten case 4: GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/gang/shoutbox_ajax/', onload:function(responseDetails) { var chatadd = responseDetails.responseText.split('/gang/chat/add/')[1].split("")[1]); if (clean < 100) { var id = 2; var cnt = 1; var cost = 25; if (clean >= 20) { id = 1; cnt = Math.ceil((100 - clean) / 20); cost = cnt * 6; } if (cost > GetMoney(document)) { var pid = PGu_getValue("sellPlunder", "0"); if (pid != "0") sellPlunder (pid, 1); else { var price = Number(document.getElementsByClassName("icon bottle")[0].innerHTML.split(">")[1].match(/\d+/)); menge = Math.ceil((cost - GetMoney(document)) / price); sellBottles(menge, price); } return false; } WashMe(id, cnt); } else { // Seife benutzen } break; // Geld in deine Bandenkasse einzahlen case 8: var money = Math.floor(GetMoney(document)/100); if (money == 0) { var id = PGu_getValue("sellPlunder1", "0"); if (id != "0") sellPlunder(id, 1); return; } GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/gang/credit/', onload:function(responseDetails) { var cashadd = responseDetails.responseText.split('/gang/cash/add/')[1].split(""); for (j = 1; j < lis.length; j++) { var beg = lis[j].split('"amount"'); if (beg.length > 1) neededPlunder[pAnz++] = beg[0].split("")[1].split("<")[0]; } } pltab = 6; if (TOWNEXTENSION == "HH" || TOWNEXTENSION == "B" ||TOWNEXTENSION == "MU") pltab = 1; GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/stock/plunder/ajax/?c='+pltab, onload:function(responseDetails) { var content = responseDetails.responseText; var trs = content.split("x ")[0].split("").pop().trim(); var plAnz = trs[i].split(">x ")[1].split("<")[0].trim(); misspl.push(new Array(plname, Number(plAnz))); } } var inpaid = false; for (var i = 0; i < misspl.length; i++) if (neededPlunder.indexOf(misspl[i][0]) == -1) { gangpayin(misspl[i][0], misspl[i][1]); inpaid = true; break; } if (!inpaid && misspl.length > 0) { gangpayin(misspl[0][0], misspl[0][1]%100!=0?misspl[0][1]%100:100); } }}); }}); break; // Eine Begleiterweiterbildung starten case 10: //alert(10); break; // Einen Plunder basteln case 11: var indx = PGu_getValue("craftindex", 0); if (indx < 0) return -1; var craftlist = PGu_getValue("craftlist", "").split(";"); var craftid = indx >= craftlist.length?"":craftlist[indx]; if (craftid == "") { if (document.getElementById("options").innerHTML.indexOf("crime") != -1) var time = 9999999999; else var time = Number(document.getElementById("options").innerHTML.split("rank")[1].split("counter(")[1].split(",")[0]); PGu_setValue("craftindex", -1) PGu_setValue("bottletime", time) return -1; } PGu_setValue("craftindex", indx+1); if (craftid == "0") return -1; GM_xmlhttpRequest({method: 'GET', url: 'http://' + window.location.hostname + '/stock/plunder/craft/details/'+craftid+"/", onload: function(responseDetails) { var content = responseDetails.responseText; if (content.indexOf("start_craft") != -1) { var form = content.split('id="craftform"')[1].split("")[0]; var action = form.split('action="')[1].split('"')[0]; var inputs = form.split("= 2.5 && promille < 2.9) return; doEatDrink(2, 1); break; // Promillepegel über 2‰ case 13: var promille = GetPromille(document); if (promille >= 2.8) { doEatDrink(2, 1); return true; } var drinks = Math.ceil((2.1 - promille) / 0.35); if (drinks < 1) drinks = 1; doEatDrink(1, drinks); break; // Einmal Flaschensammeln starten case 14: if (document.getElementById("options").innerHTML.indexOf("crime") != -1) return false; var time = document.getElementById("options").innerHTML.split("fight")[1].split("counter(")[1].split(",")[0]; if (time > 0) return false; time = document.getElementById("options").innerHTML.split("rank")[1].split("counter(")[1].split(",")[0]; if (time > 0) return false; if (time < 0) { GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/activities/', onload:function(responseDetails) { var actbottle = responseDetails.responseText.split('/activities/bottle/')[1].split("")[1].match(/\d+/)); sellBottles(1, price); break; // Jetzt Plunder verkaufen case 16: var pid = PGu_getValue("sellPlunder", "0"); if (pid == "0") return false; sellPlunder (pid, 1); break; // Jetzt den Stadtteil/das Gebiet wechseln. case 17: GM_xmlhttpRequest({method: 'GET', url: 'http://' + window.location.hostname + '/city/district/', onload: function(responseDetails) { var districts = responseDetails.responseText.split("/city/district/buy/"); var inDist = ""; var toDist = ""; var kauf = new Array(); for (var i = 1; i < districts.length; i++) { if (districts[i].indexOf('name="id') != -1) { var inputs = districts[i].split("")[1].split("<")[0].match(/[\d.,]+/)[0].replace(/[.,]/g,""); if (Number(preis) == 0) kauf.push(id); } } } if (inDist != "" && toDist != "") break; } } var modus = ""; if (toDist == "" && kauf.length > 0) { toDist = kauf[0]; modus = "x"; } if (toDist != "") moveTo(toDist, inDist, modus); }}); break; // Jetzt eine Waffe verkaufen. case 18: GM_xmlhttpRequest({method: 'GET', url: 'http://' + window.location.hostname + '/stock/armoury/', onload: function(responseDetails) { var sell = responseDetails.responseText.split("/armoury/sell/"); var selWeapon = ""; var found = false; for (var i = 1; i < sell.length; i++) { if (sell[i].indexOf('name="id') != -1) { var id = sell[i].split("value="); if (id.length > 1) { var weaponid = id[1].split('"')[1]; if (sell[i-1].split(" 9999999999) time = 0; } else var time = Number(document.getElementById("options").innerHTML.split("rank")[1].split("counter(")[1].split(",")[0]); if (time > PGu_getValue("bottletime", 0)) { PGu_setValue("craftindex", 0); // Flaschen wurden gesammelt, Plunder basteln wieder testen PGu_setValue("bottletime", 0); } } var today = new Date(); var tagesdatum = FormatDate(today); if (PGu_getValue("dailyTaskDone", "xxx") == tagesdatum) { var selWeapon = PGu_getValue("selWeapon", ""); if (selWeapon != "") buyWeapon(selWeapon == "1"?selWeapon:"0"); return; } var taskTexts = new Array(); taskTexts[0] = 'Jetzt eine PN an einen Freund versenden'; if (TOWNEXTENSION == 'VT') taskTexts[1] = 'Eine Sünde erfolgreich begehen'; else taskTexts[1] = 'Ein Verbrechen erfolgreich begehen'; taskTexts[2] = 'Einen Kampf gewinnen'; taskTexts[3] = 'Jetzt Lose kaufen'; taskTexts[4] = 'Jetzt in der SB posten'; taskTexts[5] = 'Jetzt im Supermarkt Getränke kaufen.'; taskTexts[6] = 'Jetzt einen Begleiterkampf aktivieren'; taskTexts[7] = 'Jetzt einmal 100% sauber werden'; taskTexts[8] = 'Geld in deine Bandenkasse einzahlen'; taskTexts[9] = 'Plunder in die Plunderbank deiner Bande einzahlen'; taskTexts[10] = 'Eine Begleiterweiterbildung starten'; taskTexts[11] = 'Einen Plunder basteln'; taskTexts[12] = 'Jetzt einen kleinen Snack essen'; taskTexts[13] = 'Promillepegel über 2‰'; taskTexts[14] = 'Einmal Flaschensammeln starten'; taskTexts[15] = 'Jetzt Flaschen verkaufen'; taskTexts[16] = 'Jetzt Plunder verkaufen'; taskTexts[17] = 'Jetzt den Stadtteil wechseln.'; if (TOWNEXTENSION == 'SY' || TOWNEXTENSION == 'ML' || TOWNEXTENSION == 'VT') taskTexts[17] = 'Jetzt das Gebiet wechseln.'; else taskTexts[17] = 'Jetzt den Stadtteil wechseln.'; taskTexts[18] = 'Jetzt eine Waffe verkaufen.'; taskTexts[19] = 'Jetzt einem anderen Penner spenden.'; if (TOWNEXTENSION == 'SY' || TOWNEXTENSION == 'ML') taskTexts[20] = 'Jetzt Distel kaufen.'; else if (TOWNEXTENSION == 'VT') taskTexts[20] = 'Jetzt Weihrauch kaufen.'; else taskTexts[20] = 'Jetzt Zahnstocher kaufen.'; taskTexts[21] = 'Tierische Weihnachten'; taskTexts[22] = 'Einkaufen in letzter Sekunde'; GM_xmlhttpRequest({method: 'GET', url: 'http://' + window.location.hostname + '/daily/', onload: function(responseDetails) { var content = responseDetails.responseText; // Wenn die Seite abgerufen werden konnte (kein Seitenladefehler) if (content.indexOf("Mein Penner") != -1) { var task = content.split('min-height:40px;">')[1]; if (task.indexOf("") != -1) { task = task.split('')[1].split('')[0]; for (var t = 0; t < taskTexts.length; t++) if (taskTexts[t] == task) { doDailyTask(t); break; } } else { PGu_setValue("dailyTaskDone", tagesdatum); PGu_setValue("losemiss_wait", 0); PGu_setValue("craftindex", 0); if (PGu_getValue("AutoCrimePicMerk", "") != "") { PGu_setValue("AutoCrimePic", PGu_getValue("AutoCrimePicMerk", "")); PGu_setValue("AutoCrimePicMerk", ""); } } } }}); return; } // Die eigentliche Funktion function doTheAction () { if (document.getElementsByClassName('zleft profile-data').length > 0) oldVersion = 0; /*-*/ var host = window.location.host; if (host.substr(0,4) == "www.") host = host.substr(4); if (host.substr(0,7) == "change.") host = host.substr(7); if (GM_getValue(host + "_autologin", "xxx") == "xxx") { GM_setValue(host + "_autologin", GM_getValue("www." + host + "_autologin", false)); GM_setValue(host + "_username", GM_getValue("www." + host + "_username", "")); GM_setValue(host + "_password", GM_getValue("www." + host + "_password", "")); GM_deleteValue("www." + host + "_autologin"); GM_deleteValue("www." + host + "_username"); GM_deleteValue("www." + host + "_password"); GM_deleteValue("change." + host + "_autologin"); GM_deleteValue("change." + host + "_username"); GM_deleteValue("change." + host + "_password"); } var login = document.getElementById("loginform"); if (login) { login.addEventListener('submit', function(event) { var input = document.getElementById("loginform").getElementsByTagName("input"); for (var i = 0; i < input.length; i++) { if (input[i].name == "username" || input[i].name == "password") GM_setValue(host + "_" + input[i].name, input[i].value); } return true; }, false); } var myprof = document.getElementById("my-profile"); if (!myprof) { function doLogin() { var login = document.getElementById("loginform"); var input = login.getElementsByTagName("input"); var i = input.length - 1; if (GM_getValue(host + "_username", "") != "" && GM_getValue(host + "_password", "") != "") { document.getElementById("login_username").value = GM_getValue(host + "_username", ""); document.getElementById("password").value = GM_getValue(host + "_password", ""); input[i].click(); } else if (document.getElementById("login_username").value != "" && document.getElementById("password").value != "") { input[i].click(); } } var user = document.getElementById("login_username"); if (user) { var chb = document.createElement("input"); chb.type="checkbox"; chb.id="autologin"; chb.title="Auto-Login"; user.parentNode.appendChild(chb, user); document.getElementById("autologin").checked = GM_getValue(host + "_autologin", false); // Click-Handler hinzufügen document.getElementById("autologin").addEventListener("click", function(event) { // Klickstatus speichern GM_setValue(host + "_autologin", this.checked); }, false); } if (GM_getValue(host + "_autologin", false)) window.setTimeout(doLogin, 10000); return; } else if (myprof.getElementsByTagName("form").length > 0) { var input = myprof.getElementsByTagName("input"); if (input.length > 0) { myprof.getElementsByTagName("form")[0].addEventListener('mouseup', function(event) { GM_setValue(host + "_autologin", false); }, false); } } var mobBut = document.getElementById("mobile_button"); if (mobBut) if (mobBut.innerHTML == "Logout") { mobBut.getElementsByTagName("form")[0].addEventListener('mouseup', function(event) { GM_setValue(host + "_autologin", false); }, false); } // *********************************************************************************************** // *********************************************************************************************** // -------- Start of program-------------- // *********************************************************************************************** // *********************************************************************************************** PGu_setValue("RefreshInterval", 10); // Wenn in Berlin gespielt wird m_ownuserid = getOwnUserID(); if (language == "bl_DE") { TOWNEXTENSION = 'B'; // Wenn in München gespielt wird } else if (language == "mu_DE") { TOWNEXTENSION = 'MU'; // Wenn in Köln gespielt wird } else if (language == "kl_DE") { TOWNEXTENSION = 'K'; // Wenn in Hamburg gespielt wird } else if (language == "de_DE") { TOWNEXTENSION = 'HH'; // Wenn in Hamburg reloaded gespielt wird } else if (language == "hr_DE") { TOWNEXTENSION = 'HR'; // Wenn in Operation Pennersturm gespielt wird } else if (language == "s6_DE") { TOWNEXTENSION = 'OP'; // Wenn in Sylt gespielt wird } else if (language == "sy_DE") { TOWNEXTENSION = 'SY'; // Wenn in Malle gespielt wird } else if (language == "ml_DE") { TOWNEXTENSION = 'ML'; // Wenn im Vatikan gespielt wird } else if (language == "vt_DE") { TOWNEXTENSION = 'VT'; PGu_setValue("RefreshInterval", 5); } else if (language == "us_EN") { TOWNEXTENSION = 'NY'; } else if (language == "kr_PL") { TOWNEXTENSION = 'KR'; } else if (language == "pl_PL" || language == "wr_PL") { TOWNEXTENSION = 'WA'; } else if (language == "ma_FR") { TOWNEXTENSION = 'MS'; } else if (language == "fr_FR" || language == "cr_FR") { TOWNEXTENSION = 'PA'; } else if (language == "ba_ES") { TOWNEXTENSION = 'BA'; } else if (language == "es_ES" || language == "er_ES") { TOWNEXTENSION = 'MD'; } else if (language == "sp_BR") { TOWNEXTENSION = 'SP'; } else if (language == "pt_BR") { TOWNEXTENSION = 'RJ'; } else if (language == "ru_RU") { TOWNEXTENSION = 'MO'; } else if (language == "en_EN") { TOWNEXTENSION = 'LO'; } if(window.location.pathname.indexOf("/stock/bottle/") != -1){ var trs = document.getElementsByClassName("item_list")[0].getElementsByTagName("tr"); var trnr = (TOWNEXTENSION == "VT"?3:1); var tr1 = trs[trnr].cloneNode(true); var tr2 = trs[trnr].cloneNode(true); var inp1 = document.createElement("input"); inp1.id = "minmoney"; inp1.type = "text"; inp1.value = PGu_getValue("minMoney", 0); inp1.size = "9"; var inp3 = document.createElement("input"); inp3.type = "button"; inp3.value = "übernehmen"; inp3.addEventListener("click", function(event) { PGu_setValue("minMoney", document.getElementById("minmoney").value); }, false); if (TOWNEXTENSION == "VT") { tr1.getElementsByTagName("td")[0].innerHTML = 'Mindestgeldbetrag:'; tr1.getElementsByTagName("td")[1].appendChild(inp1, tr1.getElementsByTagName("td")[1]); tr1.getElementsByTagName("td")[1].appendChild(inp3, tr1.getElementsByTagName("td")[1]); } else { tr1.getElementsByTagName("td")[1].innerHTML = 'Mindestgeldbetrag:'; tr1.getElementsByTagName("span")[0].parentNode.removeChild(tr1.getElementsByTagName("span")[0]); tr1.getElementsByTagName("td")[2].appendChild(inp1, tr1.getElementsByTagName("td")[1]); tr1.getElementsByTagName("td")[2].appendChild(inp3, tr1.getElementsByTagName("td")[1]); } trs[trnr].parentNode.appendChild(tr1, trs[trnr]); var inp2 = document.createElement("input"); inp2.id = "minprice"; inp2.type = "text"; inp2.value = "0," + ("0" + PGu_getValue("bottleprice", "0")).substr(-2); inp2.size = "5"; var inp4 = document.createElement("input"); inp4.type = "button"; inp4.value = "übernehmen"; inp4.addEventListener("click", function(event) { if (document.getElementById("minprice").value.substr(0,2) != "0,") alert ("Wert unzulässig!"); else PGu_setValue("bottleprice", Number(document.getElementById("minprice").value.substr(2))); }, false); if (TOWNEXTENSION == "VT") { tr2.getElementsByTagName("td")[0].innerHTML = 'Mindestverkaufspreis Flaschen:'; tr2.getElementsByTagName("td")[1].appendChild(inp2, tr2.getElementsByTagName("td")[1]); tr2.getElementsByTagName("td")[1].appendChild(inp4, tr2.getElementsByTagName("td")[1]); } else { tr2.getElementsByTagName("td")[1].innerHTML = 'Mindestverkaufspreis Flaschen:'; tr2.getElementsByTagName("span")[0].parentNode.removeChild(tr2.getElementsByTagName("span")[0]); tr2.getElementsByTagName("td")[2].appendChild(inp2, tr2.getElementsByTagName("td")[2]); tr2.getElementsByTagName("td")[2].appendChild(inp4, tr2.getElementsByTagName("td")[2]); } trs[trnr].parentNode.appendChild(tr2, trs[trnr+1]); if (TOWNEXTENSION == "VT") { var tr3 = trs[trnr].cloneNode(true); var inp6 = document.createElement("input"); inp6.id = "maxfill"; inp6.type = "text"; inp6.value = PGu_getValue("maxfillbottle", 90); inp6.size = "5"; var inp8 = document.createElement("input"); inp8.type = "button"; inp8.value = "übernehmen"; inp8.addEventListener("click", function(event) { if (isNaN(document.getElementById("maxfill").value) || Number(document.getElementById("maxfill").value) < 1 || Number(document.getElementById("maxfill").value) > 100) alert ("Wert unzulässig!"); else PGu_setValue("maxfillbottle", Number(document.getElementById("maxfill").value)); }, false); tr3.getElementsByTagName("td")[0].innerHTML = 'Maximaler Flaschenfüllgrad:'; tr3.getElementsByTagName("td")[1].appendChild(inp6, tr3.getElementsByTagName("td")[1]); tr3.getElementsByTagName("td")[1].appendChild(inp8, tr3.getElementsByTagName("td")[1]); trs[trnr].parentNode.appendChild(tr3, trs[trnr+1]); } } if (PGu_getValue("minMoney", 0) > 0) { var price = Number(document.getElementsByClassName("icon bottle")[0].innerHTML.split(">")[1].match(/\d+/)); if (price >= PGu_getValue("bottleprice")) { GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/overview/', onload:function(responseDetails) { var content = responseDetails.responseText; var fass = content.split("Fassungsverm")[1].match(/[\d.,]+/); var maxmoney = Number(fass[0].replace(/[.,]/g,'')); var mon = content.split('class="icon money"')[1].split("")[0]; var money = Number(mon.split(">").pop().match(/[\d,.]+/)[0].replace(/[.,]/g, '')); if (money < maxmoney && money/100 < PGu_getValue("minMoney", 0)) GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/stock/bottle/', onload:function(responseDetails) { var content = responseDetails.responseText; var maxmenge = Math.floor((Math.min(PGu_getValue("minMoney", 0)*100, maxmoney)-money)/price) + 1; var menge = Math.min(maxmenge, Number(content.split('id="max"')[1].split('value="')[1].split('"')[0])); sellBottles(menge, price); }}); }}); } } var maxfill = PGu_getValue("maxfillbottle", 90); if (maxfill > 0 && TOWNEXTENSION == "VT") { var price = Number(document.getElementsByClassName("icon bottle")[0].innerHTML.split(">")[1].match(/\d+/)); GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/activities/', onload:function(responseDetails) { var content = responseDetails.responseText; var fass = content.split("Fassungsverm")[1].match(/[\d.,]+/); GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/stock/bottle/', onload:function(responseDetails) { var content = responseDetails.responseText; var p = content.indexOf('id="hp_bar_blue"'); var p2 = content.lastIndexOf(""); var bottles = text[0].split("")[0].split("").pop().split(" ")[0]; if (bottles > fass * maxfill / 100) { var menge = Math.floor(bottles - fass * maxfill / 100); GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/overview/', onload:function(responseDetails) { var content = responseDetails.responseText; var fass = content.split("Fassungsverm")[1].match(/[\d.,]+/); var maxmoney = Number(fass[0].replace(/[.,]/g,'')); var mon = content.split('class="icon money"')[1].split("")[0]; var money = Number(mon.split(">").pop().match(/[\d,.]+/)[0].replace(/[.,]/g, '')); menge = Math.min(menge, Math.floor((maxmoney - money) / price)); sellBottles(menge, price); }}); } }}); }}); } // alert(PGu_getValue("minigame_value")); CheckForUpdate(); CheckMinigame(); CheckNewMinigame(); CheckEnemygame(); CheckMission(); CheckDaily(); CheckSalary(); CheckGhosts(); GM_xmlhttpRequest({method:"GET", url: 'http://' + window.location.hostname + '/city/plundershop/', onload:function(responseDetails) { }}); if (PGu_getValue(nameLastCollectTime, -1) == -1) { var keys = GM_listValues(); for (i = 0; i < keys.length; i++) { var val = keys[i]; if (val.indexOf("-") != -1 || val.indexOf("pennersturm") != -1) GM_deleteValue(val); } PGu_setValue(nameLastCollectTime, 0); } var c=1; var posci = document.getElementById("enemy_info")?0:-1; if (posci != -1) posci = document.getElementById("enemy_info").innerHTML.indexOf('enemy_counter_info'); if (posci != -1) posci = document.getElementById("enemy_info").innerHTML.substr(posci+20,200).indexOf("counter"); if (posci != -1) c=2; try{ fcounter = document.getElementById("counter"+c).innerHTML; counter = document.getElementById("counter"+(c+1)).innerHTML; if (counter.trim() == done0) // is the time 00:00 ? counter = done; } catch(err){ } var now = new Date(); var day = now.getDay(); var hour = now.getHours(); if (PGu_getValue("AutoPetCollect", false)) { var cDay = PGu_getValue("AutoPetCollectDay", "0000000"); var cBeg = PGu_getValue("AutoPetCollectBegH", 0); var cEnd = PGu_getValue("AutoPetCollectEndH", 0); if (cDay.substr(day, 1) == "1" && ((cBeg < cEnd && hour >= cBeg && hour <= cEnd) || (cBeg >= cEnd && (hour >= cBeg || hour < cEnd)))) DoPetCollect(); } if(window.location.pathname.indexOf("/activities/crime/") != -1){ var buttons = document.getElementsByClassName("button_area"); for (i = 0; i < buttons.length; i++) insertCheckBox3(buttons[i], i); } else if(window.location.pathname.indexOf("/activities/") != -1){ var timeOptions = document.getElementsByName("time")[0]; timeOptions.selectedIndex = PGu_getValue(nameLastCollectTime,0); insertCheckBox(); insertCheckBox2(); } else if(window.location.pathname.indexOf("/overview/") != -1){ insertCheckBox4(); } else if(window.location.pathname.substr(-7) == "/daily/"){ insertCheckBox5(); } else if(window.location.pathname.substr(-10) == "/missions/"){ insertCheckBox6(); } if (fcounter == done && counter == done || PGu_getValue("AutoCrime", false) && PGu_getValue("AutoCrimeFkt", 0) > 0 && counter == done) submit(); else { var lastURL = PGu_getValue("AutoCollURL", ""); if (lastURL != "") { PGu_setValue ("AutoCollURL", ""); window.location.replace( lastURL ); } else { PGu_setValue(nameTime, time); PGu_setValue("AskedForCollect", 0); checkInterval = window.setInterval(check,intervalTime); } } }