Nur bestimmte Namen zulassen ?

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
  • Hey, Leute


    hab zwei kleine Fragen, und noch in der SuFu noch nichts dazu gefunden 8) :


    1. Wie kann ich nur "..._..." zulassen ? Beispiel: "John_Smith" soll auf den Server connecten können und "Beispielname" nicht ...


    2. Damit man nicht einfach ein Tutorial überspringt indem man sich ausloggt, oder halt eine Einweißung muss ich da bei Beginn des Tutorials eine Variable setzen die auf 0 steht, und beim beenden des Tutorials auf 1 und das dann speichern ?

  • Meinst du das: ?


    Unter OnPlayerConnect:

    Spoiler anzeigen
    new string[256];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    gJoinLeave[playerid] = 1;
    new BadNameChars[][2] = {"/","`","~","!","@","#","$","%","^","&","*","(",")","-","=","+",".",",","<",">","[","]","{","}","|",":",";","'","0","1","2","3","4","5","6","7","8","9"};
    for(new i=0;i<sizeof(BadNameChars);i++)
    {
    if(strfind(sendername,BadNameChars[i],true) != -1 || strlen(sendername) > MAX_PLAYERS)
    {
    format(string, sizeof(string), "[SERVER]: %s wurde gekickt, Grund: Non-Rp Name", sendername);
    SendClientMessageToAll(ROT, string);
    SendClientMessage(playerid, GELB, "[SERVER]: Bitte wähle einen anderen Namen, zB. Hans_Mustermann");
    format(string,sizeof(string),"Blabla/Accounts/%s.ini",sendername);
    fremove(string);
    Kick(playerid);
    return 1;
    }
    }
    new namestring = strfind(sendername, "_", true);
    if(namestring == -1)
    {
    format(string, sizeof(string), "[SERVER]: %s wurde gekickt, Grund: Non-Rp Name", sendername);
    SendClientMessageToAll(ROT, string);
    SendClientMessage(playerid, GELB, "[SERVER]: Bitte wähle einen anderen Namen, zB. Hans_Mustermann");
    format(string,sizeof(string),"Blabla/Accounts/%s.ini",sendername);
    fremove(string);
    Kick(playerid);
    return 1;
    }
    if (strlen(sendername) < 6)
    {
    format(string, sizeof(string), "[SERVER]: %s wurde gekickt, Grund: Non-Rp Name", sendername);
    SendClientMessageToAll(ROT, string);
    SendClientMessage(playerid, GELB, "[SERVER]: Bitte wähle einen anderen Namen, zB. Hans_Mustermann");
    format(string,sizeof(string),"Blabla/Accounts/%s.ini",sendername);
    fremove(string);
    Kick(playerid);
    return 1;
    }


    Stock:


    Spoiler anzeigen
    stock Spielername(playerid)
    {
    new NoName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,NoName,sizeof NoName);
    return NoName;
    }

  • @ Mike: Thx :D


    Farid: Ich meinte es eigentlich so, dass man ein " _ " im Namen haben muss/sollte aber trotzdem danke ^^


    //edit: bekomme 1 Error:


    Code
    GetPlayerName(playerid,name,sizeof(name));


    Code
    error 017: undefined symbol "name"

    Einmal editiert, zuletzt von alex7891 ()