Hey Leute,
sobald ich eine 12 Stellige Zahl einzahle, buggt das Script und gibt eine komische Summe auf die Hand -.-*
Kennt jemand den Bugg.
Egal ob 999999999999 oder 111111111111 usw. -.-*
Ich frag aber ab, ob der inputtext < 5000000 ist.
mfg.
Banksystem Bug
- xNait aka. NIKEiD2.0
- Geschlossen
- Erledigt
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
-
-
Zeig mal die Abfrage.
-
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");
}
}
}
} -
Das musst du schon returnen sonst geht das Script trotzdem weiter...
if(Einzahlgeld > 500000000) return ShowPlayerDialog(...) -
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; }
Da ist doch ein return -.-*mfg.
-
Hmmm dann weiß ich auch nicht was falsch ist...
-
Hmmmm -.-*
Wie macht ihr das bei euch im Script?
mfg.P.S.: Ich kann doch nicht alle möglichen buggs einzeln abfragen
Ich kenn sie net alle... -
Bitteschön, Dankeschön Rechnung schicke ich
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");
}
} -
Sicher das dies funzt
Weil bei mir buggt es wenn ich 12 stellige Zahlen eingebe.
Trotz das ich Abfage Einzahlen < 5000000 usw.:Dmfg.
-
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 -
Jo ich frage ja eigentlich ab:
Wie frage ich den ab wie viele Ziffern er eingibt?
Ich frag ja schon ab: Wenn die Zahl höher als 5 Mio ist --> Verweigern -.-mfg.
-
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
-
Es scheint zu klappen
Danke !!mfg.
-
Es scheint zu klappen
Danke !!mfg.
Kein Problem
Alles gegen die Buguser -
Kein Problem
Alles gegen die Buguserhaha den bug kannte ich auch nocht nicht naja auch changed
-
haha den bug kannte ich auch nocht nicht naja auch changed
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
-
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. -
breadfish.de
Hat das Thema geschlossen.