Banksystem GUI Frage/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
  • Bei diesem Code:



    if(dialogid == 10)
    {
    if(response)
    {
    if(PlayerInfo[playerid][Konto] >= strval(inputtext))
    {
    PlayerInfo[playerid][Konto] -= strval(inputtext);
    PlayerInfo[ID][Konto] += strval(inputtext);
    format(string, sizeof(string), "Du hast %d$ auf das Konto von %s überwiesen.",strval(inputtext),sname);
    SendClientMessage(playerid,Grün,string);
    format(string, sizeof(string), "%s hat dir %d$ auf dein Konto überwiesen.",name,strval(inputtext));
    SendClientMessage(playerid,Grün,string);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du hast nicht soviel Geld!");
    }
    return 1;
    }
    if(!response)
    {
    SendClientMessage(playerid,Rot,"Konto Menu geschlossen!");
    }
    }


    wie mache ich das die angegebene id das geld bekommt den das passiert bei mir nicht?


    (E) Code
    (E) Code nochmals gerichtet

    2 Mal editiert, zuletzt von Quini ()

  • Freikopf:



    if(dialogid == 10)
    {
    if(response)
    {
    if(PlayerInfo[playerid][Konto] >= strval(inputtext)) return SendClientMessage(playerid,Rot,"Du hast nicht soviel Geld!");
    {
    new giveid;
    giveid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!tmp[0]) return SendClientMessage(playerid, COLOR_GRAD2, "Benutze: [Spielerid/name] [Betrag]");
    PlayerInfo[playerid][Konto] -= strval(inputtext);
    GivePlayerMoney(giveid, += strval(inputtext));
    format(string, sizeof(string), "Du hast %d$ auf das Konto von %s überwiesen.",strval(inputtext),sname);
    SendClientMessage(playerid,Grün,string);
    format(string, sizeof(string), "%s hat dir %d$ auf dein Konto überwiesen.",name,strval(inputtext));
    SendClientMessage(playerid,Grün,string);
    return 1;
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Rot,"Konto Menu geschlossen!");
    }
    }


    Mfg

  • durch diesen dialog:


    if(dialogid == 9)
    {
    if(response)
    {
    if(sscanf(inputtext,"u",ID))
    {
    SendClientMessage(playerid,Rot,"Du musst ein Name eingeben!");
    ShowPlayerDialog(playerid,9,DIALOG_STYLE_INPUT,"Überweisen","Bitte gebe den Empfänger an","Weiter","Verlassen");
    return 1;
    }
    if(!IsPlayerConnected(ID))
    {
    SendClientMessage(playerid,Rot,"Angegebene ID ist nicht online!");
    return 1;
    }
    ShowPlayerDialog(playerid,10,DIALOG_STYLE_INPUT,"Überweisen","Bitte gebe den Betrag ein","Weiter","Verlassen");
    return 1;
    }
    if(!response)
    {
    SendClientMessage(playerid,Rot,"Konto Menu geschlossen!");
    }
    return 1;
    }


    €:
    wie gesagt nun habe ich was erstellt aber wieder es ist wieder so wie bei meinen Sscanf cmds
    Es wird an ID 0 überwiesen aus welchen grund auch immer könnte mir mal jemand vlt helfen?

    Einmal editiert, zuletzt von Quini ()

  • Hi


    Wo hast Du die Variabel ID ? Wenn das eine globale Variabel ist, könntest Du in Gefahr laufen, dass sie den falschen Wert hat. Du MUSST aber die ID zwischenspeichern, woher osll er sonst beim Betrag eingeben wissen, an wen das Geld soll ?


    if(dialogid == 9)
    {
    new ID;
    if(!response) return SendClientMessage(playerid,Rot,"Konto Menu geschlossen!");
    if(sscanf(inputtext,"u",ID))
    {
    SendClientMessage(playerid,Rot,"Du musst ein Name eingeben!");
    ShowPlayerDialog(playerid,9,DIALOG_STYLE_INPUT,"Überweisen","Bitte gebe den Empfänger an","Weiter","Verlassen");
    return 1;
    }
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid,Rot,"Angegebene ID ist nicht online!");
    ShowPlayerDialog(playerid,10,DIALOG_STYLE_INPUT,"Überweisen","Bitte gebe den Betrag ein","Weiter","Verlassen");
    PlayerInfo[playerid][pKontoID] = ID; // Hier die ID speichern
    return 1;
    }


    Edit Code

  • Hi


    Wo liegt das genaue Problem ? ID hat immer den Wert 0 ? Probier mal folgendes


    print beim Eingeben des Namens und dem Filtern nach ID
    print beim nächsten Fenster, wo Du den Betrag eingibst


    Ich denke eben, evt. übernimmst Du ID nicht (mit dem richtigen Wert) und solltest es zwischenspeichern.


    Simon