/report in daei speicher+abrufen

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
  • Also moin erstmal ;)^^
    Ich habe da mal eine frage!
    Wie kann ich, wenn ein spieler "/report hilfe ein cheater" macht(text ist ausgedacht^^) dass es in einer datei gespeichert wird, und per
    /reportannehmen (oder so ähnlich^^) dann von einem admin abgerufen werden kann?


    MfG
    Dominik


    PS: ja ich habe mir dini angeguckt und nein ich verstehe das i-wie net ^^


    PS: Das mit dem speichern ist ja kein problem^^habe folgendes FS gefunden:^^



    // 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");
    print("--------------------------------------\n");
    return 1;
    }


    public OnFilterScriptExit()
    {
    return 1;
    }


    #else


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


    #endif







    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/ticket1", 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",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));
    ABroadCast(playerid, GRAD5, string);
    format(string, sizeof(string), "[TICKET] %s hat ein neues Ticket eingesendet : [%s] |", sendername, (result));
    ABroadCast(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);
    }

  • Okay habe jetzt folgenden command:


    if (strcmp("/areport", cmdtext, true, 10) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new Reads[256];
    new File:hFile2=fopen("tickets/reportt.ini", io_read);
    GetPlayerName(playerid,reportname,MAX_PLAYER_NAME);
    fread(hFile2, Reads);
    //ABroadCast(0xA29C00FF,Reads,1);
    SendClientMessage(playerid,COLOR_RED,Reads);


    fclose(hFile2);
    format(ticketmsg2,256,"Supporter: %s",reportname);
    //_________________________ab hier nicht beachten^^ nur für überprüfungszwecke^^
    if(fexist("tickets/reports.ini"))
    {
    JoinCounter = dini_Int("tickets/reports.ini", ticketmsg2);
    }
    else
    {
    dini_Create("tickets/reports.ini");
    dini_IntSet("tickets/reports.ini", ticketmsg2, 0);
    }
    reports = reports + 1;
    dini_IntSet("tickets/reports.ini", ticketmsg2, reports);
    return 1;
    }
    }


    So nun will ich aber das Reads aus der datei gelöscht wird.also das, was er herrausgegeben hat....
    und mitfremove(Reads);gehts leider net...


    MfG