Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*======================================|DZ|==================================*/
- /*================================|TICKET-SYSTEM|=============================*/
- /*
- Version : 0.1
- Ersteller : DogZone aka Daniel Faller
- Homepage : www.dogzone.de.gg
- Update & Support : www.dogzone.de.gg
- Das Entfernen der Copyrights ist nicht erwünscht ! bitte seien sie so Fair und lassen sie die Copyrights im Script drinne danke.
- */
- /*
- print("\n------------------------------------------------------");
- print("-------------------------|DZ|-------------------------");
- print("--------------------|Ticket-System|--------------------");
- print("---------------------|Version:0.1|--------------------");
- print("-------------|Updates auf www.dogzone.de.gg|----------");
- print("----------|Create by DogZone ak Daniel Faller|--------");
- print("------------------------------------------------------");
- print("----------------------|Commands|----------------------");
- print("USER: /sup | Erstellt als Nicht Supporter ein Ticket--");
- print("SUPPORTER : /sup | Öffnet ein Ticket von Usern.-------");
- print("RCON : /setsup | Mache ein User zum Supporter.--------");
- print("------------------------------------------------------\n");
- */
- //====================================INCLUDE===================================
- #include <a_samp>
- #include <dini>
- #include <DZ_sonstiges>
- //==============================================================================
- //Einstellungen
- #define SupportTickets 50 // Stelle hier die Maximalen Tickets ein.
- //==============================================================================
- forward OnTicketLogin(playerid);
- enum datei
- {
- supporter,
- }
- new SpielerDatei[MAX_PLAYERS][datei];
- enum ticket
- {
- tagz,
- monatz,
- jahrz,
- SupportTicket,
- TicketErsteller[16],
- Frage[256],
- }
- new SuppTicket[SupportTickets][ticket];
- forward TicketLoad(playerid,sticket);
- forward SendSupporterMessage(color, string[]);
- new SuppTicketNummer[MAX_PLAYERS];
- new supanfrage = 0;
- new SupportT = 0;
- new stringZ[256];
- #define DIALOGID_TICKET 96
- #define DIALOGID_STRAFZETTEL 97
- #define DIALOGID_STRAFZETTEL2 98
- #define DIALOGID_TICKET2 99
- #define DIALOGID_TICKET3 100
- #define DIALOGID_TICKET4 101
- #define DIALOGID_TICKET5 102
- //==============================================================================
- public SendSupporterMessage(color, string[])
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(SpielerDatei[i][supporter] == 1)
- {
- SendClientMessage(i, color, string);
- }
- }
- }
- }
- public OnFilterScriptInit()
- {
- print("\n------------------------------------------------------");
- print("-------------------------|DZ|-------------------------");
- print("--------------------|Ticket-System|--------------------");
- print("---------------------|Version:0.1|--------------------");
- print("-------------|Updates auf www.dogzone.de.gg|----------");
- print("----------|Create by DogZone ak Daniel Faller|--------");
- print("------------------------------------------------------");
- print("----------------------|Commands|----------------------");
- print("USER: /sup | Erstellt als Nicht Supporter ein Ticket--");
- print("SUPPORTER : /sup | Öffnet ein Ticket von Usern.-------");
- print("RCON : /setsup | Mache ein User zum Supporter.--------");
- print("------------------------------------------------------\n");
- for(new i;i<SupportTickets;i++){
- new string[128];
- new temp[256];
- format(string, sizeof(string),"Ticket/TicketNummer_%d.ini",i);
- if(dini_Exists(string)){
- temp = dini_Get(string,"tagz");
- SuppTicket[i][tagz] = strval(temp);
- temp = dini_Get(string,"monatz");
- SuppTicket[i][monatz] = strval(temp);
- temp = dini_Get(string,"jahrz");
- SuppTicket[i][jahrz] = strval(temp);
- temp = dini_Get(string,"TicketErsteller");
- strmid(SuppTicket[i][TicketErsteller],temp,0,256,256);
- temp = dini_Get(string,"Frage");
- strmid(SuppTicket[i][Frage],temp,0,256,256);
- }}
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- format(stringZ, sizeof(stringZ), "Ticket/Spieler/%s.ini", Spieler(playerid));
- if(dini_Exists(stringZ)){OnTicketLogin(playerid);}
- else{
- new File: hFile = fopen(stringZ, io_write);
- if (hFile)
- {
- new var[32];
- format(var, 32, "supporter=%d\n", SpielerDatei[playerid][supporter]);fwrite(hFile, var);
- }
- fclose(hFile);
- OnTicketLogin(playerid);
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- for(new i = 0;i<SupportTickets;i++){new strings[256];format(strings, sizeof(strings),"Ticket/TicketNummer_%d.ini",i);if(dini_Exists(strings)){if(SuppTicket[i][SupportTicket] == playerid){fremove(strings);}}}
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[128];
- new tmp[128];
- new idx;
- cmd = strtok(cmdtext, idx);
- if (strcmp(cmd, "/sup", true) ==0 )
- {
- new tickets;
- new strings[256];
- new showstring[256];
- if(SpielerDatei[playerid][supporter] != 0)
- {
- for(new i = 0;i<SupportTickets;i++){
- format(strings, sizeof(strings),"Ticket/TicketNummer_%d.ini",i);
- if(dini_Exists(strings)){tickets++;format(showstring,sizeof(showstring),"Ticket ID: %d",i);SendClientMessage(playerid,ROT,showstring);}}
- format(showstring,sizeof(showstring),"Support-Tickets Vorhanden : %d.\nWelches Ticket möchten sie Öffnen ?",tickets);
- ShowPlayerDialog(playerid, DIALOGID_TICKET2, DIALOG_STYLE_INPUT, "Ticket-Display",showstring, "Bestätigen", "Abrechen");
- }
- else{
- supanfrage = playerid;
- format(showstring,sizeof(showstring),"Support-Ticket Nummer : %d\nTicket Starter : %s\nBitte geben sie Ihre Frage unten ins Feld ein(Bitte Kurzfassen).",SupportT,Spieler(playerid));
- ShowPlayerDialog(playerid, DIALOGID_TICKET, DIALOG_STYLE_INPUT, "Ticket-Display",showstring, "Bestätigen", "Abrechen");}
- }
- if (strcmp(cmd, "/setsup", true) ==0 )
- {
- tmp = strtok(cmdtext, idx);
- if(!tmp[0])return SendClientMessage(playerid,ROT,"Nutze /setsup [playerid]");
- new supporterS = strval(tmp);
- if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,ROT,"Sie sind kein Rcon Admin");
- if(playerid == supporterS)return SendClientMessage(playerid,ROT,"Nicht möglich !");
- if(SpielerDatei[supporterS][supporter] == 1){SpielerDatei[supporterS][supporter] = 0; SendClientMessage(playerid,ROT,"User ist nun nicht mehr Supporter");}
- else if(SpielerDatei[supporterS][supporter] == 0){SpielerDatei[supporterS][supporter] = 1; SendClientMessage(playerid,ROT,"User ist nun Supporter");}
- }
- return 0;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- //==============================================================================
- public OnTicketLogin(playerid)
- {
- if(IsPlayerNPC(playerid)) return 1;
- format(stringZ, sizeof(stringZ), "Ticket/Spieler/%s.ini", Spieler(playerid));
- new File: UserFile = fopen(stringZ, io_read);
- if ( UserFile )
- {
- new key[ 256 ] , val[ 256 ];
- new Data[ 256 ];
- while ( fread( UserFile , Data , sizeof( Data ) ) )
- {
- key = ini_GetKey( Data );
- if( strcmp( key , "supporter" , true ) == 0 ) { val = ini_GetValue( Data ); SpielerDatei[playerid][supporter] = strval( val ); }
- }
- fclose(UserFile);
- }
- return 1;
- }
- //==============================================================================
- public TicketLoad(playerid,sticket)
- {
- if(IsPlayerNPC(playerid)) return 1;
- new string2[64],showstring[256];
- format(string2, sizeof(string2), "Ticket/TicketNummer_%d.ini", sticket);
- new File: UserFile = fopen(string2, io_read);
- if ( UserFile )
- {
- new key[ 256 ] , val[ 256 ];
- new Data[ 256 ];
- while ( fread( UserFile , Data , sizeof( Data ) ) )
- {
- key = ini_GetKey( Data );
- if( strcmp( key , "tagz" , true ) == 0 ) { val = ini_GetValue( Data ); SuppTicket[sticket][tagz] = strval( val ); }
- if( strcmp( key , "monatz" , true ) == 0 ) { val = ini_GetValue( Data ); SuppTicket[sticket][monatz] = strval( val ); }
- if( strcmp( key , "jahrz" , true ) == 0 ) { val = ini_GetValue( Data ); SuppTicket[sticket][jahrz] = strval( val ); }
- if( strcmp( key , "SupportTicket" , true ) == 0 ) { val = ini_GetValue( Data ); SuppTicket[sticket][SupportTicket] = strval( val ); }
- if( strcmp( key , "TicketErsteller" , true ) == 0 ) { val = ini_GetValue( Data ); strmid(SuppTicket[sticket][TicketErsteller], val, 0, strlen(val)-1, 255); }
- if( strcmp( key , "Frage" , true ) == 0 ) { val = ini_GetValue( Data ); strmid(SuppTicket[sticket][Frage], val, 0, strlen(val)-1, 255); }
- format(showstring, 512, "Datum :[%d|%d|%d]\nTicket Nummer : %d\nTicket Starter : %s\nFrage: %s",SuppTicket[sticket][tagz],SuppTicket[sticket][monatz],SuppTicket[sticket][jahrz],sticket,SuppTicket[sticket][TicketErsteller],SuppTicket[sticket][Frage]);
- ShowPlayerDialog(playerid, DIALOGID_TICKET3, DIALOG_STYLE_MSGBOX, "Ticket :",showstring, "Bearbeiten", "Löschen");
- SuppTicketNummer[playerid] = sticket;
- }
- fclose(UserFile);
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOGID_TICKET)
- {
- if(response == 1)
- {
- new idx;
- new showstring[256],tmp[256];
- new tag,monat,jahr;
- tmp = strtok(inputtext, idx);
- getdate(jahr,monat,tag);
- format(showstring, 512, "Datum :[%d|%d|%d]\nTicket Nummer : %d\nTicket Starter : %s\nFrage: %s",tag,monat,jahr,SupportT,Spieler(supanfrage),inputtext);
- SendSupporterMessage(GELB,showstring);
- SendClientMessage(playerid,GELB,"Ticket Erfolgreich angelegt");
- SendClientMessage(playerid,GELB,"Info : Eine Antwort kann bis zu 24 Stunden dauern");
- new strings[256];
- format(strings, sizeof(strings),"Ticket/TicketNummer_%d.ini",SupportT);
- if(!dini_Exists(strings))
- {
- SuppTicket[SupportT][tagz] = tag;
- SuppTicket[SupportT][monatz] = monat;
- SuppTicket[SupportT][jahrz] = jahr;
- strmid(SuppTicket[SupportT][TicketErsteller],Spieler(supanfrage),0,256,256);
- strmid(SuppTicket[SupportT][Frage],inputtext,0,256,256);
- dini_Create(strings);
- dini_IntSet(strings,"tagz",tag);
- dini_IntSet(strings,"monatz",monat);
- dini_IntSet(strings,"jahrz",jahr);
- dini_IntSet(strings,"SupportTicket",playerid);
- format(showstring, 512, "%s",Spieler(supanfrage));
- dini_Set(strings,"TicketErsteller",showstring);
- format(showstring, 512, "%s",inputtext);
- dini_Set(strings,"Frage",showstring);
- SupportT++;
- }
- }
- else{supanfrage = 0;}
- }
- if(dialogid == DIALOGID_TICKET2)
- {
- if(response == 1)
- {
- new idx;
- new tmp[256];
- tmp = strtok(inputtext, idx);
- new ziffer = strval(tmp);
- TicketLoad(playerid,ziffer);
- }
- else{supanfrage = 0;}
- }
- if(dialogid == DIALOGID_TICKET3)
- {
- if(response == 1) // Bearbeiten
- {
- new strings[256];
- format(strings, sizeof(strings),"Supporter: %s öffnet ihr Ticket.",Spieler(playerid));
- SendClientMessage(SuppTicket[SuppTicketNummer[playerid]][SupportTicket],GELB,strings);
- format(strings, 256, "Tragen sie Bitte unten eine Antwort ins Feld");
- ShowPlayerDialog(playerid,DIALOGID_TICKET4,DIALOG_STYLE_INPUT,"Antwort :",strings, "Antworten", "Abrechen");
- }
- else // Remove
- {
- new strings[256];
- format(strings, sizeof(strings),"Ihr Ticket wurde von den Supporter: %s gelöscht.",Spieler(playerid));
- SendClientMessage(SuppTicket[SuppTicketNummer[playerid]][SupportTicket],GELB,strings);
- format(strings, sizeof(strings),"SuppTickets/TicketNummer_%d.ini",SuppTicketNummer[playerid]);
- if(dini_Exists(strings))
- {
- fremove(strings);
- SuppTicketNummer[playerid] = 0;
- }
- }
- }
- if(dialogid == DIALOGID_TICKET4)
- {
- if(response == 1) // Antworten
- {
- new strings[256];
- format(strings, sizeof(strings),"Supporter: %s schrieb : %s.",Spieler(playerid),inputtext);
- SendClientMessage(SuppTicket[SuppTicketNummer[playerid]][SupportTicket],GELB,strings);
- format(strings, 256, "Ticket Löschen ? oder Verlassen ?");
- ShowPlayerDialog(playerid,DIALOGID_TICKET5,DIALOG_STYLE_MSGBOX,"Antwort :",strings, "Löschen", "Verlassen");
- }
- else // Abrechen
- {
- new strings[256];
- format(strings, sizeof(strings),"Supporter: %s hat ihr Ticket wieder Geschlossen.",Spieler(playerid));
- SendClientMessage(SuppTicket[SuppTicketNummer[playerid]][SupportTicket],GELB,strings);
- SuppTicketNummer[playerid] = 0;
- }
- }
- if(dialogid == DIALOGID_TICKET5)
- {
- if(response == 1) // Remove
- {
- new strings[256];
- format(strings, sizeof(strings),"Ihr Ticket wurde von den Supporter: %s gelöscht.",Spieler(playerid));
- SendClientMessage(SuppTicket[SuppTicketNummer[playerid]][SupportTicket],GELB,strings);
- format(strings, sizeof(strings),"SuppTickets/TicketNummer_%d.ini",SuppTicketNummer[playerid]);
- if(dini_Exists(strings))
- {
- fremove(strings);
- SuppTicketNummer[playerid] = 0;
- }
- }
- else // Verlassen
- {
- new strings[256];
- format(strings, sizeof(strings),"Supporter: %s hat ihr Ticket wieder Geschlossen.",Spieler(playerid));
- SendClientMessage(SuppTicket[SuppTicketNummer[playerid]][SupportTicket],GELB,strings);
- SuppTicketNummer[playerid] = 0;
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment