Antispam system entwickeln

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
  • Hi Leute :)
    Ich bin auf diesem Forum und in der Welt der SAMP-Serverprogrammierung ncoh etwas neu :/
    Darum krieg ich folgendes nicht hin :( :


    Wenn ein Spieler seine Nachricht 3 mla wiederholt, soll er vom Server gekickit werden.
    Leider hab ich ein Problem mit den folgenden Teilbereichen:


    1. Wie initialisiere ich zwei globale Arrays, in dem die letzte Nachricht und die vorletzte Nachricht eingespeichert werden ?
    -> Mein Vorschlag:


    new Alt[MAX_PLAYERS][1024];
    new SehrAlt[MAX_PLAYERS][1024];


    Das klappt ja noch :/


    2. Wie frage ich ab, ob die Nachricht 3mal wiederholt wurde ???
    -> Mein Vorschlag:


    if( text == Alt[playerid][?] && text == SehrAlt[playerid][?])
    {
    .....
    return false;
    }


    Doch: Das funktioniert irgendwie nicht :( (Grund sind die scheinbar falschen Arrayklammern)


    3. Den aktuell abgesendeten Text der letzten Variable (zuletzt gesendete Nachricht) zuweisen, und den älteren Text dem ganz alten Text zuweisen.
    Hier habe ich schon alles versucht. format.. einfache Zuweisung mit = .. abe rnichts funktioniert.


    So sollte das aber aussehen:


    SehrAlt = "";
    Alt = SehrAlt;
    Text = Alt;


    (Natürlich soll diese Zuweisung erst nach dem Abfragen der Messages statt finden ;), sonst gibts Fehler...)


    Kann mir das mal jemand bitte verbessern :) danke!

    "Mathematik ist dein FEIND! Also solltest du so viel wie möglich über ihn wissen !! !"