Monsters Game extra Info mit Greasemonkey

Sunday 30. September 2007 | dexta

Wann habe ich zuletzt gekämpft oder wie lange wirkt der Trank noch mit dem ich meine Werte erhöt habe ? Für diese Fragen eignet sich dieses Script für die Firefox Erweiterung Greasemonkey das ich hier geschrieben habe. Es kann auch mit den andern beiden Scripten auf diesem Blog verwendet werden, eine Version die alles zusammenfast ist schon in arbeit aber noch lange nicht ganz Bugfrei.

Install Script Tutorail 02

Alle Monsters Game Scripte für Greasemonkey

// ==UserScript==
// @name Monsters Game Commander CO
// @namespace http://zahlenzerkleinerer.de
// @description A Script to manage the MMOG Monster Game tutorial
// @include *
// ==/UserScript==

var jetzt = new Date();
var BenchST = jetzt.getTime();
var Aktuell = jetzt.getTime()-1180200000000;// offset for GM_varz typ Int
var Aktuell = Math.floor(Aktuell/1000);

function NeuesElement(Tag, Inhalt) // Funktion um neue Elemente hinzufügen
{ // habe mich bei dem oGame Script bedient
var Neu = document.createElement(Tag); // sehr nützlich auch mal über den Tellerrand
if (Inhalt.indexOf(“<") != -1 || Inhalt.indexOf("&") != -1)// zu schauen
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;
}

var Prem = 1; // Festlegen ob es ein Premium Account ist
var Server = 16; // Legt den Server fest fals auf mehr als einem gespielt wird
var Para = window.location.search;// Die Parameter der URL damit das Script weiß wo es ist
if(Para != "") {
var SucheP = /=([a-z0-9]+)/gi;
var UrPara = Para.match(SucheP);
} else { var UrPara = new Array(); }

var isCounter = document.getElementById('COUNTER'); // gibt es einen Counter
var isKaempfen = document.body.innerHTML.match(/alle [0-9]+ Minuten kämpfen/); // war das ein Kampf
if(isCounter != null) { // COUNTER gibt es im HTML Dokument
var TheCounter = document.getElementById('COUNTER').firstChild.data; // wir holen uns das DOM Objekt
var TimeArr = TheCounter.match(/([0-9]+):([0-9]+):([0-9]+)/); // Schneiden die Zahlen raus
TimeArr[2] = parseInt(TimeArr[2]); // Jagen die durch eine Intenger erkennung
TimeArr[3] = parseInt(TimeArr[3]); // --> zur weiteren Verarbeitung
if(isKaempfen != null && UrPara[0] == “=raubzug”) { // es ist ein Kampf
if(Prem) { // Premium kann alle 5 min kämpfen == 300sec
var MinusT = 300;
} else { // die anderen nur alle 15 min == 900 sec
var MinusT = 900;
}
var PlusT = (TimeArr[2]*60)+TimeArr[3]; // errechnen der Sec
var NextFight = (Aktuell+3600)-(MinusT-PlusT); // addieren 60min und ziehen die verstrichende zeit wieder ab
GM_setValue(‘NextFight’+Server,NextFight); // schreiben des Wertes in die GM Variable
}

if(isKaempfen == null && UrPara[0] == “=status”) { // der Counter vom Trank
var TrankWirkt = (TimeArr[2]*60)+TimeArr[3]; // addieren der Sec. zur Aktuellen Zeit
GM_setValue(‘TrankWirkt’+Server,TrankWirkt+Aktuell); // schreiben in die GM Var
}
}

function extra_infoz() {
var newInfo = NeuesElement(“div”, “”, “align”, “center”);
var Ihtml = ”;
var NextFight = GM_getValue(‘NextFight’+Server,0);
var NextFight = parseInt(NextFight);
var TrankWirkt = GM_getValue(‘TrankWirkt’+Server,0);
var TrankWirkt = parseInt(TrankWirkt);

if(NextFight != 0 && NextFight>Aktuell) {
var NFsec = NextFight-Aktuell;
if(NFsec>5) {
Ihtml += ‘NEXT:‘;
jetzt.setTime(NFsec*1000);
Ihtml += jetzt.getMinutes()+’ M – ‘;
Ihtml += jetzt.getSeconds()+’ S ‘;
Ihtml += ‘
‘;
}
} else { Ihtml += “UNSAFE”; }

if(TrankWirkt != 0 && TrankWirkt>Aktuell) {
var NTsec = TrankWirkt-Aktuell;
if(NTsec>2) {
Ihtml += ‘ __ Trank wirkt noch: ‘;
jetzt.setTime(NTsec*1000);
Ihtml += ’0:’+jetzt.getMinutes()+’:';
Ihtml += jetzt.getSeconds()+’
‘;
}
} else { GM_setValue(‘TrankWirkt’+Server,0); }

newInfo.innerHTML = Ihtml;
document.getElementsByTagName(“td”)[QuickL].appendChild(newInfo,document.getElementsByTagName(“td”)[QuickL].firstChild);
}

var all_tdz = document.getElementsByTagName(“td”); // ein Array mit allen TD Elementen
var QuickL = 0; // setzten die var auf null um einen Default zu haben
for(a=0;a if(all_tdz[a].innerHTML.match(‘Logout’) != null) { // man sucht sich die Zeile in der das Menu steht
var QuickL = a; // da wir den Baum komplett durchsuchen bleibt das letzte
} // vorkommen die Richtige Zeile
}
if(QuickL != 0) { // Wenn ein TD gefunden wurde wird extra_infoz aufgerufen
extra_infoz(); // Einfühgen der Extra Infos
}

Viel Spaß beim einfühgen und benutzen, alles Scripte gibt es gleich auch noch mal zum Download. Aber nicht vergessen Euren Server an zu passen und zu bestimmen ob ihr Premium Spieler seid oder nicht.

Kommentar schreiben

Ajax CommentLuv Enabled ba9f07820e914ad473cfc00f5308c94b