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