Ticketsystem (von Vincent Petritz)

  • Ticketsystem (von Vincent Petritz)

    [webdisk]61[/webdisk]Ein kleines Script welches kinderleichte Handhabung des Supports ermöglicht.

    Ticketsystem
    von Vincent Petritz

    Sehr geehrte Leser,
    hiermit möchte ich euch ein kleines Ticketsystem vorstellen welches aufgrund dieses Wunsches entstand: forum.sa-mp.de/werbung-events-…lterscript-report-system/
    Es ist möglich sich als Administrator zu identifizieren, sich somit in das Ticketsystem einzuloggen & Tickets zu bearbeiten. Oder man ist der "einfache Nutzer" und nimmt über das Ticketsystem Kontakt zu den Administratoren/zum Team auf. Administratoren haben den Vorteil, eine klare Übersicht über die Tickets zu haben, dies ermöglicht sauberes abarbeiten der Tickets.
    Ansonsten möchte ich nicht viel sagen, bis auf das:
    Man muss/sollte im Script, in der 5. Zeile, den "PVAR_NAME" ändern:
    [pwn]#define PVAR_NAME "Admin"[/pwn]
    denn dieser wird zur Identifizierung gebraucht. Man sollte daraus schließen dass man nun auch im Script diesen PVar setzen muss, Beispiel:
    [pwn]SetPVarInt(playerid, "Admin", 1);[/pwn]
    Alles was über 0 ist, erkennt das Script als Admin an, alles andere, nicht.

    Die Befehle lauten wie folgt:
    • /tlogin
    • /tsup [Text]
    • /topen [TicketID]
    • /tclose
    • /tchat [Text]
    • /tmsg [Text]

    Links:
    sscanf & ocmd Download
    Pastebin-Link
    Ich wünsche euch recht viel Spaß, erwarte dennoch ein "Danke" sofern es euch gefällt & ihr es nutzt, das ist denke ich angebracht. :)
    - Vincent Petritz.


    [webdisk]60[/webdisk] [webdisk]62[/webdisk]
  • Ist der Code-Abschnitt hier richtig?
    [pwn]
    stock UpdateSupportTextdraws()
    {
    new Ticketzahl,
    str1[100],
    str2[1000];
    for(new playerid; playerid < GetMaxPlayers(); playerid++) {
    if(GetPVarInt(playerid, "ticket_opened")) {
    if(!Ticketzahl)
    format(str2, sizeof(str2), "%d - %s", playerid, GetName(playerid));
    else
    format(str2, sizeof(str2), "%s~n~%d - %s", str2, playerid, GetName(playerid));
    Ticketzahl++;
    }
    }
    format(str1, sizeof(str1), "%d Ticket(s)", Ticketzahl);
    TextDrawSetString(SupportDraws[1], str2);
    TextDrawSetString(SupportDraws[0], str1);
    }[/pwn]

    Ich habs ähnlich eingebaut, wenn ich aber nun einen Report schreibe oder jemand einen Report schreibt, steht immer "0 Ticket(s)" dort. :/

    Hier, habs in einer for-Schleife eingebaut, welche sich in einem Timer befindet und dieser wird jede Sekunde aufgerufen:
    [pwn]
    new Ticketzahl;
    new tStr1[100];
    new tStr2[1000];
    if(TicketOpened)
    {
    if(!Ticketzahl)
    {
    format(tStr2, sizeof(tStr2), "%d - %s", i, GetName(i));
    }
    else
    {
    format(tStr2, sizeof(tStr2), "%s~n~%d - %s", tStr2, i, GetName(i));
    Ticketzahl++;
    }

    }
    if(Spieler[i][pAdmin] > 0)
    {
    TextDrawShowForPlayer(i, SupportDraws[0]);
    TextDrawShowForPlayer(i, SupportDraws[1]);
    }
    else
    {
    TextDrawHideForPlayer(i, SupportDraws[0]);
    TextDrawHideForPlayer(i, SupportDraws[1]);
    }[/pwn]

    Danke im Voraus. :)
    Mit freundlichen Grüßen, Ap0llinaris.

    [Blockierte Grafik: http://img6.imagebanana.com/img/lb4rwabb/newsig111.png]
  • Hallo Vincent,

    also erstmal muss ich sagen Top Ticketsystem,
    jedoch gibt es einen kleinen Fehler.

    Das mit
    [pwn]SetPVarString[/pwn] [pwn]ticket_text[/pwn] [pwn]GetPVarString[/pwn]

    das funktioniert nicht so wirklich, könntest du noch mal drüberschauen und dan die Lösung posten ?
    Er gibt halt dem Admin/ Supporter nicht den Text wieder den der Fragensteller gestellt hat.

    Danke
    MFG
    Selfmade