gondal.fight

By PP2000 Last update Nov 22, 2009 — Installed 896 times. Daily Installs: 5, 5, 4, 1, 0, 3, 4, 5, 13, 7, 0, 54, 23, 11, 4, 14, 5, 7, 4, 1, 2, 1, 2, 2, 4, 0, 3, 5, 19, 19, 9, 4

There are 11 previous versions of this script.

// ==UserScript==
// @name           gondal.fight
// @author         PP2000
// @version        0.5
// @license        GPL version 3 or any later version (http://www.gnu.org/copyleft/gpl.html)
// @include        http://w1.gondal.de/*
// @include        http://w2.gondal.de/*
// @include        http://www.gondal-de.de/*
// @include        http://www.lastemperor.de/*
// @include        http://w2.last-emperor.de/*
// @description    Dieses Skript ist in der Lage die Arenakämpfe bei Gondal vollständig zu übernehmen, insofern gewünscht.
// @description    Für eventuelle negative Folgen der Nutzung dieses Skripts übernehme ich keinerlei Verantwortung. 
// ==/UserScript==

// Für diese Script benötigen Sie Firefox 3.x und Greasemonkey https://addons.mozilla.org/de/firefox/addon/748

// Anzugreifender Gegner
var GegnerFerono = ""; 
var GegnerThur   = "";
var GegnerVenja  = "";
var LastEmperorW1  = "";
var LastEmperorW2  = "";


//////////////////////////////////////
// Ab hier bitte nichts mehr ändern //
//////////////////////////////////////

// Wähle Gegner
function SelectGegner(gegner) {
  if (gegner.indexOf(";") != -1)
  {
    var GegnerArray = gegner.split(";");
    //length - 1 da array 0-basierend
    var gegnerArrayPos = Randomize(0, GegnerArray.length -1);
    return GegnerArray[gegnerArrayPos];
  } else {
    return gegner;
  }
}

// Zeitrandomisierungsfunktion
function Randomize( from, to) {
  // Zeitrückgabe .. in Millisekunden
  return( from + parseInt( Math.random() * (to - from + 1)));
}

// Weiterleitung auf die nächste Seite
function SeitenRedirect(redir_to) {
  window.setTimeout('window.location.pathname = "' + redir_to + '"', Randomize(1000,5000));
}

// Weiterleiten auf die Gegenersuche, wenn Gondalsweiterleitung nicht funktioniert oder stecken bleibt
function KampfRedirect(time) {
  window.setTimeout('window.location.pathname = "/fights/start"',time);
}

// Differenzieren bei result
if(window.location.pathname.split("/")[2] == "results") {
  var pathname = "/fights/results";
} else {
  var pathname = window.location.pathname;
}

// Unterschiedliche Handlungen bei unterschiedlichen Seiten 
switch(pathname) {
  case "/fights/start":
    //alert ("Hier Suche ich den Gegner");
    var Gegner = document.getElementsByName("data[Character][name]")[0].value;
    if(Gegner!="") {
        // Ziel gegner auslesen
        var gegnerZiel = document.getElementsByName("data[Character][name]")[0].value;
        // Schleife ueber ergebnisliste
        for(var x = 0;x<35;x++) {
          var gegnerName = document.getElementById("search").getElementsByTagName("a")[x].innerHTML;
          if(gegnerZiel==gegnerName) {
            // nur wenn der Zielgegen dem Eintrag entspricht angreifen!
            x++;      
            var Gegnerlink = document.getElementById("search").getElementsByTagName("a")[x].pathname;
            SeitenRedirect(Gegnerlink);
          }         
          x++;
        } 
    } else {   
      switch(document.location.hostname) {
        case "www.gondal-de.de":
          document.getElementsByName("data[Character][name]")[0].value = SelectGegner(GegnerThur) ;
          break;
        case "w1.gondal.de":
          document.getElementsByName("data[Character][name]")[0].value = SelectGegner(GegnerFerono);
          break;
        case "w2.gondal.de":
          document.getElementsByName("data[Character][name]")[0].value = SelectGegner(GegnerVenja) ;
          break;
        case "www.lastemperor.de":
          document.getElementsByName("data[Character][name]")[0].value = SelectGegner(LastEmperorW1) ; 
          break;
        case "w2.last-emperor.de":
          document.getElementsByName("data[Character][name]")[0].value = SelectGegner(LastEmperorW2) ; 
          break;
      } 
      if(document.getElementsByName("data[Character][name]")[0].value!="") {
        window.setTimeout('document.getElementsByTagName("form")[1].submit()',Randomize(3000,5000));
      } 
    }
    break;
  // Seite: Character Gefunden
  case "/fights/searchCharacter":
    SeitenRedirect(document.getElementsByTagName("a")[1].pathname);
    break;
  // Seite des Kampfes
  case "/fights/fight":
    SeitenRedirect(document.getElementById("fighttostats").innerHTML.split('"')[1]);
    break;
  // Seite des Ergebnisses
  case "/fights/results":  
    SeitenRedirect("/fights/start");
    break;
  // Seite auf nächsten Kampf warten
  case "/fights/waitFight":
    //start_timer('remaining', 200, 'location.href = "/fights/start";', 0, 1);
    // Quelltext einlesen in dem 'Wartezeit zum Kampf steht ..'
    var dsrc = document.getElementById("wrapper").innerHTML;
    // String 'remaining' suchen, position bestimmen, "," nach der Wartezeit (in sek) suchen,
    // auslesen, und auf die Seite /fights/start weiterleiten, + 2 sek, sobald die Wartezeit vorbei ist
    // Diese Routine dient lediglich dazu, sollte mal das weiterleiten seitens Gondal stecken, was vorkommen kann.
    var posStart = dsrc.indexOf("'remaining'") + 13;
    var posEnd = dsrc.indexOf(",",posStart)
    var tmleft = dsrc.substr(posStart, posEnd - posStart);
    tmleft = parseInt(tmleft) * 1000 + 2000;
    KampfRedirect(tmleft);
    break;
}