Report Bug

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,


    ich bins nochmals zum dritten mal :D
    Wenn man sich zu einer ID portet, hat man damit einen Report geöffnet, kann sich dann aber nicht schreiben ;/
    Dann muss man erst wieder einen Report annehmen & schließen um normal zu schreiben.


    //=========[ REPORT SYS BY RYNN ]=========//
    new JustReported[MAX_PLAYERS];
    new PlayerNeedsHelp[MAX_PLAYERS];
    new ReportCall[MAX_PLAYERS];


    Bei OnPlayerConnect


    ReportCall[playerid] = 999; JustReported[playerid] = 0;


    Bei OnPlayerDisconnect


    if(ReportCall[playerid] != 999)
    {
    if(IsPlayerConnected(ReportCall[playerid]))
    {
    ReportCall[ReportCall[playerid]] = 999;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "[SUPPORT] %s Hat den Server verlassen! /Support automatisch geschlossen", sendername);
    SendClientMessage(ReportCall[playerid], COLOR_LIGHTGREEN,string);
    ReportCall[playerid] = 999;
    }


    if(strcmp(cmd, "/support", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(JustReported[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_RED, "Du kannst mindestens jede 10 Minuten eine /support Anfrage schreiben!");
    SendClientMessage(playerid, COLOR_RED, "Versuch es in ein paar Minuten nochmal !");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /support [Text]");
    return 1;
    }
    new stringrp[200];
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    format(stringrp, sizeof(stringrp), "Support von: [ID:%d]%s", playerid, sendername);
    ABroadCast(COLOR_RED,stringrp,1);
    format(stringrp, sizeof(stringrp), "Meldung: %s", (result));
    ABroadCast(0xE19898AA,stringrp,1);
    ABroadCast(0xA04C4CAA,"Tippe /aw [SpielerID]",1);
    SendClientMessage(playerid, 0x96C184AA, "Deine Support Anfrage wurde an das [LoH] Team gesendet.");
    JustReported[playerid] = 1;
    PlayerNeedsHelp[playerid] = 1;
    SetTimerEx("ReportReset", 600000, false, "i", playerid);
    }
    return 1;
    }
    if(strcmp(cmd, "/tickets", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_RED, "Du musst Eingeloggt sein !");
    return 1;
    }
    if (PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pSupporter] >= 1)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Benutze: /cr [SpielerID/SpielerName]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(ReportCall[playerid] != giveplayerid)
    return SendClientMessage(playerid,COLOR_YELLOW,"Du hast den gewählten Support nicht angenommen, erst lesen dann löschen!"); // naja ok und ehm wenn der report noch offen ist und der admin oder spieler einfach off geht soll der report einfach von allein schliessen...
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    format(string, sizeof(string), "** Adminstrator [ID:%d]%s hat den Support Chat geschlossen!", playerid, sendername);
    SendClientMessage(giveplayerid, blau, string);
    format(string, sizeof(string), "** Du hast den Support geschlossen!", playerid, sendername);
    SendClientMessage(playerid, blau, string);
    ReportCall[playerid] = 999;
    ReportCall[giveplayerid] = 999;
    }
    }
    }
    }
    }
    if(strcmp(cmd, "/ticketa", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_RED, "Du musst Eingeloggt sein !");
    return 1;
    }
    if (PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pSupporter] >= 1)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Benutze: /aw [SpielerID/SpielerName]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(PlayerNeedsHelp[giveplayerid] == 1)
    {
    PlayerNeedsHelp[giveplayerid] = 0;
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    format(string, sizeof(string), "SYSTEM: %s hat den Support von: [ID:%d] %s Angenommen, der Report ist nun nicht mehr verfügbar!", sendername, giveplayerid, giveplayer);
    ABroadCast(COLOR_RED, string, 1);
    //SendClientMessage(playerid, COLOR_RED,"Schreib nun mit dem Spieler per Chat du bist Automatisch Verbunden.");
    SendClientMessage(playerid, COLOR_RED,"Du kannst nun mit dem Spieler schreiben, mit /cr schließt du das Ticket!");
    format(string, sizeof(string), "** Adminstrator [ID:%d] %s hat deine Support Anfrage Angenommen! Du kannst nun mit ihm schreiben.", playerid, sendername);
    SendClientMessage(giveplayerid, weiss, string);
    //SendClientMessage(giveplayerid, COLOR_LIGHTGREEN,"Du kannst nun per Chat mit dem Admin Schreiben.");
    //SendClientMessage(playerid, COLOR_LIGHTGREEN,"Du kannst nun per Chat mit dem Spieler Schreiben.");
    ReportCall[giveplayerid] = playerid;
    ReportCall[playerid] = giveplayerid; //Verbinde zum Reporter
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Der Spieler hat keine Support anfrage !");
    return 1;
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein Administrator ! ");
    return 1;
    }
    }
    return 1;
    }