There are 2 previous versions of this script.
Add Syntax Highlighting (this will take a few seconds, probably freezing your browser while it works)
// ==UserScript==
// @name MonstersGameHelper
// @url http://zahlenzerkleinerer.de/646/greasemonkey-rechnen-mit-monster-game.html
// @description GraseMonkey MonstersGame ScriptHelper --- zeigt die Zeit seid dem letzten Kampf oder wie lange ein Trank noch wirkt, ein Klick Kampf nach Level oder Namen: einlesen der Namen über die Kampfberichte zb. ab 100 Gold
// @include http://*.monstersgame.net*
// ==/UserScript==
/**
* TO DO LIST
*
*
*
*
*
*/
var jetzt = new Date();
var BenchST = jetzt.getTime();
var Aktuell = jetzt.getTime()-1180200000000;// offset for GM_varz typ Int
Aktuell = Math.floor(Aktuell/1000);
var Para = window.location.search;
UrPara = new Array();
if(Para != "") {
var SucheP = /=([a-z0-9]+)/gi;
var UrPara = Para.match(SucheP);
GM_log("Welche Optionen über URL "+UrPara);
}
var Server = 20; // default Server change unter Profil
var NamenArr = new Array("test");
var Host = window.location.host;
var SucheS = /spielwelt([0-9]+)\.monstersgame\.net/;
var Domain = SucheS.exec(Host);
if(Domain != null) {
Server = Domain[1];
}
GM_log('<---------------- Benchmarking ------------------------> ');
//GM_setValue('EndLevel'+Server,16);
var playerName = GM_getValue('playerName'+Server,'dexta')
var GoldLimit = GM_getValue('GoldLimit'+Server,20);
var GoodGoldie = GM_getValue('GoodGoldie'+Server,50);
var startLevel = GM_getValue('StartLevel'+Server,6);
var endLevel = GM_getValue('EndLevel'+Server,15);
var Prem = GM_getValue('isPrem'+Server,0);
//var Prem = 1;
var start_ql = 15;
var end_ql = 20;
var qlinkname = new Array("Friedhof","Tränke","Angriffe","Waffen","Rüstung");
var qlinklink = new Array("ac=friedhof","ac=stadt&sac=warenhaendler&waren=items&swaren=1","ac=nachrichten&sac=angriff","ac=stadt&sac=warenhaendler&waren=waffen","ac=stadt&sac=warenhaendler&waren=ruestung");
var isCounter = document.getElementById('COUNTER');
var isKaempfen = document.body.innerHTML.match(/alle [0-9]+ Minuten kämpfen/);
function NeuesElement(Tag, Inhalt)
{
var Neu = document.createElement(Tag);
if (Inhalt.indexOf("<") != -1 || Inhalt.indexOf("&") != -1)
Neu.innerHTML = Inhalt;
else if (Inhalt.length > 0)
Neu.appendChild(document.createTextNode(Inhalt));
if (NeuesElement.arguments.length > 2) {
for (var i = 2; i < NeuesElement.arguments.length-1; i += 2) {
if (!NeuesElement.arguments[i+1].length) continue;
Neu.setAttribute(NeuesElement.arguments[i], NeuesElement.arguments[i+1]);
}
}
return Neu;
}
function addGlobalStyle(css) {
var head, style;
head = document.getElementsByTagName('head')[0];
if (!head) {
return;
}
style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = css;
head.appendChild(style);
}
function holeTagNummer(tagName,search) {
var tagz = document.getElementsByTagName(tagName);
var hitTagz = 0;
for(t=0;t<tagz.length;t++) {
if(tagz[t].innerHTML.match(search) != null) {
GM_log("Bin bei den : "+tagName+" in Nummer = "+t);
hitTagz = t;
}
}
var back = new Array(hitTagz,tagz);
//back[0] = hitTagz;
//back[1] = tagz;
return back;
}
function loescheNamen(e) {
var targ = e.target;
var namen = targ.id;
GM_log("Lösche Namen : "+namen);
var listName = GM_getValue('lName'+Server);
var unListName = listName.split('@_@');
var numIT = unListName.length-1;
var NDaten = new Array();
for(o=0;o<=numIT;o++) {
if(unListName[o]!=namen) {
NDaten.push(unListName[o]);
} else {
GM_log('Dieser Name wird gelöscht '+ unListName[o]);
}
}
var ListName = NDaten.join("@_@");
GM_setValue('lName'+Server,ListName);
}
function loescheNAMEZ() {
var listName = GM_getValue('lName'+Server);
var unListName = listName.split('@_@');
var numIT = unListName.length-1;
for(o=0;o<=numIT;o++) {
var NDaten = GM_setValue(unListName[o]+Server,0);
GM_log('<---------------- Namen '+unListName[o]+' --------------->');
}
GM_log('<---------------- Alle Namen gelöscht ----------------->');
}
function changeOptz() {
GM_setValue('StartLevel'+Server,parseInt(document.getElementById('startLevel').value));
GM_setValue('EndLevel'+Server,parseInt(document.getElementById('endLevel').value));
GM_setValue('isPrem'+Server,parseInt(document.getElementById('Prem').value));
GM_setValue('GoldLimit'+Server,parseInt(document.getElementById('GoldLimit').value));
GM_setValue('GoodGoldie'+Server,parseInt(document.getElementById('GoodGoldie').value));
GM_setValue('playerName'+Server,document.getElementById('playerName').value);
GM_log('Optionen wurden aktualisiert');
}
function getTime() {
var TheCounter = isCounter.innerHTML;
GM_log("The Counter : "+TheCounter);
var TimeArr = TheCounter.match(/([0-9]+):([0-9]+):([0-9]+)/);
TimeArr[2] = parseInt(TimeArr[2]);
TimeArr[3] = parseInt(TimeArr[3]);
GM_log("Ist Kaempfen "+isKaempfen);
if(isKaempfen != null && UrPara[0] == "=raubzug") {
GM_log("Raubzug ... time ... ");
var MinusT = 0;
if(Prem) {
MinusT = 300;
} else {
MinusT = 900;
}
var PlusT = (TimeArr[2]*60)+TimeArr[3];
var NextFight = (Aktuell+3600)-(MinusT-PlusT);
GM_setValue('NextFight'+Server,NextFight);
}
if(isKaempfen == null && UrPara[0] == "=status") {
var TrankWirkt = (TimeArr[2]*60)+TimeArr[3];
GM_setValue('TrankWirkt'+Server,TrankWirkt+Aktuell);
}
extra_Infoz();
}
if (isCounter != null) {
var Klick = NeuesElement("div", "");
codeOK = '<a href="#" style="background:#00FF00;color:#000000;padding:5px;margin:3px;float:center;z-index:99;">Get Time</a>';
Klick.innerHTML=codeOK;
Klick.addEventListener('click',function(){
getTime()
},true);
Einhaengen = isCounter.parentNode;
Einhaengen.appendChild(Klick);
var TheMenues = document.getElementById('header-middle-bottom');
}
function extra_Infoz() {
//var newInfo = NeuesElement("div", "", "align", "center");
var Ihtml = '<p id="ExtraInfo" style="background:#FF0000;color:#000000;padding:5px;margin:3px;float:right;z-index:99;">';
GM_log("extra INFOs beginnen: "+GM_getValue('NextFight'+Server,0));
var NextFight = GM_getValue('NextFight'+Server,0);
NextFight = parseInt(NextFight);
var TrankWirkt = GM_getValue('TrankWirkt'+Server,0);
TrankWirkt = parseInt(TrankWirkt);
if(NextFight != 0 && NextFight>Aktuell) {
var NFsec = NextFight-Aktuell;
if(NFsec>5) {
Ihtml += 'NEXT:<b>';
jetzt.setTime(NFsec*1000);
Ihtml += jetzt.getMinutes()+' M - ';
Ihtml += jetzt.getSeconds()+' S ';
Ihtml += '</b>';
}
} else {
Ihtml += "UNSAFE";
}
if(TrankWirkt != 0 && TrankWirkt>Aktuell) {
var NTsec = TrankWirkt-Aktuell;
if(NTsec>2) {
Ihtml += ' __ Trank wirkt noch: <b>';
jetzt.setTime(NTsec*1000);
Ihtml += '0:'+jetzt.getMinutes()+':';
Ihtml += jetzt.getSeconds()+'</b>';
}
} else {
GM_setValue('TrankWirkt'+Server,0);
}
Ihtml += "</p>";
document.getElementById('ExtraInfo').innerHTML = Ihtml; //appendChild(newInfo);
}
function tooltiph(e) {
var targ = e.target;
var name = targ.id;
GM_log("more this :"+name);
wmtt = document.getElementById('NamenInfo');
var softInfo = GM_getValue(name+Server);
var infoz = softInfo.split('@_@');
Code = '</form>Name '+name+' QUER Gold: '+infoz[1]+' LetzterKamp: '+infoz[2];
Code += '<form action="" method="post" name="submain">';
Code += '<input name="ac" value="raubzug" type="hidden">';
Code += '<input name="sac" value="gegner" type="hidden">';
Code += '<input name="searchopt2" value="=" type="hidden">';
Code += '<br><input type="submit" name="searchname" value="'+name+'">';
Code += '</form>';
Code += ' <div> <b id="Zp1800"> +,5h </b>';
Code += ' <b id="Zp3600"> +1h </b>';
Code += ' <b id="Zp9000"> +2,5h </b>';
Code += ' __-<b onClick="SUBnameK(\''+name+'\')> Fight with</b></div>';
wmtt.innerHTML=Code;
document.getElementById("Zp1800").addEventListener("click", function(){neueZeiten(name,'1800')}, true);
document.getElementById("Zp3600").addEventListener("click", function(){neueZeiten(name,'3600')}, true);
document.getElementById("Zp9000").addEventListener("click", function(){neueZeiten(name,'9000')}, true);
}
function neueZeiten(Name,PZeit) {
var DiffToTw = 43200000;
var neueZeit = (parseInt(BenchST) - DiffToTw ) + (parseInt(PZeit)*1000);
aenderName = GM_getValue(Name+Server,0);
if(aenderName != 0) {
var WerteArr = aenderName.split('@_@');
WerteArr[0] = neueZeit;
Zusammen = WerteArr.join("@_@");
GM_setValue(Name+Server,Zusammen);
}
}
function ChangeGG(addmin) {
GM_log("Parameter "+addmin);
var Zahl = parseInt(GoodGoldie);
if(addmin == "+") GoodGoldie = Zahl+10;
if(addmin == "-" && GoodGoldie > 0) GoodGoldie = Zahl-10;
GM_setValue('GoodGoldie'+Server,GoodGoldie);
neuerWert = document.getElementById('GoodGoldie');
neuerWert.innerHTML = GoodGoldie;
}
// -----------------------------------------------------------------------------------------
// ------------------ Direkt Links zu den Wichtigen Plaetzen im Spiel ----------------------
// -----------------------------------------------------------------------------------------
function extra_Linkz() {
var Lhtml = '';
for(Q=0; Q<qlinklink.length; Q++) {
Lhtml += '<a href="index.php?'+qlinklink[Q];
Lhtml += '" target="_top">'+qlinkname[Q];
Lhtml += '</a> : ';
}
Lhtml += '';
document.getElementById('ExtraLinks').innerHTML = Lhtml;
}
// -----------------------------------------------------------------------------------------
// ---------------------------- ENDE DER DIREKT LINKZ --------------------------------------
// -----------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------
// ---------------------------- Kampfbericht auswerten -------------------------------------
// -----------------------------------------------------------------------------------------
function kampf_Bericht() {
var is_kampfB = document.body.innerHTML.match(/Kampfbericht im Detail am/);
if(is_kampfB == null) {
return 0;
}
var tablez = document.getElementsByTagName('td');
var hitKampf = 0;
for(t=0;t<tablez.length;t++) {
if(tablez[t].innerHTML.match('Kampfbericht im Detail') != null) {
GM_log("Bin im Kapfbericht : "+t);
hitKampf = t;
}
}
tablez[hitKampf].innerHTML = "Neuer Kampfbericht";
var trefferP = tablez[hitKampf+5].innerHTML;
matchz = trefferP.match(/([0-9]+)\.*[0-9]*/);
trefferP = matchz[1];
var lebenRest = tablez[hitKampf+6].innerHTML;
matchz = lebenRest.match(/([0-9]+)\.*[0-9]*/);
lebenRest = matchz[1];
var lebenMinus = tablez[hitKampf+8].innerHTML;
matchz = lebenMinus.match(/([0-9]+)\.*[0-9]*/);
lebenMinuz = matchz[1];
var sieger = tablez[hitKampf+10].innerHTML;
matchz = sieger.match(/Sieger:\s(.*)/);
sieger = matchz[1];
var goldErf = tablez[hitKampf+11].innerHTML;
var sString = ' hat +([0-9]+) <img.*> erbeutet! '+playerName+' erhielt +([0-9]+) und';
matchz = goldErf.match(sString);
GM_log("Spieler Name "+matchz+sString);
var goldB = matchz[1];
var erfahrung = matchz[2];
GM_log("TrefferPunkte verteilt: "+trefferP+"\n"+
"Lebensenergie Rest : "+lebenRest+"\n"+
"Lebensenergie Minus : "+lebenMinus+"\n"+
"Sieger Kampf : "+sieger+"\n"+
"Gold erbeutet : "+goldB+"\n"+
"Erfahrungen gesammelt : "+erfahrung+"\n"+
"Gold und Erfahrung : "+goldErf+"\n");
var bgcol = "#FFFF00";
if(sieger != playerName) bgcol = "#FF0000";
var outHTML = '<div id="ExtraLinks" style="background:'+bgcol+';color:#000000;padding:5px;margin:3px;float:right;z-index:99;">'+
'S:'+sieger+'|L:'+lebenRest+'|E:'+erfahrung+'|G:'+goldB+
'</div>';
return outHTML;
}
// -----------------------------------------------------------------------------------------
// ------------------------- ENDE Kampfbericht auswerten -----------------------------------
// -----------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------
// ---------------------------- Raubzug optionen -------------------------------------
// -----------------------------------------------------------------------------------------
function kampf_name() {
addGlobalStyle(
'.kinfo {' +
' border:solid 1px #0000FF;' +
' padding:1px;'+
' margin:12px 4px;'+
' cursor:crosshair;'+
' white-space:pre;'+
' }' +
'.kinfo :hover{' +
' background-color:#0F0FFF;'+
' }'+
'.goldie td {\n\
font-size:2em;\n\
}'+
'.extraKampfMenu {'+
' background:#AAAAFF;\n\
color:#000000;\n\
padding:5px;\n\
margin:3px;'+
'}');
var Testi = NeuesElement("div", "", "align", "center", "bgcolor","#0000FF");
Code = '<div class="extraKampfMenu" id="extraKampfMenu">';
Code += '<div class="NamenInfo" id="NamenInfo"></div>';
Code += '<form action="" method="post" name="cmain">';
Code += '<input name="ac" value="raubzug" type="hidden">';
Code += '<input name="sac" value="gegner" type="hidden">';
Code += '<input name="searchopt2" value="=" type="hidden">';
Code += '<table>';
Code += '<tr><td colspan="3" align="center">';
GM_log("Start Level : "+startLevel);
GM_log("End Level : "+endLevel);
for (var j=startLevel; j<endLevel+1; j++) {
Code += '<input type="submit" name="searchopt" value="'+j+'">';
//GM_log("Level Zaehler"+j);
}
Code += '</td></tr>';
// GM_setValue('lName'+Server,"null@_@null");
var softVar = GM_getValue('lName'+Server,0);
var hardVar = 0;
if(softVar!=0) hardVar = softVar.split('@_@');
if(hardVar.length!=0) {
var HaveTime = '';
var NoTime = '';
var Goldie = '';
var TimeR = BenchST;
for (var n=0; n<hardVar.length; n++) {
// GM_setValue(hardVar[n]+Server,"null@_@null");
softInfo = GM_getValue(hardVar[n]+Server,"null@_@null");
var infoz = softInfo.split('@_@');
var restT = TimeR-infoz[0];
var DiffTime = 43200000; // 12 Stunden
var gegnerInput = '<span class="kinfo"><input type="submit" name="searchname" value="'+hardVar[n]+'"><a link id="'+hardVar[n]+'"> i';
var gegnerInputEnd = '</a></span>\n';
if(restT<DiffTime) {
restT = DiffTime-restT;
var nTime = new Date();
nTime.setTime(restT);
var ZeitInfo = ' T:';var Abbruch = 1;
if(nTime.getHours() >= 2) {
ZeitInfo += ' H:'+ (nTime.getHours()+1); Abbruch = 0;
}
if(nTime.getMinutes() >= 1 && Abbruch) {
ZeitInfo += ' M:'+ nTime.getMinutes(); Abbruch = 0;
}
if(nTime.getSeconds() >= 1 && Abbruch) ZeitInfo += ' S:'+ nTime.getSeconds();
HaveTime += gegnerInput+ZeitInfo+gegnerInputEnd;
} else {
if(infoz[2] >= GoodGoldie) {
Goldie += gegnerInput+gegnerInputEnd;
} else {
NoTime += gegnerInput+gegnerInputEnd;
}
}
}
Code += '<tr class="goldie"><td width="33%">Goldies <b id=goldiePlus>+ </b><i id="GoodGoldie">'+GoodGoldie+'</i><b id="goldieMinus"> -</b>';
Code += '</td><td width="33%">Free</td><td width="33%">Time</td></tr>';
Code += '<tr><td>'+Goldie+'</td><td>'+NoTime+'</td><td>'+HaveTime+'</td></tr>';
}
Code += '</form></div>';
Testi.innerHTML=Code;
return Testi;
}
function raub_Menu() {
var isRaubzug = document.body.innerHTML.match(/Hier kannst Du die Gegend nach/);
if(UrPara[0] != "=raubzug" || isRaubzug == null) return 0;
var divz = document.getElementsByTagName('div');
var hitRaubInfo = 0;
for(t=0;t<divz.length;t++) {
if(divz[t].innerHTML.match(/Hier kannst Du die Gegend nach/) != null) {
hitRaubInfo = t;
}
}
divz[hitRaubInfo].appendChild(kampf_name());
var tmpListName = GM_getValue('lName'+Server,0);
var listName = tmpListName.split('@_@');
//var makeE = null;
for (var r=0;r<listName.length;r++) {
document.getElementById(listName[r]).addEventListener("click", function(e){tooltiph(e)}, true);
}
document.getElementById("goldiePlus").addEventListener("click", function() {ChangeGG('+')}, true);
document.getElementById("goldieMinus").addEventListener("click", function() {ChangeGG('-')}, true);
return 1;
}
function HoleGegner() {
var showuserid = holeTagNummer("td","showuserid");
var startLine = showuserid[0];
GM_log("Bin in HoleGegner() : pos : "+showuserid[0]);
if(showuserid[0] == 0) return 0;
var endLine = startLine-50;
for(goUP=startLine;goUP>endLine;goUP=goUP-5) {
if(document.getElementsByTagName('td')[goUP].firstChild.data == "Gegner:") break;
var GName = document.getElementsByTagName('td')[goUP].firstChild.firstChild.data;
var GWinR = document.getElementsByTagName('td')[goUP+1].firstChild.data;
if(GWinR.length==22) GName = GName.substring(0,22);
if(GName == GWinR) {
GM_log('<--------------------- Looser ----------------------- >'); continue;
}
var Datum = document.getElementsByTagName('td')[goUP-1].firstChild.data;
//var DateAr = /([0-9]+)\.([0-9]+)\.([0-9]+)\s([0-9]+):([0-9]+):([0-9]+)/.exec(Datum);
var DateAr = /am\s([0-9]+)\.([0-9]+)\.([0-9]+)\sum\s([0-9]+):([0-9]+):([0-9]+)/.exec(Datum);
GM_log("Date Array: "+DateAr);
var DaUTC = Date.UTC(RegExp.$3,RegExp.$2-1,RegExp.$1,RegExp.$4,RegExp.$5,RegExp.$6);
DaUTC = parseInt(DaUTC)-7200000;
var WGold = document.getElementsByTagName('td')[goUP+2].firstChild.data.match(/[0-9]+/)[0];
var softVar = GM_getValue(GName+Server,0);
//var softVar = 0;
GM_log("softValue :"+softVar);
if(softVar == 0) {
if(GoldLimit>WGold) {
GM_log('<-------- GoldLimit -> '+GoldLimit+' Gewonnen '+WGold); continue;
}
un_ser = new Array(DaUTC,WGold,WGold,1);
var hard = un_ser.join("@_@");
GM_setValue(GName+Server,hard);
var listName = GM_getValue('lName'+Server);
if(listName) {
var unListName = listName.split('@_@');
var numIT = unListName.length+1;
unListName.push(GName);
} else {
var unListName = new Array(GName);
}
listName = unListName.join("@_@");
GM_setValue('lName'+Server,listName);
} else {
var hardVar = softVar.split("@_@");
if(hardVar[0]<DaUTC) {
hardVar[0] = DaUTC;
hardVar[1] = Math.floor((parseInt(hardVar[1]) + parseInt(WGold))/2);
hardVar[2] = WGold;
hardVar[3] = parseInt(hardVar[3])+1;
softVar = hardVar.join("@_@");
GM_setValue(GName+Server,softVar);
GM_log("Gegner Update "+GName+Server+" : "+softVar);
}
}
if(goUP>120) break;
if(goUP<1) break;
}
return 1;
}
// -----------------------------------------------------------------------------------------
// ------------------------- ENDE Raubzug optionen -----------------------------------
// -----------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------
// ------------------------------- START Traing Tune ---------------------------------------
// -----------------------------------------------------------------------------------------
function trainingTune() {
if(UrPara[0] != "=training" && UrPara[0] != "=hellhound") return 0;
var tdz = holeTagNummer("td", "Dein Goldbestand");
var Punkt = tdz[1][tdz[0]+1].innerHTML.match(/^([0-9]+)\.([0-9]+)\,([0-9]+)/);
var Gold = 0;
if(Punkt != null) {
var meinGold = tdz[1][tdz[0]+1].innerHTML.match(/^([0-9]*)\.*([0-9]+)\,([0-9]+)/);
Gold = (parseInt(meinGold[1])*1000)+parseInt(meinGold[2],0);
} else {
var meinGold = tdz[1][tdz[0]+1].innerHTML.match(/^([0-9]+)\,([0-9]+)/);
Gold = parseInt(meinGold[1],0);
}
GM_log("mein Gold Bestand "+meinGold+" -- "+Gold);
if(UrPara[0] == "=training") {cstart = tdz[0]+2;cend = tdz[0]+17;}
if(UrPara[0] == "=hellhound") {cstart = tdz[0]+6;cend = tdz[0]+15;GM_log("Hellhound"+cstart);
}
for (g=cstart;g<cend;g=g+3) {
var be4 = tdz[1][g+2].innerHTML;
//GM_log("RAW TD: "+be4);
var zahlstring = be4.match(/\(Kostet ([0-9\.]+),[0-9]+/);
var zstring = zahlstring[1].replace(".","");
var zahl = parseInt(zstring);
GM_log("Zahl Parse "+zahl);
var fac = Math.floor(Gold/zahl);
if(fac > 0) {
GM_log("Goldwerte : "+zahl[1]+" Summe mal "+fac);
var Info = NeuesElement("div", "");
Info.innerHTML = "x "+fac;
tdz[1][g+2].appendChild(Info);
}
}
return 1;
}
// -----------------------------------------------------------------------------------------
// ---------------------------------- ENDE Traing Tune -------------------------------------
// -----------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------
// ---------------------------- START Hunde Info --------------------------------------
// -----------------------------------------------------------------------------------------
function hundeHTMLinfo(aktuell) {
infoCode = "L:"+HELLHOUND_level[aktuell]+
" K:"+HELLHOUND_kosten[aktuell]+
" W:"+HELLHOUND_angriff[aktuell]+
"-"+HELLHOUND_verteidigung[aktuell]+
"-"+HELLHOUND_ausdauer[aktuell]+
"</span>";
return infoCode;
}
function updateHundeHTMLinfo(aendern) {
var uinfo = document.getElementById("HundeInfo");
GM_log("updateHundeInfo "+aendern);
var aktuell = GM_getValue("HundePos",3);
if(aktuell == 1 && aendern == "minus") return 0;
var minusHund = document.getElementById("Hminus");
var normalHund = document.getElementById("HundeCss");
var plusHund = document.getElementById("Hplus");
var infoCode = "";
if (aktuell > 1) {
minusHund.innerHTML = hundeHTMLinfo(aktuell-1);
} else { minusHund.innerHTML = ""; }
normalHund.innerHTML = " - " + hundeHTMLinfo(aktuell) + " - ";
if (aktuell < HELLHOUND_name.length) {
plusHund.innerHTML = infoCode += hundeHTMLinfo(aktuell+1);
} else { plusHund.innerHTML = ""; }
uinfo.innerHTML = infoCode;
return 1;
}
function hundeInfo() {
var haveDog = document.body.innerHTML.match(/Jetzt einen Wä.*chter kaufen/);
GM_log("haveDog "+haveDog);
if(UrPara[0] != "=status" || haveDog != null) return 0;
addGlobalStyle(
'.hundeKnoepfe {'+
' cursor:crosshair;\n\
border:solid 1px #AA4242;\n\
font-size:1.1em;'+
'}');
var tdz = holeTagNummer("td", "Wächter Art");
var hund = tdz[1][tdz[0]+1].innerHTML.match(/^(.+)/);
var Hund = hund[1];
HELLHOUND_name = new Array(0,'Hund','Wütiger Hund','Wolfshund','Tollwütiger Wolfshund','Bionischer Hund','Apokalyptischer Hund','Bionischer Wolfshund','Apokalyptischer Wolfshund','Echsenhund','Steinhund','Drachenhund','Feuerhund','Zwillingshund','Tollwütiger Zwillingshund','Zerberus','Wütiger Zerberus','Bionischer Zwillingshund','Apokalyptischer Zwillingshund','Bionischer Zerberus','Apokalyptischer Zerberus','Niederes Wasserteufelchen','Niederes Erdeteufelchen','Niederes Steinteufelchen','Niederes Feuerteufelchen','Wasserteufelchen','Erdeteufelchen','Steinteufelchen','Feuerteufelchen','Gargoyle','Steingargoyle','Reptilgargoyle','Feuergargoyle','Drachengargoyle','Teufelsgargoyle','Höllengargoyle','Trollgargoyle','Abyssische Gargoyle','Adamantiumgargoyle','Vipergargoyle','Riesengargoyle','Junger Hybriddrache','Junger roter Drache','Junger Säuredrache','Junger schwarzer Drache','Hybriddrache','Säuredrache','Schwarzer Drache','Roter Drache');
HELLHOUND_level = new Array(0,5,7,12,13,14,15,16,17,18,19,20,21,23,25,30,33,37,40,45,47,50,55,59,63,67,71,75,79,83,88,91,95,99,103,106,109,112,116,119,122,125,128,131,134,137,140,143,147);
HELLHOUND_premium = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1);
HELLHOUND_kosten = new Array(0,1000,2000,5000,5000,5000,5000,5000,10000,15000,15000,15000,15000,20000,25000,30000,40000,40000,40000,40000,45000,50000,50000,55000,55000,60000,60000,65000,65000,70000,75000,75000,80000,80000,85000,85000,90000,90000,95000,95000,100000,100000,100000,105000,105000,110000,110000,110000,115000);
HELLHOUND_angriff = new Array(0,1,2,3,4,4,5,5,10,12,14,14,16,17,20,25,27,29,30,32,35,40,42,43,45,47,48,51,54,57,62,64,67,70,72,75,78,80,83,86,91,93,96,99,101,104,107,109,114);
HELLHOUND_verteidigung = new Array(0,1,2,3,3,3,4,5,8,10,12,14,16,17,20,25,27,29,30,32,35,40,42,44,45,47,49,51,54,56,61,64,66,69,72,74,77,80,82,85,90,93,95,98,101,103,106,109,114);
HELLHOUND_ausdauer = new Array(0,1,2,3,3,3,3,5,10,10,10,12,14,17,20,25,27,29,30,32,35,40,41,43,45,46,48,51,53,56,61,64,67,69,72,75,77,80,83,85,90,93,96,98,101,104,106,109,114);
aktuell = 0;
for (hh=0;hh<HELLHOUND_name.length;hh++) {
if(HELLHOUND_name[hh] == Hund) aktuell = hh;
}
if(aktuell == 0) return 0;
GM_setValue("HundePos",aktuell);
var info = NeuesElement("div", "","id","HundeInfo");
var Hminus = NeuesElement("span", "","id","Hminus","class","hundeKnoepfe");
Hminus.addEventListener("click", function () {updateHundeHTMLinfo("minus")}, true);
info.appendChild(Hminus);
info.appendChild(NeuesElement("span", "","id","HundeCss","class","hundeKnoepfe"));
var Hplus = NeuesElement("span", "","id","Hplus","class","hundeKnoepfe");
Hplus.addEventListener("click", function () {updateHundeHTMLinfo("plus")}, true);
info.appendChild(Hplus);
tdz[1][tdz[0]+1].appendChild(info);
updateHundeHTMLinfo("");
//document.getElementById("Hminus").addEventListener("click", function () {updateHundeHTMLinfo("minus")}, true);
//document.getElementById("Hplus").addEventListener("click", function () {updateHundeHTMLinfo("plus")}, true);
GM_log("Hunde Debug : "+hund+" | Hunde "+HELLHOUND_name[aktuell]);
return 1;
}
// -----------------------------------------------------------------------------------------
// ---------------------------------- ENDE Hunde Info -------------------------------------
// -----------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------
// ---------------------------- START Globale optionen --------------------------------------
// -----------------------------------------------------------------------------------------
function Optionz() {
addGlobalStyle(
'.Optionz td{' +
' text-align:center;' +
' }' +
'.Optionz table{' +
' background-color:#E0E0E0;'+
' }'+
'.curx {'+
' cursor:crosshair;'+
'}');
newOption = NeuesElement("div", "");
// GM_setValue('lName'+Server,"null@_@null");
var listName = GM_getValue('lName'+Server,0);
var unListName = listName.split('@_@');
var numIT = unListName.length-1;
GM_log("Liste der Namen unter Optionen "+unListName);
var startLevel = GM_getValue('StartLevel'+Server,15);
var endLevel = parseInt(GM_getValue('EndLevel'+Server,35));
var Prem = GM_getValue('isPrem'+Server,0);
var GoldLimit = GM_getValue('GoldLimit'+Server,100);
var GoodGoldie = GM_getValue('GoodGoldie'+Server,70);
var playerName = GM_getValue('PlayerName'+Server,'dexta');
Code = '<table align="center" border="1" class="Optionz">';
Code += '<tr><td colspan="6">Einstellungen:<br>';
Code += '<form id="optionz" name="optionz">';
Code += 'Mein Name im Spiel <input type="text" size="9" id="playerName" value="'+playerName+'"><br>';
Code += 'Level von : <input type="text" size="2" id="startLevel" value="'+startLevel+'">';
Code += ' bis <input type="text" size="2" id="endLevel" value="'+endLevel+'"><br>';
Code += 'Limit ab wann Siege übernommen werden <input type="text" size="2" id="GoldLimit" value="'+GoldLimit+'"><br>';
Code += 'Limit für die Goldies <input type="text" size="2" id="GoodGoldie" value="'+GoodGoldie+'"><br>';
Code += 'Prem<input type="text" size="2" id="Prem" value="'+Prem+'"> 0 == kein Premium oder 1 == Premium<br>';
Code += '<input type="button" id="OptionAendern" value="Save">';
Code += '</form>';
Code += '</td></tr>';
Code += '<tr><th>Name</th><th>LezterKamp</th><th>SCH</th><th>Gold</th><th>Kämpfe</th><th>Löschen</th></tr>';
for(o=0;o<=numIT;o++) {
var NDaten = GM_getValue(unListName[o]+Server,"1@_@2@_@3@_@4@_@5");
var hardVar = NDaten.split("@_@");
Code += '<tr><td align="right">'+unListName[o]+'</td>';
TTime = new Date();
TTime.setTime(parseInt(hardVar[0]));
Code += '<td>'+TTime.toLocaleString()+'</td>';
Code += '<td>'+hardVar[1]+'</td>';
Code += '<td>'+hardVar[2]+'</td>';
var len = hardVar[3].length;
for(s=0;s<=len;s++) {
var nr = hardVar[3].substr(s, 1);
}
Code += '<td>'+hardVar[3]+'</td>';
Code += '<td><input type="button" value="Löschen" id="'+unListName[o]+'"></td>';
}
Code += '<tr><td colspan="6""><input type="button" value="Lösche alle Namen" id="LoescheAlleNamen"></td></tr>';
Code += '<tr><td colspan="6">';
for(i=10;i<=251;i=i+10) {
Code += '<a href="http://spielwelt'+Server+'.monstersgame.net/index.php?ac=nachrichten&sac=angriff&count='+i+'">';
Code += (parseInt(i)+1) +'-'+ (parseInt(i)+10) +'</a> : ';
}
Code += '</td></tr>';
Code += '</table>';
newOption.innerHTML=Code;
return newOption;
}
function OptionenAnzeigen() {
var tmpListName = GM_getValue('lName'+Server,0);
var listName = tmpListName.split('@_@');
if(UrPara[0] != "=profil") return 0;
var optionpos = holeTagNummer("div","eMail-Adresse");
GM_log("Bin in OptionAnzeigen() : pos : "+optionpos[0]);
optionpos[1][optionpos[0]].appendChild(Optionz());
var optAen = document.getElementById("OptionAendern");
optAen.addEventListener("click", function(){changeOptz()}, true);
var makeE = null;
for(l=0;l<listName.length;l++) {
GM_log("Listen Name"+listName[l]);
makeE = document.getElementById(listName[l]);
makeE.addEventListener("click", function(e){loescheNamen(e)}, true);
}
var optLAll = document.getElementById("LoescheAlleNamen");
optLAll.addEventListener("click", function() {loescheNAMEZ()}, true);
return this;
}
// -----------------------------------------------------------------------------------------
// ----------------------------- ENDE Globale optionen --------------------------------------
// -----------------------------------------------------------------------------------------
// Darstellung in die Seite schreiben
var Header = document.getElementById('header-middle-bottom');
var HeaderDIV = NeuesElement("div", "", "align", "center");
var HeaderHTML = '<div id="ExtraInfo" style="background:#FF0000;color:#000000;padding:5px;margin:3px;float:right;z-index:99;"></div>';
HeaderHTML += '<div id="ExtraLinks" style="background:#00FF00;color:#000000;padding:5px;margin:3px;float:right;z-index:99;"></div>';
var KampfHTML = kampf_Bericht();
if(KampfHTML != 0) HeaderHTML += KampfHTML;
HeaderDIV.innerHTML = HeaderHTML;
Header.appendChild(HeaderDIV);
extra_Infoz();
extra_Linkz();
raub_Menu();
HoleGegner();
OptionenAnzeigen();
trainingTune();
hundeInfo();
// ---------------------------------------------------------------------------------------
var dannB = new Date();
var BenchEn = dannB.getTime()
var BenDiff = BenchST+BenchEn;
GM_log('<--------- '+Server+' ------- Millisec diff---> '+(BenchEn-BenchST));
// ---------------------------------------------------------------------------------------