Code
CMD:sup(playerid, params[])
{
new input[90], text[96], string[128];
if(!IsLoggedIn(playerid))return 1;
if(sscanf(params, "s[90]", input))return SendClientMessage(playerid, COLOR_GREY, "Benutze /sup [Nachricht]");
new bool:isOnline;
for(new i=0;i<GetMaxPlayers();i++)
{
if(IsPlayerConnected(i) && Spieler[i][pLoggedIn])
{
if(Spieler[i][pAdmin] > 0)
{
isOnline = true;
}
}
}
if(!isOnline)
{
SendClientMessage(playerid, COLOR_GREY, "Derzeit ist kein Team Mitglied online.");
return 1;
}
// CREATE SUPPORT TICKET
if(GetTicketCount() > MAX_REPORTS)return SendClientMessage(playerid, COLOR_GREY, "Die Team Mitglieder haben momentan zuviele Tickets. Schreibe in einigen Minuten ein neues Ticket!");
if(Spieler[playerid][pReportAktiv] != 0)return SendClientMessage(playerid, COLOR_GREY, "Du bist bereits in einem aktiven Report oder hast ein Ticket erstellt!");
SendClientMessage(playerid, COLOR_GREEN, "Du hast ein Support-Ticket abgeschickt. Bitte gedulde dich nun einen moment.");
format(string, sizeof(string), "%s hat ein Support-Ticket erstellt! (/areport)", GetName(playerid));
SendAdminMessage(COLOR_GREEN, string);
format(string, sizeof(string), "Support-Ticket: "COLOR_HEX_WHITE"%s", input);
SendClientMessage(playerid, COLOR_GREEN, string);
Spieler[playerid][pReportAktiv] = 1;
new ticket = GetFreeTicket();
gSupport[ticket][ticketCreated] = true;
format(gSupport[ticket][ticketMessage], 90, input);
gSupport[ticket][ticketSender] = playerid;
gSupport[ticket][ticketAdmin] = INVALID_PLAYER_ID;
gSupport[ticket][ticketType] = 1;
format(string, sizeof(string), "Offene Tickets: ~g~%d", GetTicketCount());
for(new i=0;i<GetMaxPlayers();i++)
{
if(IsLoggedIn(i))
{
if(Spieler[i][pAdminDuty] == 1)
{
PlayerTextDrawSetString(i, pTextSupport[i][2], string);
}
}
}
if(Spieler[playerid][pReportAktiv] == 1)
{
for(new i=0;i<MAX_REPORTS;i++)
{
if(gSupport[i][ticketCreated])
{
if(gSupport[i][ticketSender] == playerid && Spieler[playerid][pAdmin] == 0)
{
if(gSupport[i][ticketAdmin] != INVALID_PLAYER_ID)
{
if(IsPlayerConnected(gSupport[i][ticketAdmin]))
{
strdel(text, 0, 1);
format(string, sizeof(string), "{21DD00}(( %s: %s ))", GetName(playerid), text);
SendClientMessage(gSupport[i][ticketAdmin], COLOR_WHITE, string);
SendClientMessage(playerid, COLOR_WHITE, string);
return 0;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "* Dein Gegenüber ist offline. Das Ticket wurde gelöscht.");
gSupport[i][ticketAdmin] = INVALID_PLAYER_ID;
gSupport[i][ticketSender] = INVALID_PLAYER_ID;
gSupport[i][ticketCreated] = false;
gSupport[i][ticketType] = 0;
strdel(gSupport[i][ticketMessage], 0, 90);
return 0;
}
}
}
else if(gSupport[i][ticketAdmin] == playerid && Spieler[playerid][pAdmin] > 0)
{
if(gSupport[i][ticketSender] != INVALID_PLAYER_ID)
{
if(IsPlayerConnected(gSupport[i][ticketSender]))
{
strdel(text, 0, 1);
format(string, sizeof(string), "{21DD00}(( %s: %s ))", GetName(playerid), text);
SendClientMessage(gSupport[i][ticketSender], COLOR_WHITE, string);
SendClientMessage(playerid, COLOR_WHITE, string);
return 0;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Dein Gegenüber ist offline. Das Ticket wurde gelöscht.");
gSupport[i][ticketAdmin] = INVALID_PLAYER_ID;
gSupport[i][ticketSender] = INVALID_PLAYER_ID;
gSupport[i][ticketCreated] = false;
gSupport[i][ticketType] = 0;
strdel(gSupport[i][ticketMessage], 0, 90);
for(new a=0;a<GetMaxPlayers();a++)
{
if(Spieler[a][pLoggedIn]){
if(Spieler[a][pAdminDuty] == 1)
{
format(string, sizeof(string), "Offene Tickets: ~g~%d", GetTicketCount());
PlayerTextDrawSetString(a, pTextSupport[a][2], string);
}
}
}
return 0;
}
}
}
}
}
}
return 1;
}
Alles anzeigen
Guten Abend,
Ich habe ein Problem wen ein Admin jetzt das Ticket annimt kann man normal mit /sup Text schreiben aber das funktioniert nicht auch nicht beim User
mit /sup sollte man auch ein Ticket erstellen können warum?