Möchte das man mit /sup antworten kann

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
  • Hallo,
    bei mir kann man mit /sup ein Ticket erstellen.
    So jetzt möchte ich das die User und die Admin mit /sup antworten können.
    Nur ich weis nicht wie ich das mache...


    /sup befehl:
    ocmd:sup(playerid,params[])
    {
    new text[256], swort[128];
    if(sscanf(params,"s",text))
    {
    Echo(playerid, cTürkis,"[Benutzung]: /sup [text]");
    }
    else
    {
    format(swort,sizeof(swort),"/sup %s", text);
    SWort(playerid, text);
    if(TicketAngenommen[playerid] == 0)
    {
    new pname[MAX_PLAYER_NAME],save[512], string[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(save,sizeof save,"Tickets/%s.ini",pname);
    if(!dini_Exists(save) && TicketZeile[playerid] == 0) // Wenn noch kein Ticket existiert und auch die TicketZeile auf 0 ist.
    {
    SupportTicket[playerid] = 1;
    TicketZeile[playerid] = 1;
    dini_Create(save);
    dini_Set(save,"Suptext",text);
    Echo(playerid, cTürkis, "[Support] Du hast ein Ticket erstellt. Bitte warte, bis es ein Admin annimt.");
    format(string, sizeof(string), "%s", text);
    Echo(playerid, cTürkis, string);
    Echo(playerid, cTürkis, "[Support] Mit /sup [text] kannst du noch 2 weitere Zeilen schreiben.");
    Echo(playerid, cTürkis, "[Support] Mit /dt kannst du dein Ticket löschen.");
    UpdateTickets();
    return 1;
    }
    else if(TicketZeile[playerid] == 1) // Wenn die erste Zeile schon geschrieben wurde
    {
    new string2[128];
    dini_Set(save, "Suptext2",text);
    Echo(playerid, cTürkis, "[Support] Der folgende Text wurde an dein Ticket angehängt:");
    format(string2, sizeof(string2), "%s", text);
    Echo(playerid, cTürkis, string2);
    Echo(playerid, cTürkis, "[Support] Mit /sup [text] kannst du noch 1 weitere Zeilen schreiben.");
    TicketZeile[playerid] = 2;
    return 1;
    }
    else if(TicketZeile[playerid] == 2) // Wenn bereits 2 Zeilen ausgefüllt sind
    {
    new string3[128];
    dini_Set(save, "Suptext3",text);
    Echo(playerid, cTürkis, "[Support] Der folgende Text wurde an dein Ticket angehängt:");
    format(string3, sizeof(string3), "%s", text);
    Echo(playerid, cTürkis, string3);
    Echo(playerid, cTürkis, "[Support] Dein Ticket ist nun vollgeschrieben. Du kannst nichts mehr anhängen.");
    TicketZeile[playerid] = 3;
    return 1;
    }
    else if(TicketZeile[playerid] == 3) // Wenn das Ticket bereits 3 Zeilen hat
    {
    Echo(playerid, cTürkis, "[Support] Dein Ticket ist vollgeschrieben. Warte, bis ein Admin es annimmt.");
    return 1;
    }
    }
    }
    return 1;
    }


    Hoffe das jemand so nett ist und mir hilft..


    LG
    MysteriX

  • Zeig mal den annehme Befehl von dem Ticket.


    ocmd:ot(playerid,params[])
    {
    new pID;
    new string2[256], string[256], string3[256], string4[256],mitteilung[128] , DerPlayer[MAX_PLAYER_NAME], DerAdmin[MAX_PLAYER_NAME];
    if(sscanf(params,"u",pID)){
    return Echo(playerid, cGelb,"[Benutzung]: /ot [id]");
    }
    new pname[MAX_PLAYERS],save[512];
    GetPlayerName(pID,pname,sizeof pname);
    format(save,sizeof save,"Tickets/%s.ini",pname);
    if(dini_Exists(save)) // Ob ein Ticket existiert! bzw. Datei-Abfrage
    {
    if(isPlayerAnAdmin(playerid, 1))
    {
    if(TicketAngenommen[pID] == 0)
    {
    string2 = dini_Get(save,"Suptext");
    string3 = dini_Get(save,"Suptext2");
    string4 = dini_Get(save,"Suptext3");
    GetPlayerName(pID, DerPlayer, sizeof(DerPlayer));
    GetPlayerName(playerid, DerAdmin, sizeof(DerAdmin));
    format(string, sizeof(string), "[Support] Du hast das Ticket von %s geöffnet.", DerPlayer);
    Echo(playerid, cTürkis, string);
    Echo(playerid, cTürkis, string2);
    Echo(playerid, cTürkis, string3);
    Echo(playerid, cTürkis, string4);
    format(mitteilung, sizeof(mitteilung), "[Support] %s hat dein Ticket angenommen.",DerAdmin);
    Echo(pID, cSupGelb, mitteilung);
    ReportCall[giveplayerid] = playerid;
    ReportCall[playerid] = giveplayerid; //Verbinde zum Reporter
    Echo(pID, cSupGelb, "[Support] Du kannst nun per /sup mit ihm schreiben.");
    TicketAngenommen[pID] = 1;
    UpdateTickets();
    }
    }
    }
    return 1;
    }

  • Habe es jetzt so versucht:


    ocmd:sup(playerid,params[])
    {
    new text[256], swort[128];
    if(sscanf(params,"s",text))
    {
    Echo(playerid, cTürkis,"[Benutzung]: /sup [text]");
    }
    else
    {
    format(swort,sizeof(swort),"/sup %s", text);
    SWort(playerid, text);
    if(TicketAngenommen[playerid] == 0)
    {
    new pname[MAX_PLAYER_NAME],save[512], string[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(save,sizeof save,"Tickets/%s.ini",pname);
    if(!dini_Exists(save) && TicketZeile[playerid] == 0) // Wenn noch kein Ticket existiert und auch die TicketZeile auf 0 ist.
    {
    SupportTicket[playerid] = 1;
    TicketZeile[playerid] = 1;
    dini_Create(save);
    dini_Set(save,"Suptext",text);
    Echo(playerid, cTürkis, "[Support] Du hast ein Ticket erstellt. Bitte warte, bis es ein Admin annimt.");
    format(string, sizeof(string), "%s", text);
    Echo(playerid, cTürkis, string);
    Echo(playerid, cTürkis, "[Support] Mit /sup [text] kannst du noch 2 weitere Zeilen schreiben.");
    Echo(playerid, cTürkis, "[Support] Mit /dt kannst du dein Ticket löschen.");
    UpdateTickets();
    return 1;
    }
    else if(TicketZeile[playerid] == 1) // Wenn die erste Zeile schon geschrieben wurde
    {
    new string2[128];
    dini_Set(save, "Suptext2",text);
    Echo(playerid, cTürkis, "[Support] Der folgende Text wurde an dein Ticket angehängt:");
    format(string2, sizeof(string2), "%s", text);
    Echo(playerid, cTürkis, string2);
    Echo(playerid, cTürkis, "[Support] Mit /sup [text] kannst du noch 1 weitere Zeilen schreiben.");
    TicketZeile[playerid] = 2;
    return 1;
    }
    else if(TicketZeile[playerid] == 2) // Wenn bereits 2 Zeilen ausgefüllt sind
    {
    new string3[128];
    dini_Set(save, "Suptext3",text);
    Echo(playerid, cTürkis, "[Support] Der folgende Text wurde an dein Ticket angehängt:");
    format(string3, sizeof(string3), "%s", text);
    Echo(playerid, cTürkis, string3);
    Echo(playerid, cTürkis, "[Support] Dein Ticket ist nun vollgeschrieben. Du kannst nichts mehr anhängen.");
    TicketZeile[playerid] = 3;
    return 1;
    }
    else if(TicketZeile[playerid] == 3) // Wenn das Ticket bereits 3 Zeilen hat
    {
    Echo(playerid, cTürkis, "[Support] Dein Ticket ist vollgeschrieben. Warte, bis ein Admin es annimmt.");
    return 1;
    }
    if(TicketAngenommen[playerid] == 1) // Zum direkten Antworten per /sup , wenn das Ticket angenommen wurde.
    {
    new pID = DeinSupport[playerid];
    new antwort[128], antwort2[128], DerFragende[MAX_PLAYER_NAME], DerSup[MAX_PLAYER_NAME];
    GetPlayerName(playerid, DerFragende, sizeof (DerFragende));
    GetPlayerName(pID, DerSup, sizeof (DerSup));
    format(antwort, sizeof (antwort),"--> %s", text);
    SendClientMessage(playerid, COLOR_YELLOW, antwort);
    format(antwort2, sizeof (antwort2), "%s schrieb: %s", DerFragende, text);
    SendClientMessage(pID, COLOR_YELLOW, antwort2);
    }
    if(TicketAngenommen[playerid] == 1) // Zum direkten Antworten per /sup , wenn das Ticket angenommen wurde.
    {
    new pID = DeinSup[playerid];
    new antwort[128], antwort2[128], DerSup[MAX_PLAYER_NAME], DerFragende[MAX_PLAYER_NAME];
    GetPlayerName(playerid, DerSup, sizeof (DerSup));
    GetPlayerName(pID, DerFragende, sizeof (DerFragende));
    format(antwort, sizeof (antwort),"--> %s", text);
    SendClientMessage(playerid, COLOR_YELLOW, antwort);
    format(antwort2, sizeof (antwort2), "%s schrieb: %s", DerFragende, text);
    SendClientMessage(pID, COLOR_YELLOW, antwort2);
    }
    }
    }
    return 1;
    }


    Aber es geht immernoch nicht!