Hallo liebe Community,
ich habe heute ein bereits vorgefertigtes System versucht einzubauen.
Dazu musste ich allerdings einige Sachen entfernen da diese nicht richtig funktioniert haben.
Nun dessen, waren es die Dini funktionen (Create,Save,Readout) etc
Nun, da dass vorgefertigt nicht funktioniert hat brauche ich eure Hilfe
Nun das System an sich funktioniert einwandfrei, nun ist ja eigentlich vorgesehen, dass ich die Gespräche mit Dini abspeichere.
Einer der Gründe, dessen dass ich die DINI sachen entfernt habe (ausm Script versteht sich) war, dass die Dateien nicht erstellt worden sind, dementsprechend buggten dann auch die Lösch und auslesefunktionen.
Nun möchte ich diese Funktionen aber so umschreiben, dass es funktioniert.
Hier ist mal der ScriptTEil
//new TicketZeile[MAX_PLAYERS]; // Wieviele Zeilen schon belegt sind.
new SupportTicket[MAX_PLAYERS]; // Ob der Spieler ein Ticket hat
new TicketAngenommen[MAX_PLAYERS]; // Ob das Ticket angenommen wurde!
new DeinSupportAdmin[MAX_PLAYERS] = {-1,...}; // Der Supporter, der dein Ticket angenommen hat!
new DeinSupportMember[MAX_PLAYERS] = {-1,...};
new pName[MAX_PLAYERS][MAX_PLAYER_NAME];
new TicketText[144][MAX_PLAYERS];
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_YELLOW 0xFFFF00AA
{
new string[144];
if(!strlen(params))return SendClientMessage(playerid,COLOR_GREY,"[Benutzung]: /sup [Text]");
if(SupportTicket[playerid] == 0)
{
format(string,144,"%s hat ein Support-Ticket geschrieben!",Name(playerid));
SCMTOADMIN(string);
SupportTicket[playerid] = 1;
format(TicketText[playerid],144,params);
SendClientMessage(playerid,COLOR_YELLOW,"[SUPPORT] Du hast ein Ticket mit folgendem Text geöffnet!");
SendClientMessage(playerid,COLOR_YELLOW,params);
SendClientMessage(playerid,COLOR_YELLOW,"[SUPPORT] Warte bis es ein Supporter annimmt!");
return 1;
}
if(DeinSupportAdmin[playerid] == -1)return SendClientMessage(playerid,COLOR_YELLOW,"Du bist in keinem Ticket-Gespräch!");
if(!strlen(params))return SendClientMessage(playerid,COLOR_YELLOW,"[Benutzung]: (Gespräch) /sup [Text]");
format(string,144,"( Spieler %s: %s )",Name(playerid),params);
SendClientMessage(DeinSupportAdmin[playerid],COLOR_GREY,string);
SendClientMessage(playerid,COLOR_GREY,string);
return 1;
}
ocmd:deleteticket(playerid,params[])
{
new pID,string[144];
if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_GREY,"[Benutzung]: /deleteticket [ID]");
if(!isAdmin(playerid,1))return SendClientMessage(playerid,COLOR_YELLOW,"Du bist kein Admin!");
if(SupportTicket[pID] == 0)return SendClientMessage(playerid,COLOR_YELLOW,"Der Spieler hat kein Ticket geschrieben!");
format(string,144,"%s hat dein Ticket gelöscht!",Name(playerid));
SendClientMessage(pID,COLOR_YELLOW,string);
SendClientMessage(playerid,COLOR_YELLOW,"Erfolgreich gelöscht!");
TicketAngenommen[pID] = 0;
DeinSupportAdmin[pID] = -1;
SupportTicket[pID] = 0;
format(TicketText[playerid],144," ");
return 1;
}
ocmd:tickets(playerid,params[])
{
new string[144];
if(!isAdmin(playerid,1))return SendClientMessage(playerid,COLOR_YELLOW,"Du bist kein Admin!");
SendClientMessage(playerid,COLOR_YELLOW,"Die angezeigten Tickets können mit /taketicket angenommen werden!");
for(new i=0,j=GetMaxPlayers();i<j;i++)
{
if(SupportTicket[i] == 0)continue;
if(TicketAngenommen[i] == 0)
{
format(string,144,"ID: %i Name: %s",i,Name(i));
SendClientMessage(playerid,COLOR_GREY,string);
}
}
return 1;
}
ocmd:taketicket(playerid,params[])
{
new pID,string[144];
if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_GREY,"[Benutzung]: /taketicket [ID]");
if(!isAdmin(playerid,1))return SendClientMessage(playerid,COLOR_YELLOW,"Du bist kein Admin!");
if(SupportTicket[pID] == 0)return SendClientMessage(playerid,COLOR_YELLOW,"Der Spieler hat kein Ticket!");
if(TicketAngenommen[pID] == 0)
{
format(string,144,"%s schrieb folgende Supportnachricht!",Name(pID));
SendClientMessage(playerid,COLOR_YELLOW,string);
format(string,144,"-> %s",TicketText[pID]);
SendClientMessage(playerid,COLOR_YELLOW,string);
SendClientMessage(playerid,COLOR_YELLOW,"Du kannst per /aw [Text] antworten!");
format(string,144,"[SUPPORT] %s hat dein Support Ticket geöffnet! Du kannst per /sup [Text] direkt mit ihm schreiben!",Name(playerid));
SendClientMessage(pID,COLOR_YELLOW,string);
DeinSupportAdmin[pID] = playerid;
DeinSupportMember[playerid] = pID;
TicketAngenommen[pID] = 1;
}
return 1;
}
ocmd:aw(playerid,params[])
{
new string[144];
if(DeinSupportMember[playerid] == -1)return SendClientMessage(playerid,COLOR_YELLOW,"Du bist in keinem Ticket-Gespräch!");
if(!isAdmin(playerid,1))return SendClientMessage(playerid,COLOR_YELLOW,"Du bist kein Admin!");
if(!strlen(params))return SendClientMessage(playerid,COLOR_YELLOW,"[Benutzung]: /aw [Text]");
format(string,144,"( Supporter %s: %s )",Name(playerid),params);
SendClientMessage(DeinSupportMember[playerid],COLOR_YELLOW,string);
SendClientMessage(playerid,COLOR_YELLOW,string);
return 1;
}
Vielen Dank für jede Hilfe
MFG DevilMakeCry74
PS: ich habe Skype, Teamviewer und falls nötig auchn Teamspeak³
EDIT1: ich habe leider keine Ahnung von Dini weil ich von Anfang an mit MYSQL gearbeitet hab /immernoch damit arbeite