Möchte das Admins mit /sup antworten können.

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,
    ich habe es so das wenn ein User /sup schreibt und ein Admin es annimt das der User dann mit /sup antworten kann.
    Aber der Admin kann nicht mit /sup antworten, ich bekomme ich einfach nicht hin.


    Hoffe ihr könnt mir helfen



    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);
    Echo(playerid, cSupGelb, antwort);
    format(antwort2, sizeof (antwort2), "( %s: %s )", DerFragende, text);
    Echo(pID, cSupGelb, antwort2);
    }
    }
    return 1;
    }



    Der annehm Befehl für Admins:
    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);
    Echo(pID, cSupGelb, "[Support] Du kannst nun per /sup mit ihm schreiben.");
    DeinSupport[pID] = playerid; // Der persönliche Supporter wird gesetzt , um die Antworten an ihn weiterzuleiten
    TicketAngenommen[pID] = 1;
    UpdateTickets();
    }
    }
    }
    return 1;
    }



    LG
    MysteriX

  • Ja, das ist aus dem Premium Roleplay Script, aber das /sup System wo es dort gibt gibt es sehr oft.


    //Edit: Es wäre wirklich sehr nett wenn mir dringend jemand helfen kann, denn wenn das Support System nicht geht ist es schwer User zu supporten.

    Einmal editiert, zuletzt von MysteriX ()