Player Name checken lassen?

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
  • Hallo,


    ich möchte ein paar Namens verbieten, wie geht das? Hab mich schon dumm und dähmlich tot gegoogelt aber nichts gefunden (aus irgendeinem grund kam da irgendein ergebnis das "SA:MP chicken" hiess 8|) deshalb frage ich hier ;)
    vielleicht kann mir jemand ne vorlage machen?


    kthx

  • ich gucke mal hatte das mal in ein script gesehen.
    kann ich dir ja mal zeigen =)
    ** Wenn ich das noch habe **


    // Edit: Habs schau dir mal das Script von FoD an in der M-Bot include mach einfach mal "BanNames" ,da kannste dir ein beispiel nehmen =)

    Einmal editiert, zuletzt von [DCR]Patty ()

  • #define MAX_BADNAMES 3
    new Badnames[MAX_BADNAMES][] = {
    {"Arschkrampe"},
    {"Hater"},
    {"Kobold"}
    };



    und dann bei OnPlayerConnect:



    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof name);
    for(new i = 0; i < MAX_BADNAMES; i++)
    {
    if(!strcmp(name,Badnames[i],true))
    {
    Kick(playerid);
    }
    }


    Ist jetzt so aussem Kopf, kA ob das geht.


    Wenn du neue Wörter adden willst, einfach MAX_BADNAMES erhöhen.

  • So, aber anstatt zu kicken würde ich einfach seinen Namen ändern lassen ^^ Nebenbei 8D, wenn du den Text direkt in die Definition eingibst wie du, kannst du auch den Array vom Kompiler "zählen" lassen, also einfach leer lassen.


    new Badnames[][] = { //Namen die verboten sind
    {"Arschkrampe"},
    {"Hater"},
    {"Kobold"}
    };


    new RandomNames[][] = { //Beispiel Namen für Spieler, die mit falschen Namen hereinkommen
    {"Jürgen"},
    {"Hannes"},
    {"Thorsten"},
    {"Leopold"},
    {"Wasabi"},
    {"Aldiman"},
    {"Termifaker"}
    };


    public OnPlayerConnect(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    for(new i = 0; i < sizeof(Badnames); i++)
    {
    if(!strcmp(name,Badnames[i],true))
    {
    new rand = random(sizeof(RandomNames)), string[128];
    SetPlayerName(playerid, RandomNames[rand]);
    format(string, sizeof(string), "Da du mit einem unangebrachtem Namen auf den Server gekommen bist, wurde dein Name zu %s verändert!", RandomNames[rand]);
    SendClientMessage(playerid, 0xFFFFFF00, string);
    break;
    }
    }
    return 1;
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • erstma vielen dank für so viele antworten :thumbup:
    zweitens funzt es nicht:

    Code
    C:\SAMP Server\gamemodes\shit.pwn(374) : warning 225: unreachable code


    bezieht sich auf:
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    for(new i = 0; i < sizeof(Badnames); i++)
    8| was nun?

  • Zacharis, lösch bitte das return aus der Zeile 373, Danke!

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!