Ticketsystem funzt nicht....

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
  • Moin,
    mache momentan ticketsys. Aber irgendwie wird die Nachricht nicht aufgerufen.
    Ich weiß nicht ob es am speichern oder laden liegt....


    Hier mal der Code:



    #define DIALOG_SUPPORT 17
    #define DIALOG_SUPMENU 18
    #define DIALOG_SUP_FIRST 19


    new Tickets[20];
    new bool: Ticketactive[20] = false;


    if(dialogid == DIALOG_SUPMENU)
    {
    if(response)
    {
    if(listitem == 0)
    {
    if(Ticketactive[0] == true)
    {
    new string[128];
    format(string,sizeof(string)," Text: %s",Tickets[0]);
    SendClientMessage(playerid, Rot, string);
    }
    }
    }
    }
    if(dialogid == DIALOG_SUPPORT)
    {
    if(response)
    {
    if(listitem == 0)
    {
    ShowPlayerDialog(playerid, DIALOG_SUP_FIRST, DIALOG_STYLE_INPUT,"Fragen zum Spiel / Server","Gebe deine Frage unten ein","Ok","Abbrechen");
    }
    }
    }
    if(dialogid == DIALOG_SUP_FIRST)
    {
    if(response)
    {
    if(strlen(inputtext) == 0)
    {
    ShowPlayerDialog(playerid, DIALOG_SUP_FIRST, DIALOG_STYLE_INPUT,"Fragen zum Spiel / Server","Gebe deine Frage unten ein","Ok","Abbrechen");
    }
    else
    {
    SendClientMessage(playerid, Gelb,"Du hast das Ticket abgeschickt! Warte bis es von einem Admin oder Supporter angenommen wird!");
    new Supx = strval(inputtext);
    Ticketactive[0] = true;
    new string[128];
    Tickets[0] = Supx;
    format(string, sizeof(string),"[Ticket] %s hat ein Ticket zum Thema 'Fragen zum Spiel / Server' eingereicht!", SpielerName(playerid));
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerAnAdmin(i,1))
    {
    SendClientMessage(i,Rot,string);
    }
    }
    }
    }
    }


    COMMAND:ticketmenu(playerid,params[])
    {
    if(IsPlayerAnAdmin(playerid, 1))
    {
    new string[128];//string2[128],string3[128],string4[128],string5[128],string6[128],string7[128],string8[128],string9[128],string10[128],string11[128],string12[128],string13[128],string14[128],string15[128],string16[128],string17[128],string18[128],string19[128],string20[128];
    if(Ticketactive[0] == false)
    {
    format(string, sizeof(string),"Ticketslot 1 = frei");
    ShowPlayerDialog(playerid, DIALOG_SUPMENU, DIALOG_STYLE_LIST,"Supportmenu", string, "Ok", "Abbrechen");
    }
    else if(Ticketactive[0] == true)
    {
    format(string, sizeof(string),"... %s",Tickets[0]);
    ShowPlayerDialog(playerid, DIALOG_SUPMENU, DIALOG_STYLE_LIST,"Supportmenu", string, "Ok", "Abbrechen");
    }
    }
    return 1;
    }
    COMMAND:support(playerid,params[])
    {
    ShowPlayerDialog(playerid, DIALOG_SUPPORT, DIALOG_STYLE_LIST,"Support","Fragen zum Spiel / Server","Ok","Abbrechen");
    return 1;
    }


    Kurze Erklärung wie ich mir das vorgestellt habe:


    Der Spieler kann mit /support ein Supportticket erstellen. Mit /ticketmenu wird ein dialog aufgerufen, wo man dann die Tickets aufrufen kann.
    Momentan gibt es einen "Slot".
    Aber wenn er es aufruft wird der Text nicht wiedergegeben....


    Ich hoffe ihr könnt mir helfen... :/

    Mit freundlichen Grüßen

    #define



  • Ich finde das ganze System, wie es bisher ist ein bisschen mieß gemacht,..
    Denn wenn jetzt ein anderer ein Ticket macht, wied das alte gelöscht...
    Probiere es mit Max_Player-Arrays und lasse werte bei denen z.B. als PVarString etc. speicher und dann auslesen...

    Back to the roots!