Anti-Repeat 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
  • Ich suche ein Anti-Repeat system. Wenn man das gleiche noch einmal sendet, sollte eine Nachricht erscheinen wie diese auf dem Screen. Man sollte nicht den gleichen Text schreiben. Wäre echt cool wenn ihr mir helft, weil ich weiß nicht wie ich das hin bekommen soll. Ich habe bisher auch nichts ähnliches gefunden.



    MfG Head

  • Machs besser so das man nicht soviele Narichten in einer bestimmten Zeit Senden kann, das System ist in meinen Augen kacke. Hier so würde ich es machen.


    new PlayerTextSpam[MAX_PLAYERS];


    if(PlayerInfo[playerid][pAdmin] < 1)
    {
    SetTimerEx("ResetTextSpam", 2000, false, "d", playerid);
    PlayerTextSpam[playerid] = PlayerTextSpam[playerid] + 1;
    if(PlayerTextSpam[playerid] == 4)
    {
    format(string, sizeof(string), "AdmCmd: %s wurde vom Anti-Spam System vom Server gekickt.", GetName(playerid));
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    Kick(playerid);
    }
    }


    else if(PlayerTextSpam[playerid] == 2)
    {
    SendClientMessage(playerid, COLOR_WHITE, "{FF003F}ANTI-SPAM: {FFFFFF}Unterlass das Spamen sonst wirst du vom Server gekickt!");
    return 0;
    }


    public ResetTextSpam(playerid)
    {
    PlayerTextSpam[playerid] = 0;
    }

  • also es gab errors aber die habe ich weg gemacht...ich werde es mal kurz testen gehen :)


    So habe ich es jetzt unter OnPlayerText:
    if(Spieler[playerid][AdminLevel] < 1)
    {
    SetTimerEx("spammoff", 2000, false, "d", playerid);
    PlayerTextSpam[playerid] = PlayerTextSpam[playerid] + 1;
    if(PlayerTextSpam[playerid] == 4)
    {
    new string[128];
    new name[128];
    GetPlayerName(playerid,name,sizeof(name));
    format(string, sizeof(string), "AdmCmd: %s wurde vom Anti-Spam System vom Server gekickt.",name);
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    Kick(playerid);
    }
    }
    else if(PlayerTextSpam[playerid] == 2)
    {
    SendClientMessage(playerid, COLOR_WHITE, "{FF003F}ANTI-SPAM: {FFFFFF}Unterlass das Spamen sonst wirst du vom Server gekickt!");
    return 0;
    }