Tickets in einem Dialog Anzeigen lassen

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
  • Guten Tag, ich bin momentan dabei mir ein Dialog Ticket System zu basteln, es funktioniert alles aber ich bekomme es einfach nicht hin die Tickets aufzulisten, es soll ganz einfach so sein :


    Jeder Spieler kann ja ein Ticket schreiben, es kann in Bearbeitung sein, dann sollte es da nicht angezeigt werden, habe das auch hinbekommen im Textchat aber nunmal nicht in einem Dialog.



    new string12[256];
    SendClientMessage(playerid, ROT, "Aktuelle Tickets:");
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(Ticket[i][TicketStatus] == 1)
    {
    format(string12, sizeof(string12), "TicketID: %d | Ersteller: %s | Status: Offen | Frage: %s ]", i, Ticket[i][TicketOwner], Ticket[i][TicketText]);
    SendClientMessage(playerid, GELB, string12);
    }
    if(Ticket[i][TicketStatus] == 2)
    {
    format(string12, sizeof(string12), "TicketID: %d | Ersteller: %s | Status: Bearbeitung | Frage: %s", i, Ticket[i][TicketOwner], Ticket[i][TicketText]);
    SendClientMessage(playerid, GELB, string12);
    }
    }


    Wie bringe ich das in einen Dialog ? Man , er soll sie durch einen Dialog ja nicht gleich Lesen sondern es kann wie /stats ruhig nur einfach Aufgelistet sein damit er dann mit einem anderen Befehl das Ticket öffnet.


    MfG
    Chris

  • Gerne gibts nen Denkanstoß


    1. Du listest mit einer - for - schleife alles in einen List Dialog
    2. Falls du den Titel in OnDialogResponse oder wje es heist brauchst
    Inputtext im Listdialog = Listitem name
    3. Auswerten und anzeigen

  • Soll das so aussehen ?
    Ich verstehe es einfach nicht dieses Auflisten -.- ich bekomm es einfach nicht hin.



    for(new i=0; i<MAX_PLAYERS; i++)
    {
    switch(listitem)
    {
    if(Ticket[i][TicketStatus] == 1)
    {
    case 0: format(string1, sizeof(string1), "TicketID: %d | Ersteller: %s | Status: Offen | Frage: %s ]\n", i, Ticket[i][TicketOwner], Ticket[i][TicketText]);
    }
    if(Ticket[i][TicketStatus] == 2)
    {
    case 0: format(string1, sizeof(string1), "TicketID: %d | Ersteller: %s | Status: Bearbeitung | Frage: %s ]\n", i, Ticket[i][TicketOwner], Ticket[i][TicketText]);
    }
    format(string, sizeof string,"",string, value1);
    ShowPlayerDialog(playerid, 300, DIALOG_STYLE_LIST, "Tickets", "string, "Option 1", "Option 2");
    }

  • new count = 0,buffer[128],string[128];
    for(new i; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i) || !HatTicket[i]) continue;
    format(buffer,sizeof(buffer),"{FEFEFE}Name: {FFBE00}%s{FEFEFE} Ticket: {FFBE00}%s\n",SpielerName(i),Ticket[i]);
    strins(string,buffer,strlen(string),sizeof(string));
    count++;
    }
    if(count == 0) { SendClientMessage(playerid,Farbe,"Es sind keine Tickets offen!"); }
    else { // Hier den Dialog mit den Tickets anzeigen }


    Bei Fragen stehe ich zur verfügung 8)