Dialog Input

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
  • Moinsen,
    Ich hab die Fraktionskassen nun endlich fertig, nun hab ich eine Übersicht mit Dialogen erstellt und alles klappt wunderbar. ^^


    Nur i-wie komm ich nicht weiter. Ich möchte eine Kasse im Dialog erstellen.
    Also im Input. Sobald man auf Kasse klickt öffnet sich halt ein Dialog_Input und mann kann Geld abheben bzw einzahlen.


    Ich hab es bis jetzt so:



    if(listitem == 1)
    {
    ShowPlayerDialog(playerid, 3, DIALOG_STYLE_INPUT, "Kasse", "Wieviel Geld möchtest du einzahlen, bzw. abgeben?", "Ok", "Abbruch");
    }


    Nur wenn wenn ich da ja ne Zahl reinschreibe und auf Ok drücke würde ja wohl nichts passieren.
    Ich finde kein Tutorial wie ich es so machen könnte das man eine Zahl reinschreibt, z.B 100 oder -100 und man das Geld dann bekommt.


    Mit freundlichen Grüßen,
    Slexout.

  • if(dialogid == 3 && response)
    {
    new string[128];
    if(strval(inputtext) > 0) format(string,128,"Du hast $%s abgehoben.",inputtext);
    else format(string,128,"Du hast $%s eingezahlt.",inputtext);
    GivePlayerMoney(playerid, strval(inputtext));
    SendClientMessage(playerid, COLOR_GREEN, string);
    return 1;
    }
    Wenn ich das richtig verstanden habe ist das der Code, den du suchst, oder?

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • Genau das ! Danke :)


    //edit : Wenn ich -100 mache dann Zahle ich 100 ein, und wenn ich 100 schreibe zahle ich 100$ aus.
    Kann man das irgendwie umkehren?



    Und noch was.. Wenn ich es auszahle / einzahle kriege ich das geld ja, oder verliere es.
    Aber die Fraktionskasse bleib ja gleich weil da noch kein Command dabei ist.
    Wenn ich versuche das hier zu adden:


    FraktionsKasse[fraktion] += strval;



    Komm da das:
    C:\Users\Desktop\1.1\Reallife\gamemodes\larp.pwn(11165) : error 076: syntax error in the expression, or invalid function call

    Einmal editiert, zuletzt von Slexout ()

  • Ok das ich jetzt 100 schreibe um 100 ein zu zahlen, und -100 um 100 auszuzahlen hab ich jetzt.
    Aber wie kriege ich den Error weg?

  • FraktionsKasse[fraktion] += strval(inputtext);
    So abändern

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • Ok, das klappt jetzt.


    Nur ich hab 16 Fraktionen und will für jede Fraktion ein Fraktions-Punkt wo man das Geld abheben und einzahlen kann.
    Und wo ich die zweite gemacht habe ist schon ein Problem aufgetaucht.
    Un zwar wenn ich bei der 1. Fraktion Geld abhebe, dann ist das Geld bei der 2. Fraktion auch weg. Also als ob beide Fraktionen die gleiche Kasse benutzen.


    Was kann ich dagegen machen ?
    Ich hab es so versucht, klappt aber nicht:


    if(PlayerInfo[playerid][pMember] != 1 && PlayerInfo[playerid][pLeader] != 1)


    FraktionsKasse[1] -= strval(inputtext);



    if(PlayerInfo[playerid][pMember] != 2 && PlayerInfo[playerid][pLeader] != 2)


    FraktionsKasse[2] -= strval(inputtext);



    Danke für die helfenden. ;)

  • Meinst du es so?
    Hier für die Cops:
    ShowPlayerDialog(playerid,FRAKTIONCOP,DIALOG_STYLE_LIST,"Fraktion,","Übersicht\nKasse\nWaffen\nMaterialen","Ok","Abbrechen");


    Hier für die AQ:
    ShowPlayerDialog(playerid,FRAKTIONAQ,DIALOG_STYLE_LIST,"Fraktion,","Übersicht\nKasse\nWaffen\nMaterialen","Ok","Abbrechen");



    Bei den Cops die Kasse:
    ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Kasse", "Wieviel Geld möchtest du einzahlen, bzw. abheben?", "Ok", "Abbruch");



    Bei der AQ die Kasse:
    ShowPlayerDialog(playerid, 6, DIALOG_STYLE_INPUT, "Kasse", "Wieviel Geld möchtest du einzahlen, bzw. abheben?", "Ok", "Abbruch");



    und hier das If dazu:


    if(dialogid == 2 && response)
    {
    new string[128];
    strval(inputtext);
    if(strval(inputtext) > 0) format(string,128,"Du hast $%s abgehoben.",inputtext);
    else format(string,128,"Du hast $%s eingezahlt.",inputtext);
    GivePlayerMoney(playerid, strval(inputtext));
    FraktionsKasse[fraktion] -= strval(inputtext);
    SaveFraktionsKassen();
    return 1;
    }


    if(dialogid == 6 && response)
    {
    new string[128];
    strval(inputtext);
    if(strval(inputtext) > 0) format(string,128,"Du hast $%s abgehoben.",inputtext);
    else format(string,128,"Du hast $%s eingezahlt.",inputtext);
    GivePlayerMoney(playerid, strval(inputtext));
    FraktionsKasse[fraktion] -= strval(inputtext);
    SaveFraktionsKassen();
    return 1;
    }


    //edit : Korrektur

  • Funkt aber nicht :)



    In der Kasse von Cops sind 200.000$ drin,
    und in der Kasse der AQ sind auch 200.000$ drin.


    Dann nehme ich von den Cops 50000$ raus.
    Und bei den Cops & bei der AQ sind 150.000$ drin.


    Noch jemand eine Lösung?