DS FastAngriffsplaner TW+

By Sebastian Löscher Last update Sep 6, 2009 — Installed 1,357 times.

There are 12 previous versions of this script.

// ==UserScript==
// @name           	Angriffsplaner_TwPlus
// @author			Sebastian Löscher
// @namespace      	Die-Stämme
// @version			1.1
// @include        	http://de*.die-staemme.de/game.php?village=*&screen=info_player&id=*
// ==/UserScript==

////////////////////////////////////////////////////////////////////////////////////////////////// 
// A L L G E M E I N E S
//////////////////////////////////////////////////////////////////////////////////////////////////
 
var version = '1.1';

var aktUrl 		= document.location.href;
var doc 		= document.getElementById('ds_body');
var _welchewelt = aktUrl.split(".");
var _meine_welt = _welchewelt[0].replace("http://", "");
var icon		= 'data:image/png;base64,' +
				  'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAG' + 
				  'XRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAq' + 
				  'FJREFUeNpsU0tMU0EUPa8tUtDWWok0GGVjZAW4MOrCaIKYYOJ' + 
				  'n5Qa3RIPBgJrokg07TUQlNH5icGOCEWOIEUNjF/hJK5ZCq1FK' + 
				  'IdpSaGl50Ja2vPbNPGcetBbhJOfdzMw9Z+69kycoigKO9xaDl' + 
				  'oXT6zzEuJexBmuYZAwxjjPaOJvCScIPBG4wZDG0Clptr+VUA8' + 
				  'xHDmPH/n0oMRqg31MBUIJ0cBZSNIqkfxqLrnGIbg8USq+eCSe' +
				  'tqsHbSqPn5JuB2lJjGWg8BhKbZTEKEvkDJZuBxmCGoC+HxlwF' + 
				  'zc4KpMUMHNduec9GEnU6XgYFanV0BRm3A8pqCu86n6Hp5gUos' +
				  'gwlJ0MOB2DrG0XjxRp2M4G+7oSq4VoN/xA2BpLJsGopHAMuNI' + 
				  'cW8NX2GyRHGQlcY1l1b2xSD5mtc4llVfPPAAIoZckyRdOQTT3' + 
				  'gcexLFG5XasOenJVZHlE1HLo1A0BhtyvMfXnwKUznWwqCYkS6' +
				  'O0AkGTRLVE1xC4RyV2aS9nkQ63+I/zF/7wYSTjuooMNqMs010' + 
				  'YKBDCG0Gl+Botmm9v2tb3CTwcSwFzmJQCkzISGmucZbXMF4Mr' + 
				  'wAlJbjx8jkptLz7QQy7BlNlRDnlrjGVjREvAiNTkCj375BHHz' + 
				  'QicDd2xtMCBvi/FSQa14VDFpiy/2+Dx/t4kwAseHXa+LeLsRd' + 
				  'n7DkHMFMV7u6F3pyB3NTISTFeB/T+AuvsN6G1fn8ZcNRQUHql' + 
				  'xcJz6g6Dz7cxc92SNcvIRkV4XP71dy8Tsj/TBw9u3ddLinTP6' + 
				  'o/14iK6ipIkRBoagVaownR6SB+Or9DlrJX2haXHm9pwHHfbD7' + 
				  'OQqvlQHXzwWP17M0l+BwTWAiEec/WdlG0F+dvMsij22xu40br' + 
				  'S2uHKPZslfdXgAEA8lFz6E73QNMAAAAASUVORK5CYII=';

var gm_name 	= "AP_TW_" + _meine_welt;
var _dorf 		= aktUrl.split("village=");
var _myDorfId 	= _dorf[1].split("&")[0]; // By Roman S. (Zombie74)
var rank_url 	= "http://" + document.location.host + "/game.php?village=" + _myDorfId + "&screen=ranking";
//////////////////////////////////////////////////////////////////////////////////////////////////
//UPDATE - VERSION
//////////////////////////////////////////////////////////////////////////////////////////////////

function checkVersion() {
	try {
		var xmlReq = GM_xmlhttpRequest({
        method: 'GET',
        url: 'http://userscripts.org/scripts/source/55044.meta.js',
        onload: function(req) {
          if(req.status == 200){
			var aktScriptversion = /\/\/\s*@version\s*(.*)\s*\n/i.exec(req.responseText)[1];
				if(version != aktScriptversion) { version_string = 
				'Neue Version von DS FastAngriffsplaner TW+ ist verfügbar <a href="http://userscripts.org/scripts/source/55044.user.js" >[ Updaten ]</a>';
				var myupdatediv = document.createElement('div');
				myupdatediv.setAttribute('style',"position: absolute;height: 20px;text-align: center;top: 0;width: 100%;background: white;z-index: 1000;");
				myupdatediv.innerHTML = version_string;
				document.body.appendChild(myupdatediv);
			} else {
              GM_setValue(gm_name + '_UpdateCheck',new Date().getDate());
			}
          }
        }
      });
    }
    catch(err) { }
}


if((GM_getValue(gm_name + '_UpdateCheck') == undefined) || (GM_getValue(gm_name + '_UpdateCheck') != new Date().getDate())) {
	checkVersion();
}




////////////////////////////////////////////////////////////////////////////////////////////////// 
// N A M E    V O R H A N D E N ?
//////////////////////////////////////////////////////////////////////////////////////////////////
if(GM_getValue(gm_name) == undefined || GM_getValue(gm_name + '_NameCheck') == undefined || (GM_getValue(gm_name + '_NameCheck') != new Date().getDate())) {
	getAndSetMyNameByRanking(rank_url);
}

//DEBUG
//GM_log(GM_getValue(gm_name + '_UpdateCheck'));

////////////////////////////////////////////////////////////////////////////////////////////////// 
// M A K E     L I N K S
//////////////////////////////////////////////////////////////////////////////////////////////////
//GM_deleteValue(gm_name);
make_icon_links();

function getAndSetMyNameByRanking(rurl) {
	GM_xmlhttpRequest({
		method:"GET",
		url: rurl,
		headers:{"User-Agent":"Mozilla/5.0","Accept":"text/xml"},
		onload:function(response) {
				var res = document.createElement('div');
				res.innerHTML = response.responseText;
				var _trs = [];
				_trs = res.getElementsByTagName('tr');
		
				for(var i = 0; i < _trs.length;i++) {
					if(_trs[i].getAttribute('class') == "lit") {
						var name = _trs[i].getElementsByTagName('td')[1].firstChild.innerHTML;
					}
				}
				
				if(name != null) {
					GM_setValue(gm_name,name);
				}
				GM_setValue(gm_name + '_NameCheck',new Date().getDate());
		}
	});
}


function make_icon_links() {
	var _tb = doc.getElementsByClassName('vis');
	var _date = new Date();
	
	if(GM_getValue(gm_name) == undefined) { 
		getAndSetMyNameByRanking(rank_url);
		this.location.reload();
	}
	
	var tbidx = 0;
	for(var i = 0; i < _tb.length; i++) {
		var _tds = _tb[i].getElementsByTagName('td');
			for(var x = 0; x < _tds.length; x++ ) {
				if(_tds[x].getElementsByTagName('a').length != 0) {
					if(_tds[x].getElementsByTagName('a')[0].href.match('screen=info_village')) {
						var koord = _tds[x].parentNode.getElementsByTagName('td')[1].innerHTML.substr(0,7).split('|');
						var _aktLink = ' <a target="_blank" href="http://' + _meine_welt + '.twplus.org/attack/simple/?t_x='
							+ koord[0] + '&t_y='+ koord[1] +'&p=' + GM_getValue(gm_name) + 
							'&day=' + (_date.getDate() + 1) + 
							'&month=' + (_date.getMonth() + 1) + 
							'&year=' + _date.getFullYear() + 
							'&hour=' + _date.getHours() +
							'&minute=' + _date.getMinutes() + 
							'&second=0&submit=Weiter"><img height="12" src="' + icon + '" /></a>';
						var _new_td = document.createElement('td');
						_new_td.innerHTML = _aktLink;
						_new_td.setAttribute('style','text-align:center;');
						_tds[x].parentNode.appendChild(_new_td);
						tbidx = i;
					}
				}
			}
	}
	var _new_th = document.createElement('th');
	
	var _new_tw_link = document.createElement('a');
	_new_tw_link.href = "http://" + _meine_welt + ".twplus.org";
	_new_tw_link.innerHTML = "Tw";
	_new_tw_link.target = "_blank";
	
	_new_th.appendChild(_new_tw_link);
	_tb[tbidx].getElementsByTagName('tr')[0].appendChild(_new_th);
}

function addHours(akt, anz) {
	if(akt + anz < 24) return ((akt + anz) < 10) ? "0" + (akt + anz) : akt + anz ;
	else if(akt + anz > 23) return (anz - ( akt - 23 ) < 10 ) ? "0" + (anz - ( akt - 23 )) : anz - ( akt - 23 ) ;
}