Raw Source
Baldoius / Stadtgame Casino Script

// ==UserScript==
// @name         Stadtgame Casino Script
// @namespace    http://stadtgame.lima-city.de
// @version      0.86 BETA
// @description  Kasino Script für Stadtgame.de // Switch to Github
// @author       Dario Ackermann
// @include      http://www.stadtgame.de/spielcasinob.php?gid=*
// @match        http://www.stadtgame.de/spielcasinob.php?gid=*
// @grant        none
// @downloadURL  https://github.com/Baldoius/stadtcasinoscript/raw/master/scs.user.js
// @updateURL  https://github.com/Baldoius/stadtcasinoscript/raw/master/scs.user.js
// @require http://code.jquery.com/jquery-latest.js
// ==/UserScript==



// Funktion zum Auslesen von Cookies

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i<ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1);
        if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
    }
    return "";
}

// Löscht alle Cookies, setzt den nopromt cookie und aktualisiert das Fenster

function cleanCookies() {

    document.cookie = "scs_originalbet=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
    document.cookie = "scs_bet=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
    document.cookie = "scs_number=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
    document.cookie = "scs_active=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
    document.cookie = "scs_maxrunden=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
    document.cookie = "scs_schmerzensgrenze=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
    document.cookie = "scs_aktrunden=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
    document.cookie = "scs_noprompt=yes;";
    alert("© 2015 AlphaWord");

    window.location.href = window.location.href;
}

function cleanCookiesNoLeave() {
    document.cookie = "scs_originalbet=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
    document.cookie = "scs_bet=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
    document.cookie = "scs_number=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
    document.cookie = "scs_active=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
    document.cookie = "scs_maxrunden=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
    document.cookie = "scs_schmerzensgrenze=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
    document.cookie = "scs_aktrunden=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
}


function isNumber(n) { return /^-?[\d.]+(?:e-?\d+)?$/.test(n); }  // Testet ob 'n' eine Zahl ist
function setData() {

    cleanCookiesNoLeave();

    // Variabelnzuweisung

    var bet = prompt("Bitte gib deinen gewünschten Starteinsatz ein. Wenn du verlierst, wird der Einsatz automatisch erhöht, damit du die Menge des Ersteinsatzes gewinnst", "20");
    var number = prompt("Bitte gib die Zahl ein, auf die du setzen möchtest", "1");
    var schmerzensgrenze = prompt("Bitte gib die Anzahl an Geld ein, bei der du trotz Verlust nicht weiterspielen möchtest. Lass das Feld leer, um keine Schmerzensgrenze zu setzen");
    var maxrunden = prompt("Bitte gib die Anzahl Runden an, bei der OHNE NACHFRAGEN weitergespielt wird! Lass das Feld leer, um nach jeder Runde neu zu fragen");



    if(isNumber(bet) && isNumber(number)) { // Teste ob Einsatz und Wettzahl gültige Ziffern sind

        schmerzensgrenze = +schmerzensgrenze || 0
        maxrunden = +maxrunden || 0                        // Konvertiere ggf. NaN zu 0



        document.cookie = "scs_bet="+bet+";";
        document.cookie = "scs_originalbet="+bet+";";                                // Setze Cookies
        document.cookie = "scs_number="+number+";";
        document.cookie = "scs_schmerzensgrenze="+schmerzensgrenze+";";
        document.cookie = "scs_maxrunden="+maxrunden+";";
        document.cookie = "scs_aktrunden=1;";
        casino(); // Los gehts!
    } else {

        // Fehlerhafte Zahlen, Meldung ausgeben

        alert("Etwas stimmt mit den Zahlen nicht!");
        cleanCookies();

    }


}


function bet(multiplicate,ft) {



    var maxrunden = parseInt(getCookie("scs_maxrunden"));
    var aktuellrunden = parseInt(getCookie("scs_aktrunden"));
    var betField = document.getElementsByName("einsatz")[0];

    var ausgabe = "<h3>Runde "+aktuellrunden+" von "+maxrunden+"</h3>";
    var div = document.createElement('div');
    div.style.position = "fixed";
    div.style.right = "10%";
    div.style.fontFamily = "Open Sans";
    div.style.bottom = "10px";
    div.innerHTML = ausgabe;

    document.getElementsByTagName('td')[7].appendChild(div);


    if(multiplicate === true) {

        var bet = parseInt(getCookie("scs_bet")) * 2;

    }
    else {

        if(ft === true) {
            var bet = parseInt(getCookie("scs_originalbet"));
        } else {
            var bet = parseInt(getCookie("scs_bet"));
        }       

    }

    var schmerzensgrenze = parseInt(getCookie("scs_schmerzensgrenze"));


    if(schmerzensgrenze == 0 || bet < schmerzensgrenze) {

        function executeBet() {

            betField.value = bet;
            document.cookie = "scs_bet="+bet+";";


            var numberField = document.getElementsByName("ratzahl")[0];
            numberField.value = getCookie("scs_number");

            var submitForm = document.getElementsByTagName("form")[0]; 
            submitForm.submit();

        }

    }

    if(aktuellrunden <= maxrunden || maxrunden == 0) {

        if(schmerzensgrenze == 0) {
            executeBet();
        } else if (bet < schmerzensgrenze) {
            executeBet();


        } else {



            alert("Abbruch: Schmerzensgrenze erreicht");
            cleanCookies();

        }

    } else {
        alert(+maxrunden+" Runden erreicht.");

        nextRound();
    }
}

// Casinofunktion, ausgeführt von * oder setData();

function casino() {

    var maxrunden = parseInt(getCookie("scs_maxrunden"));
    var aktrunden = parseInt(getCookie("scs_aktrunden"));



    // Ist eine Runde aktiv?

    if(getCookie("scs_active") == "") {
        // Nein, beginne gerade

        var roundCount = 1;
        document.cookie = "scs_active="+roundCount+";";
    } else {
        // Ja, aktiv

        var roundCount = parseInt(getCookie("scs_active")) + 1;
        document.cookie = "scs_active="+roundCount+";";
    }

    if(roundCount > 1) {

        // NICHT die erste Runde
        // Überprüfe ob letzter Einsatz gewinnbringend war

        var win = 1;

        $("tr td:contains('Du hast verloren.')").each(function(){ // Suche ein td mit dem Inhalt "Du hast verloren"
            win = 0; // dann setze Win auf 0
        });

        if(win == 1) {
            if(maxrunden == 0) {                          // Wenn automatische Runden eingestellt sind, KEINE alert fenster anzeigen
                alert("Du hast gewonnen!"); 
            }

            nextRound();
        } else {
            if(maxrunden == 0) {
                alert("Nicht gewonnen :(");
            }

            if(maxrunden !== 0) {
                setTimeout(function(){
                    bet(true, false);   // Wenn automatisiert, Timeout setzen
                }, 1000);
            } else {
                bet(true, false); // Multiplikator wird angewendet,  Originalbet wird nicht angewendet.
            }
        }

    } else {

        // erste Runde
        // einfach nur setzen
        if(maxrunden !== 0) {
            setTimeout(function(){
                bet(false, true);   // Wenn automatisiert, Timeout setzen
            }, 1000); 
        } else {
            bet(false, true); // Multiplikator wird nicht angewendet, Originalbet wird angewendet
        }
    }


}

function nextRound(bet, number) {

    var maxrunden = parseInt(getCookie("scs_maxrunden"));
    var aktrunden = parseInt(getCookie("scs_aktrunden"))  + 1;
    document.cookie = "scs_aktrunden="+aktrunden+";";



    if(maxrunden == 0 || aktrunden > maxrunden) { // Keine automatischen Runden oder bereits alle Runden erreicht

        document.cookie = "scs_aktrunden=1;"; // Aktuelle Runden Cookie reset

        // Frage Benutzer ob noch eine Runde

        if(confirm("Nochmal spielen?")) {

            // Frage Benutzer ob mit gleichen Zahlen

            if(confirm("Nochmal mit denselben Einstellungen spielen? (auch Runden!)")) {


                document.cookie = "scs_active=; expires=Thu, 01 Jan 1970 00:00:00 UTC"; // scs Rundencookie löschen, sonst Loop
                casino(); // goto Casino

            } else {

                // Neue Daten setzen

                setData();

            }

        } else {

            // Cookies löschen, Anwendung verlassen

            cleanCookies();

        }
    } else {
        // Automatische Runde
        document.cookie = "scs_active=; expires=Thu, 01 Jan 1970 00:00:00 UTC"; // scs Rundencookie löschen, sonst Loop

        casino();
    }
}

// ERSTEINHEIT 

if(getCookie("scs_maxrunden") == "NaN") {

    setData();

} else if(getCookie("scs_active") != "") { // Runde aktiv, Form abgeschickt?

    casino(); // Zahlen überprüfen

} else { // Keine Runde aktiv

    if(getCookie("scs_bet") == "" || getCookie("scs_number") == "" ) { // Keinen Einsatz und Skript wurde vorher nicht beendet

        if(!getCookie("scs_noprompt")) {



            if(confirm("Möchtest du das SCS benutzen?")) { // Fragen
                setData(); // Daten setzen
            } else {

                cleanCookiesNoLeave(); // Cookies löschen, Anwendung verlassen

            }
        } else {
            document.cookie = "scs_noprompt=; expires=Thu, 01 Jan 1970 00:00:00 UTC";

        }


    } 
}