Überweisen buggt. Bitte um Hilfe

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
  • Hey liebe Community,
    ich versuche mich grade an ein Bank System ran. Momentan bin ich grad bei den Überweisungen.
    Immer wenn ich bei Betrag den ich überweisen will nur 1 Zahl angebe funktioniert es wunderbar.
    Doch wenn ich beim überweisen mehr als 1 Zahl angeben will passiert nix der Spieler bekommt kein Geld keine Nachricht nix. Dialog schließt sich einfach.


    if(dialogid == D_Ueberweisen2)
    {
    if(!response)
    {
    ShowPlayerDialog(playerid,D_Bankmenu,DIALOG_STYLE_LIST,"Wie kann ich dir helfen?","Karte beantragen\nBank PIN ändern\nEinzahlen\nAuszahlen\nKontostand\nÜberweisen","Ok","Abbrechen");
    }
    if(response)
    {
    if(!IsNumeric(inputtext))
    {
    SendClientMessage(playerid,Rot,"Bitte verwende nur Zahlen");
    ShowPlayerDialog(playerid,D_Ueberweisen2,DIALOG_STYLE_INPUT,"Bank - Überweisung","Wem möchtest du Geld überweisen?\nBitte gebe unten die ID des Spielers an.","Auswählen","Abbrechen");
    }
    else
    {
    new pID;
    if(sscanf(inputtext,"u",pID)) return ShowPlayerDialog(playerid,D_Ueberweisen2,DIALOG_STYLE_INPUT,"Bank - Überweisung","Wem möchtest du Geld überweisen?\nBitte gebe unten die ID des Spielers an.","Auswählen","Abbrechen");
    if(!IsPlayerConnected(pID)) return ShowPlayerDialog(playerid,D_Ueberweisen2,DIALOG_STYLE_INPUT,"Bank - Überweisung","Wem möchtest du Geld überweisen?\nBitte gebe unten die ID des Spielers an.","Auswählen","Abbrechen");
    if(pID == playerid) return ShowPlayerDialog(playerid,D_Ueberweisen2,DIALOG_STYLE_INPUT,"Bank - Überweisung","Wem möchtest du Geld überweisen?\nBitte gebe unten die ID des Spielers an.","Auswählen","Abbrechen");
    Ueberweiser[playerid] = pID;
    Ueberweiser[pID] = playerid;
    new string[128];
    format(string,128,"Wie viel Geld möchtest du dem Spieler %s überweisen?",GetName(pID));
    ShowPlayerDialog(playerid,D_Ueberweisen3,DIALOG_STYLE_INPUT,"Bank - Überweisung",string,"Überweisen","Abbrechen");
    }
    }

    }
    if(dialogid == D_Ueberweisen3)
    {
    if(!response)
    {
    ShowPlayerDialog(playerid,D_Ueberweisen2,DIALOG_STYLE_INPUT,"Bank - Überweisung","Wem möchtest du Geld überweisen?\nBitte gebe unten die ID des Spielers an.","Auswählen","Abbrechen");
    }
    if(response)
    {
    new str[128],str2[128];
    new string[128];
    new pID = Ueberweiser[playerid];
    if(pDaten[playerid][Bank] < strval(inputtext)) return format(string,128,"Wie viel Geld möchtest du dem Spieler %s überweisen?",GetName(pID)); ShowPlayerDialog(playerid,D_Ueberweisen3,DIALOG_STYLE_INPUT,"Bank - Überweisung",string,"Überweisen","Abbrechen");
    pDaten[playerid][Bank] -= strval(inputtext);
    pDaten[pID][Bank] += strval(inputtext);
    format(str,sizeof(str),"Sie haben %d$ auf das Konto von %s überwiesen",strval(inputtext),GetName(pID));
    SendClientMessage(playerid,Orange,str);
    format(str2,sizeof(str2),"%s hat ihnen %d$ auf ihr Konto überwiesen",GetName(playerid),strval(inputtext));
    SendClientMessage(pID,Orange,str2);
    SetCameraBehindPlayer(playerid);
    TextDrawHideForPlayer(playerid,Balken0);
    TextDrawHideForPlayer(playerid,Balken1);
    TogglePlayerControllable(playerid,1);
    }
    }

    Einmal editiert, zuletzt von Hagz ()

  • Ich weiß nicht ob es daran liegt aber habe auf jedenfall einen Fehler gefunden, änder mal das hier:


    if(pDaten[playerid][Bank] < strval(inputtext)) return format(string,128,"Wie viel Geld möchtest du dem Spieler %s überweisen?",GetName(pID)); ShowPlayerDialog(playerid,D_Ueberweisen3,DIALOG_STYLE_INPUT,"Bank - Überweisung",string,"Überweisen","Abbrechen");


    in das hier:



    if(pDaten[playerid][Bank] < strval(inputtext))
    {
    format(string,128,"Wie viel Geld möchtest du dem Spieler %s überweisen?",GetName(pID));
    ShowPlayerDialog(playerid,D_Ueberweisen3,DIALOG_STYLE_INPUT,"Bank - Überweisung",string,"Überweisen","Abbrechen");
    return 1;
    }

    1+1=10


    Es gibt 10 Arten von Menschen.
    Die die Binärcode verstehen, und die, die ihn nicht verstehen.


  • Sprich dafür sorgen, dass man so große Zahlen nicht überweisen kann ;)


    Danke Danke :=)