Beiträge von zombie.modder

    Hi,
    vielleicht kennt ihr es, irgendein Noob kommt auf den Server mit dem Namen z.B. Trottel und schreibt sofort Penner huso und so einen Mist. Das Könnt ihr verhindern!


    Zitat

    Was sind Badnames?


    Badnames sind nicht erlaubte Namen z.B. Trottel^^


    Zitat

    Was sind Badwords?


    Badwords sind nicht erlaubte Wörter z.B. Huso oder Penner oder so


    Zitat

    Wie kann man das verhindern?


    Jetzt zeige ich es euch :)
    Badnames:


    Geht zu OnPlayerConnect, damit wir den n00b gleich am Anfang schon kicken können wenn der Name unerlaubt ist.


    So sieht alles aus


    public OnPlayerConnect(playerid)
    {
    new playrname[16]; //Macht playrname womit wir später gucken ob der Name verboten ist
    GetPlayerName(playerid, playrname, sizeof(playrname)); //kriegt den Namen des Spielers
    new string[255];
    if(!strfind(playrname,"trottel",true)) //wenn der Server im playrname trottel findet
    {
    SendClientMessage(playerid,Rot,"Du wurdest gekickt weil du einen nicht erlaubten Namen hast"); //Sendet ihm eine Nachricht
    Kick(playerid); //kickt den Spieler
    format(string, sizeof(string), "´%s wurde vom Server gekickt. Grund: Unerlaubter Name", playrname); //macht einen String, %s ist der Name anderes Bsp. %d ist eine Zahl^^
    SendClientMessageToAll(Rot,string); //Sendet den String den wir oben gemacht haben an alle
    return 0;
    }
    return 1;
    }


    Prima das kann man mit mehreren Namen machen


    public OnPlayerConnect(playerid)
    {
    new playrname[16]; //Macht playrname womit wir später gucken ob der Name verboten ist
    new string[255];
    GetPlayerName(playerid, playrname, sizeof(playrname)); //kriegt den Namen des Spielers
    if(!strfind(playrname,"trottel",true)) //wenn der Server im playrname trottel findet
    {
    SendClientMessage(playerid,Rot,"Du wurdest gekickt weil du einen nicht erlaubten Namen hast"); //Sendet ihm eine Nachricht
    Kick(playerid); //kickt den Spieler
    format(string, sizeof(string), "´%s wurde vom Server gekickt. Grund: Unerlaubter Name", playrname); //macht einen String, %s ist der Name anderes Bsp. %d ist eine Zahl^^
    SendClientMessageToAll(Rot,string); //Sendet den String den wir oben gemacht haben an alle
    return 0;
    }
    if(!strfind(playrname,"idiot",true)) //wenn der Server im playrname idiot findet
    {
    SendClientMessage(playerid,Rot,"Du wurdest gekickt weil du einen nicht erlaubten Namen hast"); //Sendet ihm eine Nachricht
    Kick(playerid); //kickt den Spieler
    format(string, sizeof(string), "´%s wurde vom Server gekickt. Grund: Unerlaubter Name", playrname); //macht einen String, %s ist der Name anderes Bsp. %d ist eine Zahl^^
    SendClientMessageToAll(Rot,string); //Sendet den String den wir oben gemacht haben an alle
    return 0;
    }
    if(!strfind(playrname,"cheater",true)) //wenn der Server im playrname cheater findet
    {
    SendClientMessage(playerid,Rot,"Du wurdest gekickt weil du einen nicht erlaubten Namen hast"); //Sendet ihm eine Nachricht
    Kick(playerid); //kickt den Spieler
    format(string, sizeof(string), "´%s wurde vom Server gekickt. Grund: Unerlaubter Name", playrname); //macht einen String, %s ist der Name anderes Bsp. %d ist eine Zahl^^
    SendClientMessageToAll(Rot,string); //Sendet den String den wir oben gemacht haben an alle
    return 0;
    }
    return 1;
    }


    Gut, jetzt kommen wir zu Badwords - verbotene Wörter
    Die müssen bei OnPlayerText eingefügt werden


    public OnPlayerText(playerid,text[])
    {
    if(!strfind(text,"fuck",true)) //wenn er im Text fuck findet
    {
    SendClientMessage(playerid,Rot," Keine Schimpfwörter sonst wirst du gekickt!");
    return 0;
    }
    if(!strfind(text,"arsch",true))
    {
    SendClientMessage(playerid,Rot," Keine Schimpfwörter sonst wirst du gekickt!");
    return 0;
    }
    if(!strfind(text,"huso",true))
    {
    SendClientMessage(playerid,Rot," Keine Schimpfwörter sonst wirst du gekickt!");
    return 0;
    }
    if(!strfind(text,"hure",true))
    {
    SendClientMessage(playerid,Rot," Keine Schimpfwörter sonst wirst du gekickt!");
    return 0;
    }
    if(!strfind(text,"penner",true))
    {
    SendClientMessage(playerid,Rot," Keine Schimpfwörter sonst wirst du gekickt!");
    return 0;
    }
    if(!strfind(text,"wixxer",true))
    {
    SendClientMessage(playerid,Rot," Keine Schimpfwörter sonst wirst du gekickt!");
    return 0;
    }
    if(!strfind(text,"wichser",true))
    {
    SendClientMessage(playerid,Rot," Keine Schimpfwörter sonst wirst du gekickt!");
    return 0;
    }
    if(!strfind(text,"schwanz",true))
    {
    SendClientMessage(playerid,Rot," Keine Schimpfwörter sonst wirst du gekickt!");
    return 0;
    }
    return 1;
    }


    Fertig, nun habt ihr Badnames und Badwords! Man kann es auch aus Dateien lesen aber das is zu kompliziert find ich


    MfG


    zombie.modder


    PS: Sry für diese Schimpfwörter :P






    (c)zombie.modder

    ich denke so is es:


    0|The State|~w~Gun Shop 2|No-one|-2288.0676|-79.3344|35.3203|459.6791|-88.6443|999.5547|5|5000000|0|0|1|4|100|500|100


    Rot= Koordinaten des Einganges
    Grün=Koordinaten des Interiors (?)
    Blau= Interior ID

    Das musst du bei OnPlayerRequestClass machen!


    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); //setzt die Position des Spielers
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); //Setzt die Kamera
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); //Bestimmt wo die Kamera hingucken soll
    return 1;
    }

    public OnGameModeInit() {
    UsePlayerPedAnims();
    SetTimer("werbung",1800000,1);

    SetGameModeText("German|Stunt|Deathmatch|Race|Job|Mission");

    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    AddPlayerClass(107,2487.7603,-1647.6504,14.0703,166.2274,0,0,0,0,0,0); // groveskin1
    AddPlayerClass(106,2516.7937,-1672.6407,13.9592,31.3404,0,0,0,0,0,0); // groveskin2
    AddPlayerClass(105,2486.5361,-1687.0516,13.5104,351.2386,0,0,0,0,0,0); // groveskin3
    AddPlayerClass(104,1922.9471,-1120.0610,26.1103,167.7374,0,0,0,0,0,0); // ballas1
    AddPlayerClass(102,1906.1509,-1117.6163,25.6641,210.8422,0,0,0,0,0,0); // ballas2
    AddPlayerClass(103,1891.2898,-1116.4241,25.2734,151.3660,0,0,0,0,0,0); // ballas3
    AddPlayerClass(108,1125.8937,-2037.6700,69.8833,327.2281,0,0,0,0,0,0); // vagoz skin1
    AddPlayerClass(109,1125.0195,-2004.8448,69.7182,313.8632,0,0,0,0,0,0); // vagoz skin2
    AddPlayerClass(110,1124.3196,-2069.7773,69.8203,311.1928,0,0,0,0,0,0); // vagoz skin3


    UserPlayerPedAnims(); ohne r nach Use

    new Menu:CurrentMenu = GetPlayerMenu(playerid); // checkt ob der Player das Menü Skaten offen hat


    Falsch, das ist nur da um herauszufinden welches Menü der Spieler gerade hat, das ist ob er das Menü Skaten hat:


    if(CurrentMenu == Skaten)


    ^^

    Hm ka probier es so:

    Ganz oben
    forward geldcheck(playerid);


    OnGameModeInit


    SetTimer("geldcheck",5000,1



    Außerhalb eines Callbacks



    public geldcheck(playerid)
    {
    new geld = GetPlayerMoney(playerid),
    if(geld > 0)
    {
    print("Spieler hat mehr Geld als 0$");
    }
    else
    {
    print("Spieler hat weniger Geld als 0$");
    return 1;
    }

    Ungetestet und ausm Kopf


    MfG