Ändere den Dialog hierzu ab:
case DIALOG_TICKET_DEL:
{
if(!response) return ShowPlayerDialog(playerid, DIALOG_ADMIN_TICKET_INFO, DIALOG_STYLE_LIST, "Ticket {85BEFF}Informationen", "{85BEFF}1.{FFFFFF} Annehmen\n{85BEFF}2.{FFFFFF} Löschen\n{85BEFF}3.{FFFFFF} Frage anschauen", "Auswählen", "Zurück");
if(!IsNumeric(inputtext)) return SendClientMessage(playerid, COLOR_WHITE, "{FF8484}Fehler{FFFFFF}! Ungültige Zahl!");
new ticketid = strval(inputtext);
for(new i = 0; i < sizeof(TicketInfo); i++)
{
if(TicketInfo[i][t_id] == ticketid)
{
new query[56];
format(query, sizeof(query), "DELETE FROM `supportticket` WHERE `id` = '%i'", ticketid);
mysql_function_query(handle, query, true, "LoadTickets", "");
TicketInfo[i][t_id] = 0;
SendClientMessage(playerid, COLOR_WHITE, "Ticket {A4FF85}erfolgreich{FFFFFF} gelöscht.");
return 1;
}
}
SendClientMessage(playerid, COLOR_WHITE, "{FF8484}Fehler{FFFFFF}! Ticket ist nicht vorhanden.");
return 1;
}
Der else-Teil musste aus der Schleife, sonst könntest du immer nur das erste Ticket löschen.
Und das Laden hierzu:
forward LoadTicketData();
public LoadTicketData()
{
new num_fields, num_rows;
cache_get_data(num_rows, num_fields, handle);
if(num_rows > 0)
{
for(new i = 0; i < num_rows; i++)
{
TicketInfo[i][t_id] = cache_get_field_content_int(i, "id", handle);
cache_get_field_content(i, "Absender", TicketInfo[i][t_absender], handle, 35);
cache_get_field_content(i, "Bereich", TicketInfo[i][t_bereich], handle, 35);
}
}
for(new i = num_rows; i < sizeof(TicketInfo); i++) TicketInfo[i][t_id] = 0;
return 1;
}
Dies setzt die Variablen am Ende wieder zu 0, somit kommt kein doppeltes Ticket am Ende vor.