Beiträge von MizuXV

    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


    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. ^^

    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:

    Wieso wollt ihr alle playerid?
    Ich glaube das soll ein Überweisungssystem werden also sie will Geld an eine andere Kontonummer senden.
    Da kann man doch nicht abfragen ob die kontonummer an der ich es senden will seine eigene ist?

    Du hast es erfasst ^^ Ich wills ja nicht an mich senden wie oben schon geschrieben oO

    Schaue mal in der Schleife da stimmt was nicht.


    Ja die for schleife soll alle Spieler agfragen
    also die Abfrage sollte so heißen
    "Wenn Eingabe mit KontoNummer von irgendeinen Spieler ungleich ist"


    Oder täusch ich mich da ?
    Weil man soll ja nicht seine eigene Kontonummer angeben, sondern die an die man das Geld
    senden will

    Hallo liebe SA:MP Community!
    Mir ist schon öfter aufgefallen das in diesem Forum ein
    Thread schnell übersehen wird, aber das tut jetzt nichts zur Sache!


    Ich habe ein Problem mit der Abfrage von einem Code.
    Es handelt sich um eine Abfrage mit der Kontonummer.


    Wenn die Kontonummer stimmt dann soll der nächste Dialog gezeigt werden.
    Wenn nicht dann soll der "Ungültig-Dialog" gezeigt werden.


    Jedoch wird mir immer nur der "Ungültig-Dialog" angezeigt bei allem was ich eingebe.


    Hier mal der Code:
    if(dialogid == Dialog_Transfer)//Kontonummer angeben
    {
    if(strlen(inputtext))
    {
    if(response == 1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Bitte gibt die Kontonummer ein !");
    return 1;
    }
    new Number = strval(inputtext);
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Bitte gibt die Kontonummer ein !");
    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])////=====> ABFRAGE = BUGGY
    {
    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");
    }
    }//Geld angeben - Dialog anzeigen!
    ShowPlayerDialog(playerid,Dialog_Transfer2,DIALOG_STYLE_INPUT,"Überweisung","Gib hier den Betrag an den du überweisen möchtest","Unterschreiben","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid, Dialog_Terminal, DIALOG_STYLE_LIST,"Bankterminal","Einzahlen\nAuszahlen\nÜberweisen\nKontoauszug","OK","Zurück");
    }
    }
    }


    Leider sind viele nur zum Helfen bereit gegen eine Gegenleistung(Geld)!
    Bitte helft mir mit diesen Problem


    Danke für die Antworten :thumbup:

    Hallo Leute, ich hänge am Überweisungssystem
    mit Dialogen, wo die Kontonummer abgefragt wird..


    Immer wenn ich Die richtige Kontonummer eingebe kommt jedes mal
    der Ungültig-Dialog.


    Code:
    if(dialogid == Dialog_Transfer)//Kontonummerangeben
    {
    if(strlen(inputtext))
    {
    if(response == 1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Bitte gibt die Kontonummer ein !");
    return 1;
    }
    new number = strval(inputtext);
    for(new i = 0; i < MAX_PLAYERS; i++)
    { //Wenn irgendeine Kontonummer mit der Eingabe übereinstimmt
    if(number == SpielerInfo[i][KontoNummer])////=====> ABFRAGE = BUGGY
    {
    ShowPlayerDialog(playerid,Dialog_Transfer2,DIALOG_STYLE_INPUT,"Überweisung","Gib hier den Betrag an den du überweisen möchtest","Unterschreiben","Abbrechen");
    }
    else
    {
    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");
    }
    }
    }


    Bitte helft mir
    Danke schonmal im vorraus :thumbup:

    Ein Array anlegen ( MAX_PLAYERS ) und dort den eingegeben Wert ( SpielerID ) ablegen, die eingegeben wurde.

    Hey danke für die Antwort ich habs mal anders gemacht, auf ne realistischere Art ==> KontoNummer ins SpielerInfo enum mit dini abspeichern und den text bei onplayertext als KontoNummer gespeichert.
    Ich werds mal auf meine Art versuchen


    //Goldkiller: Wenn's funktioniert,wieso auch nicht so ;)


    //EDIT: Okay soweit so gut nur kann ich vom Enum KontoAccount die eingegebene Summe nicht abziehen

    Hallo breadfish,
    Ich habe ein Problem bei der Abfrage bei OnPlayerText


    Also... mein Vorhaben wäre wenn man in die Bank kommt und einen Spieler Geld überweisen will.
    kommt eine SendClientMessage die denjenigen auffordert die ID einfach in den Chat zu schreiben
    an die das Geld gesendet werden soll.


    Dieser eingegebene Text soll dann gemerkt werden.
    und später als die ID dienen an die das Geld gehen soll.



    Wie mache ich das am besten?


    Danke schonmal für die Antwort
    mfg :thumbup:


    //EDIT Rechtschreibfehler ausgebessert

    Hallo ich würde gerne wissen wie dieses Skin-switch system wie beim LoH geht
    also, wenn man "weiter" schreibt das der einfach den nächsten skin nimmt,
    wenn man "zurück" schreibt nimmt der den vorherigen Skin,
    wenn man fertig schreibt setzt er den Skin.


    Wie mache ich das?
    würde das System echt gerne verstehen und in mein
    Selfmade einbauen,


    Danke schonmal für alle Antworten.


    mfg ^^

    Hallo ich habe ein Problem mit den speichern der Waffen.
    Bei mir lädt der die Waffen nicht und in der Textdatei steht auch immer Waffe und Munition auf 0.


    Code:
    stock WeaponDataLoad(playerid)
    {
    new Daten[64];
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Daten,sizeof(Daten),"/Datenbank/Weapons/%s.ini",SpielerName);


    dini_Create(Daten);
    return 1;
    }
    stock LoadWeapons(playerid)
    {
    new Daten[64];
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Daten,sizeof(Daten),"/Datenbank/Weapons/%s.ini",SpielerName);


    new weaponid = dini_Int(Daten, "Waffe");
    new ammo = dini_Int(Daten, "Munition");
    GivePlayerWeapon(playerid,weaponid,ammo);
    return 1;
    }
    stock SaveWeapons(playerid)
    {
    new Daten[64];
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Daten,sizeof(Daten),"/Datenbank/Weapons/%s.ini",SpielerName);


    dini_IntSet(Daten, "Waffe", GetPlayerWeapon(playerid));
    dini_IntSet(Daten, "Munition", GetPlayerAmmo(playerid));
    return 1;
    }


    OnPlayerDisconnect:
    public OnPlayerDisconnect(playerid, reason)
    {


    SavePlayer(playerid);
    ResetPlayer(playerid);

    SaveWeapons(playerid);


    TextDrawDestroy(Streifen1);
    TextDrawDestroy(Streifen2);
    TextDrawDestroy(Speedo);
    TextDrawDestroy(KMH[playerid]);
    KillTimer(TachoTimer[1]);
    return 1;
    }


    OnPlayerConnect:
    public OnPlayerConnect(playerid)
    {
    LoadWeapons(playerid);


    }


    Bei mir ist der Typ float :O?


    Das habe ich doch schon bei OnPlayerSpawn nur es steht ja auch irgendwie in der Datenbank immer auf 0
    bei X Y und Z und A


    Die Eigenschaften sind für X Y un Z bei Lenght auf 9 und bei Decimals auf 5




    //Edit zweite Antwort hinzugefügt



    Hallo, es klappt leider immernoch nicht ich werde immer wieder an der selben Stelle gespawnt.