// ==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/*
// @version 2.3.34 Anpassungen für Sommergame 2014 (Zollbeamter)
// @downloadURL none
// ==/UserScript==
// @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 22 2014-05-05 06:34:18Z 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.split(" ")[0];
var THISSCRIPTNAME = GM_info.script.name;
var THISSCRIPTINSTALL_URL = GM_info.script.namespace; // URL fuer Hauptseite bei userscripts.org
var THISSCRIPTSOURCE_URL = THISSCRIPTINSTALL_URL.replace('show', 'source') + ".user.js"; // Skript-URL bei userscripts.org
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);
}
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);
}
// ***********************************************************************************************
// ***********************************************************************************************
// 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);
}
// ***********************************************************************************************
// ***********************************************************************************************
// removes spaces at the beginning and end of a string
// ***********************************************************************************************
// ***********************************************************************************************
function trimString(s) {
return s.replace(/^\s+|\s+$/g,'');
}
// ***********************************************************************************************
// ***********************************************************************************************
// 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("LastUpdateCheck","") != tagesdatum) {
// load the script page on userscripts.org
GM_xmlhttpRequest({
method: 'GET',
url: THISSCRIPTINSTALL_URL,
onload: function(responseDetails) {
var content = responseDetails.responseText;
// find the script version
var scriptversion = content.split("Version:")[1];
var scriptfullversion = trimString(scriptversion.split("
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);
}
if (success == 0) {
if (trs[j].style.background.indexOf("/success.jpg") != -1) {
PGu_setValue("minigame_success", 1);
}
else {
var options = trs[j].innerHTML.split('