Bankkonto erstellen?

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
  • Guten Tag liebe Community,


    ich habe mir ein Bankkonto erstellt. Es funktuniert alles fehlerfrei. Aber wenn ich in der Bank bin, und /menu eingebe, und das Geld was ich einzahlen möchte eintippe passiert nichts, weil:



    if(dialogid==DIALOG_LSBANK)
    {
    if(response==1)
    {
    switch(listitem)
    {
    case 0:
    {
    new string[128];
    format(string,sizeof(string),"Dein Kontostand beträgt: %i$!",GetPVarInt(playerid,"Konto"));
    SendClientMessage(playerid,WEISS,string);
    }
    case 1:
    {
    ShowPlayerDialog(playerid,9,DIALOG_STYLE_INPUT,"Los Santos Bank","Wie viel möchtest du einzahlen:","Auszahlen","Abbrechen");
    }
    }
    }
    }
    if(dialogid==DIALOG_LSBANK_EINZAHLEN)
    {
    if(response==1)
    {
    SetPVarInt(playerid, "Konto", GetPVarInt(playerid,"Konto")+inputtext);
    }
    }


    Leider klappt es nicht-.- ich will die Zahl was der Spieler eingibt auslesen, dann zur GetPVarInt(playerid,"Konto") addieren oder subtrahieren

  • ich empfehl dir per IsNumeric(inputtext) abzufragen ob er nur zahlen eintippt und
    noch mit strval(inputtext) ob das eingezahlt höher ist als das was der spieler auf der hand hat .


    Dann ziehst du dem spieler einfach den wert ab mit GivePlayerMoney(playerid) -= geld;


    und erhöhst das konto


    new stand = GetPVarInt(playerid,"Konto");
    new geld = strval(inputtext);
    SetPVarInt(playerid,"Konto",stand+geld);

  • Ne klappt leider nicht -.- ich glaube der Fehler ist bei


    if(!IsNumeric(inputtext))return SendClientMessage(....)


    als stock habe ich sowas:


    stock IsNumeric(const string[])
    {
    new length=strlen(string);
    if(length==0)
    {
    return 0;
    }
    for(new i=0; i<MAX_PLAYERS; i= '0' || (i==0 && (string[i]=='-')) || string[i]=='+')
    {
    return false;
    }
    return 0;
    }



    //Edit: Ok Habe jetzt endlich geschafft :) vielen dank an: Sony