Problem mit inputtext

  • Guten Morgen meine Scriptingfreunde,

    ich arbeite an einem Dialogbasierten Supportsystem und komme gerade nicht weiter.

    Wenn man das erste Feld anklickt wird direkt der string abgeschickt, jedoch sollte man erstmal

    die Nachricht antippen und anschließend soll die Nachricht gesendet werden.


    Hier mal der code:


    MfG

  • Welche Nachricht soll man erst antippen?

    Mach ein screen und setzt eine Markierung oder drück dich besser aus.

    Du willst mich kennenlernen? Kauf mein Buch, Bia*ch!

    Hab kein Buch lol

  • Welche Nachricht soll man erst antippen?

    Mach ein screen und setzt eine Markierung oder drück dich besser aus.

    Was ist denn daran nicht zu verstehen?

    Sobald ich den Dialog mit dem inputtext aufrufe wird der string ohne Nachricht an die Admins gesendet.

    Eigentlich sollte man erstmal die Nachricht eingeben und anschließend abschicken.

  • new string[128]; for(new i=0; i<MAX_PLAYERS; i++) { if(!IsPlayerConnected(i))continue; if(!isAdmin(i, 1))continue; format(string,sizeof(string), "[CAA:] %s: %s",getPlayerName(playerid), string); SendClientMessage(i, ACHAT, string); }


    steht denn auch in dem String was drinnen ?

    Natürlich nicht.


    Der Fehler ist, dass er das direkt unter das ShowPlayerDialog gepackt hat und nicht erst in das if(dialogid == DIALOG_CONTACTSUPPORT).


    Zumal muss in das format hinten nicht string, sondern inputtext ^^

    ast2ufdyxkb1.png


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

  • Natürlich nicht.


    Der Fehler ist, dass er das direkt unter das ShowPlayerDialog gepackt hat und nicht erst in das if(dialogid == DIALOG_CONTACTSUPPORT).


    Zumal muss in das format hinten nicht string, sondern inputtext ^^

    Also ich habe es nicht direkt da drunter gepackt, falls du das meinst:


    Hier ist der befehl /support


    Code
    ocmd:support(playerid,params[])
    {
        ShowPlayerDialog(playerid,DIALOG_SUPPORT,DIALOG_STYLE_LIST,"Support Panel","Contact a admin\n{24c123}Create a Ticket\n{d62020}Delete open Ticket\nTicket Archive\nOnline Supporter/Admins","{24c123}Select","{d62020}Exit");
        return 1;
    }



    Und bei OnDIalogRsponse ist halt das von oben, ich werde jetzt mal weiter schauen und hoffe, das problem lösen zu können

  • Wie Kaliber , schon sagte,

    die Nachricht

    Code
     for(new i=0; i<MAX_PLAYERS; i++)
                    {
                        if(!IsPlayerConnected(i))continue;
                        if(!isAdmin(i, 1))continue;
                        format(string,sizeof(string), "[CAA:] %s: %s",getPlayerName(playerid), inputtext);
                        SendClientMessage(i, ACHAT, string);
                    }

    Kommt erst im nächsten dialog in deinem Fall : if(dialogid == DIALOG_CONTACTSUPPORT)

    Da er ja erst noch den Text eingeben muss(und auf Send, klickt), danach können wir ja auch erst abfragen was seine anfrage war, mit dem inputtext.


    Falls immer noch unklar:

    (Zumindest, wenn ich das jetzt nicht falsch verstanden habe)