Schimpfwörter System - Problem (Bei jeder Texteingabe kriege ich Warnung)

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 liebe Community,


    also zwar habe ich heute auch ein Thema erstellt über mein Problem im Schimpfwörter System, aber dieses Problem ist ein bisschen anders als das Problem, das ich im letzten Thread hatte.
    Nun, fangen wir mal an.
    Also ich habe mir ein Schimpfwörter System gescriptet, dass viele Schimpfwörter nicht zulässt. Falls der Spieler versuchen sollte, einer dieser Schimpfwörter zu schreiben, so wird er eine Warnung bekommen und eine Variable wird +1 gemacht.
    Falls diese Variable auf 3 kommt, wird der Spieler automatisch gekickt.


    Aber ich Tippe z.B. "H*R**S**N" ein, kriege ich die Warnung vom Server. +
    Tippe ich "t", kriege ich auch eine Warnung.


    Was war mein Fehler?



    public OnPlayerText(playerid, text[])
    {
    for(new i=0; i<sizeof(SchimpfWoerter); i++)
    {
    if(strfind(text,SchimpfWoerter[i],true)!=1)
    {
    CussTry[playerid] ++;
    SendClientMessage(playerid,Rot,"Schimpfwörter sind hier strengstens verboten!");

    if(CussTry[playerid] == 3)
    {
    SendClientMessage(playerid,Orange,"*** ACHTUNG! ***");
    SendClientMessage(playerid,Weiß,"Du hast zu viele Schimpfwörter geschrieben und wurdest deshalb gekickt.");
    SendClientMessage(playerid,Weiß,"Dies ist ein Roleplay Server, hier werden garkeine Schimpfwörter geduldet!");
    SendClientMessage(playerid,Weiß,"Um weiterzuspielen, joine wieder auf den Server.");
    SetTimerEx("Kick_Player",500,false,"i",playerid);
    }
    return 0;
    }
    }
    return 1;
    }


  • new SchimpfWoerter[][] =
    {
    {"Hurensohn"},{"Bastard"},{"Spasti"},{"Gay"},{"verfickter Affe"},{"Schlampe"},
    {"Mutterficker"},{"Muschikopf"},{"Nuttenwurst"},{"Vixxer"},{"Vixxa"},{"Wixxer"},
    {"Wixxa"},{"Hure"},{"Anal"},{"Schlampenficker"},{"Ficken"},{"Fick Dich"},{"Muschidreck"},{"Bastardhure"}
    };

  • Zitat

    if(strfind(text,SchimpfWoerter[i],true)!=1)


    Dir wurde aber gesagt,dass du != -1 verwenden sollst und nicht != 1.
    -1 bedeutet, es wurde nicht gefunden.
    Heißt also im Umkehrschluss,wenn der Wert nicht -1 ist,dann wurde es gefunden.
    Daher != -1.