Banksystem Bug

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • if(dialogid == DIALOG_EINZAHLEN)
    {
    if(response)
    {
    if(Nummer(inputtext))
    {
    new Einzahlgeld = strval(inputtext);
    if(Einzahlgeld > SpielerInfo[playerid][pGeld] || Einzahlgeld < 1)
    {
    ShowPlayerDialog(playerid,DIALOG_EINZAHLEN,DIALOG_STYLE_INPUT,"Einzahlungsverfahren","Ungütliger Betrag. (Max. 5 Mio €)\nBitte gebe den gewünschten Betrag an:","Einzahlen","Abbrechen");
    }
    if(Einzahlgeld < SpielerInfo[playerid][pGeld])
    {
    if(Einzahlgeld > 5000000) { ShowPlayerDialog(playerid,DIALOG_EINZAHLEN,DIALOG_STYLE_INPUT,"Einzahlungsverfahren","Ungütliger Betrag. (Max. 5 Mio €)\nBitte gebe den gewünschten Betrag an:","Einzahlen","Abbrechen"); return 1; }
    SpielerInfo[playerid][pGeld] -= Einzahlgeld;
    SpielerInfo[playerid][pBank] += Einzahlgeld;
    SendClientMessage(playerid,HELLBLAU,"Einzahlung erfolgreich.");
    ShowPlayerDialog(playerid,DIALOG_BANK,DIALOG_STYLE_LIST,"Bankmenü","Einzahlen\nAuszahlen\nGuthaben","Weiter","Abbrechen");
    }
    }
    }
    }

  • Bitteschön, Dankeschön Rechnung schicke ich :D
    if(dialogid == Einzahlen)
    {
    if(response)
    {
    if(IsNumeric(inputtext))
    {
    new val = strval(inputtext);
    if(GetPlayerMoney(playerid) == 0)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Ungültig!");
    return 1;
    }
    if(val < 0 ||val > 10000000)
    {
    SendClientMessage(playerid, COLOR_GRAD1," Bitte nur Summen in Höhe von 1 bis 10 Million Dollar!");
    return 1;
    }
    if(val > GetPlayerMoney(playerid))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "So viel Geld hast du nicht!");
    return 1;
    }
    if(val == 999999999999999)
    {
    SendClientMessage(playerid, COLOR_RED, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    if(val == 888888888888888)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1; }
    if(val == 777777777777777)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    if(val == 666666666666666)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    if(val == 555555555555555)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    if(val == 444444444444444)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    if(val == 333333333333333)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    if(val == 222222222222222)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    if(val == 111111111111111)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Schäm dich du Bug-User!");
    Kick(playerid);
    return 1;
    }
    new s[128];
    GivePlayerMoney(playerid,-val);
    SpielerInfo[playerid][pAccount]+= val;
    ConsumingMoney[playerid] = 1;
    format(s, sizeof(s), "Du hast %d€ in dein Konto eingezahlt. Neuer Kontostand: %d€", val, SpielerInfo[playerid][pAccount]);
    SendClientMessage(playerid, COLOR_GREEN, s);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Ungültige Eingabe");
    }
    }
    else
    {
    ShowPlayerDialog(playerid, BANK, DIALOG_STYLE_LIST, "Menü", "Kontostand\nEinzahlen\nAbheben\nÜberweisen", "Auswählen", "Beenden");
    }
    }

  • Also bei mir geht es prima :O
    /edit Du kannst es auch so machen new val = strval(inputtext);
    if(val > 10000000000)
    {
    ShowPlayerDialog(playerid,DIALOG_EINZAHLEN,DIALOG_STYLE_INPUT,"Einzahlungsverfahren","Ungütliger Betrag. (Max. 5 Mio €)\nBitte gebe den gewünschten Betrag an:","Einzahlen","Abbrechen");
    return 1;
    }

  • Das ist ein SAMP Bug der leider überall bekannt ist.


    Ich habe es so gemacht, wenn der Spieler mehr als 8 Zeichen eingibt, wird er automatisch gekickt. So werden die Buguser gekickt.
    Da sonst das Geld immer abgehoben wird egal wieviele Zeichen er eingibt. (eben über 8)

    Die Macht etwas zu bewirken, ist in Dir. Du musst sie nur rauslassen


    cristiano-ronaldo-525-portugal-euro-2012-banner-wallpaper.jpg

  • Wenn er eben den Text(Zahlen) eingibt beim Dialog


    Bei OnDialogResponse


    fragst du so ab


    if (strlen(inputtext) >= 8) return Kick(playerid);


    So hab ich es und ist wunderbar. Buguser werden so abgeschreckt ;)

    Die Macht etwas zu bewirken, ist in Dir. Du musst sie nur rauslassen


    cristiano-ronaldo-525-portugal-euro-2012-banner-wallpaper.jpg

  • haha den bug kannte ich auch nocht nicht naja auch changed :D


    Die richtigen Cheater, Buguser kennen sowas. Hab es auch nur herausgefunden nachdem mich einer aufmerksam gemacht hat und mir bei meinem Projekt helfen wollte. Da es auf sehr vielen Servern geht das man einfach einen Betrag abhebt über 8 Zeichen eingebend obwohl man diesen nicht mal hat. Und plötzlich hat man soviel Geld auf der Hand. Wenn sowas nicht auffällt xD

    Die Macht etwas zu bewirken, ist in Dir. Du musst sie nur rauslassen


    cristiano-ronaldo-525-portugal-euro-2012-banner-wallpaper.jpg

  • Ich hab es bei mir so, dass man nur 250Mio haben kann..
    Wenn jemand mehr ein - aus / ZAHLEN möchte wird er mit der Nachricht: " Bugusen gibt es hier nicht! " gekickt.