Überweisen auf ein enum

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
  • Hallo Community
    Ich habe ein Überweisungssystem geschrieben das mit Dialog läuft.
    Die Überweisung sollte so funktionieren, das wenn man die KontoNummer des Spielers eingibt das, dass Geld auf dieses Konto gehen soll.


    Jedoch weiß ich nicht wie ich die Abfrage machen soll.
    Mit playerid abfragen würde ich es wissen... ReturnUser.


    Doch wie kann ich das Geld dann auf ein Enum überweisen ?


    enum:
    enum sInfo
    {
    Name[MAX_PLAYER_NAME],
    Registered = 0,
    Float: PosX,
    Float: PosY,
    Float: PosZ,
    Float: PosA,
    Interior,
    Stufe,
    Skin,
    Geld,
    KontoMoney,
    KontoNummer,
    AdminRank,
    AdminOnDuty,
    Warnings,
    Gemutet,
    Gebannt,
    Perso,
    Visum,
    DriveLicense
    }
    new SpielerInfo[MAX_PLAYERS][sInfo];
    new IsLoggedIn[MAX_PLAYERS];


    *
    KontoMoney = Das Geld das der Spieler auf seinen Konto hat
    KontoNummer = Die Kontonummer vom Konto des Spielers


    Danke schon mal für die Antworten
    mfg :thumbup:

  • KontoMoney = Das Geld das der Spieler auf seinen Konto hat
    KontoNummer = Die Kontonummer vom Konto des Spielers


    if(SpielerInfo[playerid][KontoNummer] == 123)//was weiß ich
    {
    SpielerInfo[playerid][KontoMoney] += 5;//hier der Geldbetrag halt
    return 1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • Nein so meine ich das nicht
    dann würd er ja den jenigen Abfragen der den Dialog offen hat.


    Er soll aber den Abfragen der die eingegebene Kontonummer hat
    sozusagen alle Spieler nach der Kontonummer abfragen
    sich dann merken wer derjenige Spieler ist.


    Und dann den Geld betrag an den Spieler überweisen.


    Tut mir leid ich glaub ich habe zu wenig Detail angegeben. ^^

  • Achso willste das machen...^^


    Das geht aber nur, wenn dieser Spieler auch online ist, der diese Kontonummer hat, denn man kann mit dini nicht alle Spielerdateien abfragen wer welche Kontonummer hat...


    Würde dann so aussehen Bsp:


    for(new i; i<MAX_PLAYERS; i++)
    {
    if(SpielerInfo[i][KontoNummer] == 123) //hier halt die Kontonummer angeben die playerid eintippt
    {
    SpielerInfo[i][KontoMoney] += 5; //halt der Geldbetrag den playerid eingegeben hat
    return 1;
    }
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Moment, das wäre unmöglich auf diese Weise, weil
    ich schon vorher abfrage welche Kontonummer "i" hat.


    Code:
    new Number;
    if(dialogid == Dialog_Transfer)//Kontonummer angeben
    {
    if(strlen(inputtext))
    {
    if(response == 1)
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,Dialog_Transfer,DIALOG_STYLE_INPUT,"Überweisung","Bitte gib die Kontonummer des Empfängers ein","Weiter","Abbrechen");
    return 1;
    }
    Number = strval(inputtext);
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,Dialog_Transfer,DIALOG_STYLE_INPUT,"Überweisung","Bitte gib die Kontonummer des Empfängers ein","Weiter","Abbrechen");
    return 1;
    }
    for(new i = 0; i < MAX_PLAYERS; i++)//i = Alle Spieler nach der Funktion abfragen
    { //Wenn irgendeine Kontonummer mit der Eingabe übereinstimmt
    if(Number == SpielerInfo[i][KontoNummer])
    {
    new head[128], mainstring[256];
    format(head,sizeof(head),"Überweisung an Kontonummer: %d",Number);
    format(mainstring,sizeof(mainstring),"Kontostand beträgt: %d\n\nGib jetzt den Betrag an der an die Kontonummer\ngesendet werden soll:",SpielerInfo[playerid][KontoMoney]);
    ShowPlayerDialog(playerid,Dialog_Transfer2,DIALOG_STYLE_INPUT,head,mainstring,"Weiter","Abbrechen");
    return 1;//hat den Bug behoben
    }
    }//Geld angeben - Dialog anzeigen!
    ShowPlayerDialog(playerid,Dialog_Transfer,DIALOG_STYLE_INPUT,"Überweisungsfehler","Überweisung fehlgeschlagen!\nKontonummer ist ungültig!\n\nBitte gib die Kontonummer des Empfängers ein","Weiter","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid, Dialog_Terminal, DIALOG_STYLE_LIST,"Bankterminal","Einzahlen\nAuszahlen\nÜberweisen\nKontoauszug","OK","Zurück");
    }
    }
    }
    if(dialogid == Dialog_Transfer2)//Geld betrag angeben
    {
    if(strlen(inputtext))
    {
    if(response == 1)
    {
    if(!strlen(inputtext))
    {
    new head[128], mainstring[256];
    format(head,sizeof(head),"Überweisung an Kontonummer: %d",Number);
    format(mainstring,sizeof(mainstring),"Kontostand beträgt: %d\n\nGib jetzt den Betrag an der an die Kontonummer\ngesendet werden soll:",SpielerInfo[playerid][KontoMoney]);
    ShowPlayerDialog(playerid,Dialog_Transfer2,DIALOG_STYLE_INPUT,head,mainstring,"Weiter","Abbrechen");
    return 1;
    }
    new Summe = strval(inputtext);
    if(!strlen(inputtext))
    {
    new head[128], mainstring[256];
    format(head,sizeof(head),"Überweisung an Kontonummer: %d",Number);
    format(mainstring,sizeof(mainstring),"Kontostand beträgt: %d\n\nGib jetzt den Betrag an der an die Kontonummer\ngesendet werden soll:",SpielerInfo[playerid][KontoMoney]);
    ShowPlayerDialog(playerid,Dialog_Transfer2,DIALOG_STYLE_INPUT,head,mainstring,"Weiter","Abbrechen");
    return 1;
    }
    if (Summe > SpielerInfo[playerid][KontoMoney] || Summe < 1)
    {
    SendClientMessage(playerid, COLOR_GRAD2, " Du hast nicht soviel Geld !");
    return 1;
    }
    for(new i = 0; i < MAX_PLAYERS; i++)
    { //Spieler bekommt sein Geld
    ////========//// [Hier kommt das Überweisungs-System hin] ////========////
    if(Number == SpielerInfo[i][KontoNummer])
    {
    /*new SpielerName[MAX_PLAYER_NAME];
    new AndererSpielerName[MAX_PLAYER_NAME];
    new string[128];*/
    }


    }
    }
    else
    {
    ShowPlayerDialog(playerid,Dialog_Transfer,DIALOG_STYLE_INPUT,"Überweisung","Bitte gib die Kontonummer des Empfängers ein","Weiter","Zurück");
    }
    }
    }


    mfg