Wobei ich jetzt doch wieder ein Problem habe, immer wenn ich dann ein Ticket öffne stürzt der Server ab.
Code (update):
ocmd:tickets(playerid, params[])
{
#pragma unused params
if(SpielerInfo[playerid][Adminlevel] < 1)return SendClientMessage(playerid, GRAU, ""KeinAdmin"");
{
SendClientMessage(playerid, GRAU, "__________ Offene Tickets __________");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(SupportTicket[i] == 1)
{
if(TicketAngenommen[i] == 0)
{
new string[128], DerSpieler[MAX_PLAYER_NAME];
GetName(i, DerSpieler, sizeof(DerSpieler));
format(string, sizeof(string), "ID: %d Name: %s", i, DerSpieler);
SendClientMessage(playerid, COLOR_GREY, string);
}
}
}
SendClientMessage(playerid, GRAU, "____________________________________");
SendClientMessage(playerid, COLOR_YELLOW, "** Info: Benutze '/ot' um Tickets zu öffnen.");
}
return 1;
}
ocmd:sup(playerid,params[])
{
new text[256];
if(sscanf(params,"s[256]",text))
{
SendClientMessage(playerid, GRAU,"Benutze: '/sup [Frage/Problem]'");
}
else
{
if(TicketAngenommen[playerid] == 0)
{
new pname[MAX_PLAYERS],save[512], string[128];
GetName(playerid,pname,sizeof pname);
format(save,sizeof save,"Tickets/%s.ini",pname);
if(!dini_Exists(save) && TicketZeile[playerid] == 0)
{
new adminmeldung[128];
format(adminmeldung, sizeof(adminmeldung), "[ SUPPORT ] %s hat ein Support-Ticket erstellt.", pname);
SendAdminMessage(COLOR_YELLOW, adminmeldung);
SupportTicket[playerid] = 1;
TicketZeile[playerid] = 1;
dini_Create(save);
dini_Set(save,"Suptext",text);
SendClientMessage(playerid, COLOR_YELLOW, "[ SUPPORT ] Du hast ein Ticket mit folgendem Text geöffnet:");
format(string, 145, text);
SendClientMessage(playerid, gold, string);
SendClientMessage(playerid, COLOR_YELLOW, "[ SUPPORT ] Ein Admin/Supporter wird sich schnellstmöglich mit dir in Verbindung setzen.");
SendClientMessage(playerid, COLOR_YELLOW, " Du kannst bis zu zwei weitere Zeilen in den /sup schreiben, um dein Problem genauer zu beschreiben!");
return 1;
}
else if(TicketZeile[playerid] == 1)
{
new string2[128];
dini_Set(save, "Suptext2",text);
SendClientMessage(playerid, COLOR_YELLOW, "[ SUPPORT ] Du hast folgendes an dein Ticket anhängt:");
format(string2, sizeof(string2), "%s", text);
SendClientMessage(playerid, gold, string2);
TicketZeile[playerid] = 2;
return 1;
}
else if(TicketZeile[playerid] == 2)
{
new string3[128];
dini_Set(save, "Suptext3",text);
SendClientMessage(playerid, COLOR_YELLOW, "[ SUPPORT ] Du hast folgendes an dein Ticket anhängt:");
format(string3, sizeof(string3), "%s", text);
SendClientMessage(playerid, gold, string3);
TicketZeile[playerid] = 3;
return 1;
}
else if(TicketZeile[playerid] == 3)
{
SendClientMessage(playerid, COLOR_YELLOW, "[ SUPPORT ] ** FEHLER: Dein Ticket ist bereits voll! **");
return 1;
}
}
if(TicketAngenommen[playerid] == 1)
{
new pID = DeinSupport[playerid];
new antwort[128], antwort2[128], DerFragende[MAX_PLAYER_NAME], DerSup[MAX_PLAYER_NAME];
GetName(playerid, DerFragende, sizeof (DerFragende));
GetName(pID, DerSup, sizeof (DerSup));
format(antwort, sizeof (antwort),"--> %s", text);
SendClientMessage(playerid, gold, antwort);
format(antwort2, sizeof (antwort2), "%s schrieb: %s", DerFragende, text);
SendClientMessage(pID, COLOR_YELLOW, antwort2);
}
}
return 1;
}
ocmd:giveticket(playerid, params[])
{
if(SpielerInfo[playerid][Adminlevel] < 3)return SendClientMessage(playerid, GRAU, ""KeinAdmin"");
new pID, adminid;
if(sscanf(params,"uu[256]",pID,adminid))
{
return SendClientMessage(playerid, COLOR_GREY,"Benutze: /giveticket [ID/Name] [Admin]");
}
if(!IsPlayerConnected(adminid))
{
return SendClientMessage(playerid, COLOR_YELLOW,"[ SUPPORT ] ** FEHLER: Der angegebene Administrator ist nicht Online.");
}
if(SpielerInfo[adminid][Adminlevel] == 0)
{
return SendClientMessage(playerid, COLOR_YELLOW, "[ SUPPORT ] ** FEHLER: Der angegebene Spieler ist kein Administrator.");
}
new pname[MAX_PLAYERS],save[512];
GetName(pID,pname,sizeof pname);
format(save,sizeof save,"Tickets/%s.ini",pname);
if(!dini_Exists(save))
{
return SendClientMessage(playerid, COLOR_YELLOW,"[ SUPPORT] ** FEHLER: Der angegebene Spieler hat kein Ticket erstellt.");
}
new NeuerAdmin[MAX_PLAYER_NAME], AlterAdmin[MAX_PLAYER_NAME], Fragender[MAX_PLAYER_NAME];
GetName(playerid, AlterAdmin , sizeof(AlterAdmin));
GetName(adminid, NeuerAdmin, sizeof(NeuerAdmin));
GetName(pID, Fragender , sizeof(Fragender));
DeinSupport[pID] = adminid;
new string2[128], string3[128], string4[256], string5[256], string6[256];
format(string2, sizeof(string2), "[ SUPPORT ] %s hat dein Ticket an %s weitergegeben.", AlterAdmin, NeuerAdmin);
SendClientMessage(pID, COLOR_YELLOW, string2);
SendClientMessage(playerid, LIGHTGREEN, "Erfolgreich weitergeleitet");
format(string3, sizeof(string3), "[ SUPPORT ] %s hat dir %s´s Ticket gegeben. Er schrieb folgendes:", AlterAdmin, Fragender);
string4 = dini_Get(save, "Suptext");
string5 = dini_Get(save, "Suptext2");
string6 = dini_Get(save, "Suptext3");
SendClientMessage(adminid, COLOR_YELLOW, string3);
SendClientMessage(adminid, COLOR_YELLOW, string4);
SendClientMessage(adminid, COLOR_YELLOW, string5);
SendClientMessage(adminid, COLOR_YELLOW, string6);
return 1;
}
ocmd:ct(playerid, params[])
{
if(SpielerInfo[playerid][Adminlevel] < 3)return SendClientMessage(playerid, GRAU, ""KeinAdmin"");
new pID;
if(sscanf(params,"u[256]",pID)){
return SendClientMessage(playerid, COLOR_GREY,"Benutze: /ct [ID/Name]");
}
new pname[MAX_PLAYERS],save[512];
GetName(pID,pname,sizeof pname);
format(save,sizeof save,"Tickets/%s.ini",pname);
if(dini_Exists(save))
{
if(SpielerInfo[playerid][Adminlevel] >= 1)
{
new string[128], DerSup[MAX_PLAYER_NAME];
GetName(playerid, DerSup, sizeof(DerSup));
dini_Remove(save);
format(string, sizeof(string), ">>> %s hat dein Ticket geschlossen/gelöscht.", DerSup);
SendClientMessage(pID, gold, string);
SendClientMessage(playerid, gold, ">>> Du hast den Ticket geschlossen/gelöscht.");
TicketZeile[pID] = 0;
TicketAngenommen[pID] = 0;
DeinSupport[pID] = 0;
SupportTicket[pID] = 0;
}
}
return 1;
}
ocmd:ot(playerid,params[])
{
if(SpielerInfo[playerid][Adminlevel] < 1)return SendClientMessage(playerid, GRAU, ""KeinAdmin"");
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[256]",pID)){
return SendClientMessage(playerid, COLOR_GREY,"Benutze: /ot [ID/Name]");
}
new pname[MAX_PLAYERS],save[512];
GetName(pID,pname,sizeof pname);
format(save,sizeof save,"Tickets/%s.ini",pname);
if(dini_Exists(save))
{
if(SpielerInfo[playerid][Adminlevel] >= 1)
{
string2 = dini_Get(save,"Suptext");
string3 = dini_Get(save,"Suptext2");
string4 = dini_Get(save,"Suptext3");
GetName(pID, DerPlayer, sizeof(DerPlayer));
GetName(playerid, DerAdmin, sizeof(DerAdmin));
format(string, sizeof(string), "%s schrieb folgende Supportnachricht:", DerPlayer);
SendClientMessage(playerid, COLOR_YELLOW, string);
SendClientMessage(playerid, gold, string2);
SendClientMessage(playerid, gold, string3);
SendClientMessage(playerid, gold, string4);
SendClientMessage(playerid, COLOR_YELLOW, "Du kannst per /do [ID] antworten (Spieler: %s [%s])",GetName(pID),pID);
format(mitteilung, sizeof(mitteilung), "%s hat dein Support Ticket geöffnet. Du kannst nun per /sup direkt mit ihm schreiben!",DerAdmin);
new string5[128];
format(string5, sizeof (string5), "[ SUPPORT ] %s hat das Ticket von %s geöffnet",DerAdmin,GetName(pID));
SendAdminMessage(COLOR_YELLOW, string5);
SendClientMessage(pID, gold, mitteilung);
DeinSupport[pID] = playerid;
TicketAngenommen[pID] = 1;
}
}
return 1;
}
Jeffry: