Banksystem

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_BANK)
    {
    if(response==1)
    {
    switch(listitem)
    {
    case 1: ShowPlayerDialog(playerid,DIALOG_EINZAHLEN,DIALOG_STYLE_INPUT,"Einzahlen","Wie viel Geld möchtest du einzahlen?","Einzahlen","Abbrechen");
    case 0: ShowPlayerDialog(playerid,DIALOG_AUSZAHLEN,DIALOG_STYLE_INPUT,"Auszahlen","Wie viel Geld möchtest du auszahlen?","Auszahlen","Abbrechen");
    }
    }
    else
    {
    SendClientMessage(playerid,BLAU,"Du hast abgebrochen.");
    }
    }
    if(dialogid==DIALOG_EINZAHLEN)
    {
    new geld;
    if(response==1)
    {
    if(strval(inputtext) < GetPlayerMoney(playerid) || strval(inputtext) == GetPlayerMoney(playerid))
    {
    geld = GetPVarInt(playerid, "Bank") + strval(inputtext);
    SetPVarInt(playerid, "Bank", geld);
    GivePlayerMoney(playerid, -strval(inputtext));
    }
    else
    {
    SendClientMessage(playerid,ROT,"Bankarbeiter: Du hast zuwenig Geld dabei.");
    }
    }
    else
    {
    SendClientMessage(playerid,BLAU,"Vorgang abgebrochen.");
    }
    }
    if(dialogid==DIALOG_AUSZAHLEN)
    {
    if(response==1)
    {
    if(GetPVarInt(playerid, "Bank") > strval(inputtext) || GetPVarInt(playerid, "Bank") == strval(inputtext))
    {
    GivePlayerMoney(playerid, strval(inputtext));
    SetPVarInt(playerid, "Bank", -strval(inputtext));
    }
    else
    {
    SendClientMessage(playerid,ROT,"Bankarbeiter: Du hast nicht genug Geld auf der Bank.");
    }
    }
    else
    {
    SendClientMessage(playerid,BLAU,"Vorgang abgebrochen.");
    }
    }


    So das einzige Problem ist hier, dass wenn ich das Geld einzahle, ich das Geld nichtmehr abheben kann.. Da steht dann: Du hast zu wenig Geld auf deinem Bankkonto etc.
    Evtl. fände ich es nett, wenn jemand mir sagen könnte, ob die Speicherung richtig ist hierbei :D

  • versuchs mal so


    if(dialogid==DIALOG_BANK)
    {
    if(response==1)
    {
    switch(listitem)
    {
    case 1: ShowPlayerDialog(playerid,DIALOG_EINZAHLEN,DIALOG_STYLE_INPUT,"Einzahlen","Wie viel Geld möchtest du einzahlen?","Einzahlen","Abbrechen");
    case 0: ShowPlayerDialog(playerid,DIALOG_AUSZAHLEN,DIALOG_STYLE_INPUT,"Auszahlen","Wie viel Geld möchtest du auszahlen?","Auszahlen","Abbrechen");
    }
    }
    else
    {
    SendClientMessage(playerid,BLAU,"Du hast abgebrochen.");
    }
    }
    if(dialogid==DIALOG_EINZAHLEN)
    {
    if(response==1)
    {
    if(strval(inputtext) < GetPlayerMoney(playerid) || strval(inputtext) == GetPlayerMoney(playerid))
    {
    SetPVarInt(playerid, "Bank", GetPVarInt(playerid, "Bank") + strval(inputtext));
    GivePlayerMoney(playerid, -strval(inputtext));
    }
    else
    {
    SendClientMessage(playerid,ROT,"Bankarbeiter: Du hast zuwenig Geld dabei.");
    }
    }
    else
    {
    SendClientMessage(playerid,BLAU,"Vorgang abgebrochen.");
    }
    }
    if(dialogid==DIALOG_AUSZAHLEN)
    {
    if(response==1)
    {
    if(GetPVarInt(playerid, "Bank") > strval(inputtext) || GetPVarInt(playerid, "Bank") == strval(inputtext))
    {
    GivePlayerMoney(playerid, strval(inputtext));
    SetPVarInt(playerid, "Bank", GetPVarInt(playerid, "Bank") - strval(inputtext));
    }
    else
    {
    SendClientMessage(playerid,ROT,"Bankarbeiter: Du hast nicht genug Geld auf der Bank.");
    }
    }
    else
    {
    SendClientMessage(playerid,BLAU,"Vorgang abgebrochen.");
    }
    }