GUI Ticket System

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo Liebe Samp Comunity,


    Habe mal eine frage kann mal jemand ein Fs oder ein Tut hier machen über ein Ticketsystem ?
    Alles was es können sollte :


    /report Um ein Ticket zu den Admins Schicken
    /Tickets Das soll der befehl sein das Admins sehen welche Tickets noch offen sind zb so


    Offene Tickets
    Jeffro_Hernandez 0 Brauche Hilfe


    Jeffro... ist der Name des Spielers die 0 die Playerid und Brauche Hilfe seine Frage.


    /Supporten 0
    Das soll der Befehl sein um das Ticket zu Öffnen und Chaten mit dem Admin ermöglichen am besten mit /w id text


    /CTicket das soll der befeh sein um das Ticket zu zu machen


    /Lticket 0 Das soll der befehl sein um ein Ticket zu Löschen


    Das soll bitte mit Dialogen sein.
    Wäre echt super nett wenn das von euch jemand machen könnte den die meisten hier speichern einfach eine Report Log das bringt aber nix weil der Server auf einen Sponsoring Server liegt und dort brauch man das nicht.
    Denn dann müste man immer auf sein Cp und sich ein Backup laden und die report Log öffnen das ist aber unutz arbeit.
    Ich möchte das man das alles ingame machen kann :) Vielen danck in vorraus


    Klick meh !! du

  • Ok also ich habe jetzt ein Ticketsystem gefunden das auch soweit funktioniert.
    Das Ticketsystem von HappyMeal. Nur das problem ist das wenn man ein Ticket schreibt wird bei den Admins das angezeigt das ein Ticket einging. Soweit so gut blos man kann nicht den Spieler Supporten also es gibt keine /w id Funktion das mir erlaubt mit dem Spieler zu Quatschen. Wäre toll wen das jemand vileicht einbauen könnte :)
    Ich selber bin zu doof dafür :(


    // This is a comment
    // uncomment the line below if you want to write a filterscript
    #define FILTERSCRIPT


    #include <a_samp>


    #if defined FILTERSCRIPT
    #define GRAD2 0xBFC0C2FF
    #define GRAD5 0xBFC0C2FF
    forward ticketsys(string[]); //ticketsystem log
    new reportname[MAX_PLAYER_NAME+1];
    new ticketmsg[256+1];




    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" GUI Ticket System by HappyMeal");
    print("--------------------------------------\n");
    return 1;
    }


    public OnFilterScriptExit()
    {
    return 1;
    }


    #else


    main()
    {
    print("\n----------------------------------");
    print(" GUI Ticket System by HappyMeal");
    print("----------------------------------\n");
    }


    #endif







    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/ticket", cmdtext, true, 10) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    GetPlayerName(playerid,reportname,MAX_PLAYER_NAME);
    format(ticketmsg,256,"Herzlich Wilkommen im Ticket System\n\nBenutzer:\t%s\n\nBitte teile uns dein Problem mit:",reportname);
    ShowPlayerDialog(playerid,100,DIALOG_STYLE_INPUT,"Ticket System by HappyMeal",ticketmsg,"Absenden","Verlassen");
    return 1;
    }
    }
    return 0;
    }




    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == 100)
    {
    if(response)
    {
    new string[256];
    new idx;
    new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(inputtext);
    while ((idx < length) && (inputtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = inputtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, GRAD2, "FEHLER !");
    return 1;
    }
    format(string, sizeof(string), " | %s hat ein Ticket hinterlassen: [%s] |", sendername, (result));
    SendClientMessage(playerid, GRAD5, string);
    format(string, sizeof(string), "[TICKET] %s hat ein neues Ticket eingesendet : [%s] |", sendername, (result));
    SendClientMessage(playerid, GRAD2, string);
    ticketsys(string);
    GameTextForPlayer(playerid, "Ticket Gespeichert",5000,3);
    }
    else
    {
    SendClientMessage(playerid, GRAD2, "Ticket System Verlassen");
    }
    return 1;
    }
    return 1;

    }
    public ticketsys(string[])
    {
    new eintragen[256];
    format(eintragen, sizeof(eintragen), "%s\n",string);
    new File:hFile;
    hFile = fopen("tickets.log", io_append);
    fwrite(hFile, eintragen);
    fclose(hFile);
    }


    Klick meh !! du