Problem mit BadWord-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
  • Guten Tag,
    ich habe mir ein kleines BadWord System gemacht, und verwende dafür eine stock-Funktion



    stock CheckBadWord(playerid,text[])
    {
    for(new i = 0;i<sizeof BadWords;i++)
    {
    if(strfind(text,BadWords[i],true))
    {
    new string[128];
    Mutecounter[playerid]=SetTimerEx("Mutetimer",1000*60*10,0,"i",playerid);
    format(string,sizeof(string),"[System] %s wurde für 10 Minuten gemutet. Grund: Beleidigung.",SpielerName(playerid),1000*60*10);
    SendClientMessageToAll(drot,string);
    Gemuted[playerid]=true;
    return 1;
    }
    }
    return 0;
    }


    es funktioniert fast alles... man wird gemutet und die Meldung kommt, doch warum kommt das Schimpfwort trotzdem im Chat ?


    MfG
    Brianski12

    GELD verdienen durch Websites angucken ? (Klick hier oder den Banner)


  • Kannst du das bitte nochmal auf Deutsch sagen, so das man es versteht ?


    du gibst nur bei deiner funktion 1 beziehungsweise 0 zurück du musst dies unter OnPlayertext tun.
    Warum benutzt du eine Timer benutz doch Timestamps damit entlastest du dein skript zusätzlich noch.
    Du solltest die bösen Wörter auch oder OnPlayerCommandtext abprüfen da man sonst die möglichekeit hat über teamchats oder sonstige chats wo der Textinhalt per befehl
    gesendet wird an einen spieler.