Ich suche sowas das man sich nicht Registrieren kann wenn der name nicht Name_Nachname ist also dann kann der garnicht auf den Server Joinen..
Kennt jemand sowas?
Ich suche sowas das man sich nicht Registrieren kann wenn der name nicht Name_Nachname ist also dann kann der garnicht auf den Server Joinen..
Kennt jemand sowas?
Das kannst du mit Hilfe von "strmatch" machen, indem du beim Connecten der Namen auf ein bestimmtes Muster vergleichst.
MfG
Und wie Funktioniert sowas?
stock strmatch(const String1[], const String2[])
{
if ((strcmp(String1, String2, true, strlen(String2)) == 0) && (strlen(String2) == strlen(String1)))
{
return true;
}
else
{
return false;
}
}
Wo muss ich das einfügen? Bzw abfragen?
Nee.
bei strcmp müssen die strings komplett miteinander stimmen.
überprüf eínfach per strfind ob ein _ vorhanden ist.
Ich habe ehrlich gesagt garkeine ahnung wie ich das mache..
Ich habe keine AHnung wie ich das mache gibt mir mal nen anhaltspunkt..
Der Spieler connected.
Du musst nun prüfen ob in seinem Namen ein "_" enthalten ist.
Erstmal den Namen des Spielers in einen String speichern:
new name[MAX_PLAYER_NAME];
GetPlayerName(name,sizeof(name));
Nun musst du mit dem Befehl strfind ein _ suchen.
if(!strfind(name,"_",false)!=-1)
name = Den String den du durchsuchen möchtest
"_" = Das Wort/Zeichen dass du suchen möchtest.
false = Groß-und Kleinschreibung beachten
! = Wenn er das NICHT findet!
if(!strfind(name,"_",false)!=-1)
{
Kick(playerid);
}
Also einfach unter OnPlayerConnect();
new name[MAX_PLAYER_NAME];
GetPlayerName(name,sizeof(name));
if(!strfind(name,"_",false)!=-1)
if(!strfind(name,"_",false)!=-1)
{
Kick(playerid);
}
Fast, lösch ein "if(!strfind(name,"_",false)!=-1)" und rücke die Zeilen noch richtig ein.
Also so:
public OnPlayerConnect(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(name,sizeof(name));
if(!strfind(name,"_",false)!=-1)
{
Kick(playerid);
}
return 1;
}
C:\Dokumente und Einstellungen\\Desktop\Gta Reallife Projekt\\gamemodes\(4395) : error 035: argument type mismatch (argument 1)
C:\Dokumente und Einstellungen\\Desktop\Gta Reallife Projekt\\gamemodes\(4395) : error 035: argument type mismatch (argument 2)
C:\Dokumente und Einstellungen\\Desktop\Gta Reallife Projekt\\gamemodes\(4396) : warning 213: tag mismatch
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
2 Errors.
new name[MAX_PLAYER_NAME];
-> GetPlayerName(name,sizeof(name));
-> if(!strfind(name,"_",false)!=-1)
{
Kick(playerid);
}
Die 2 mit -> Markiert sind Error
public OnPlayerConnect(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
if(strfind(name,"_",false)!=-1) return 1;
Kick(playerid);
return 1;
}
Irgendwie funktioniert das nicht richtig..
Function OnPlayerConnect(playerid)
{
/*if(IsPlayerNPC(playerid))
{
new botname[MAX_PLAYER_NAME];
GetPlayerName(playerid, botname, sizeof(botname));
if(!strcmp(botname, "BusLS", true))
{
gPlayerLogged[playerid] = 0;
}
}
if(IsPlayerNPC(playerid))
{
new botname[MAX_PLAYER_NAME];
GetPlayerName(playerid, botname, sizeof(botname));
if(!strcmp(botname, "BusLV", true))
{
gPlayerLogged[playerid] = 0;
}
}*/
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
if(strfind(name,"_",false)!=-1) return 1;
Kick(playerid);
SendClientMessage(playerid, COLOR_WHITE, "Dein Name ist nicht in diesem Style: Name_Vorname");
return 1;
}
//----------------------------------[Betreten]-----------------------------------------------//
new psender[MAX_PLAYER_NAME];
new string2[200];
GetPlayerName(playerid, psender, sizeof(psender));
format(string2, sizeof(string2), "**{E1BA4F}%s {99989C}hat den Server betreten.{FFFFFF}", psender);
SendClientMessageToAll(COLOR_WHITE, string2);
//---------------------------------------------------------------------------------//
//ShowPlayerDialog(playerid,Regeln,DIALOG_STYLE_MSGBOX,"German Reallife Stories Regeln:","{F70F0F}Info: Dies ist ein Reallife Server, bitte halte dich an die folgenden Verbote:\n\n- *Cheaten, Bugusing, Abwerben*\n\n- *Rassistische / beleidigende Spielernamen*\n\n- *Beleidigungen gegenüber anderen Spielern*\n\n- *Sinnloses Deathmatch*\n\n\n\n\n\n{F70F0F}Achtung:\n\n{FFFFFF}Wer diese Regeln nicht einhalten kann, sollte ABLEHNEN klicken und wird {F70F0F}Gekickt!","Akzeptieren","Ablehnen");
new xDIP[16];
GetPlayerIp(playerid,xDIP,16);
if(!strcmp(xDIP,"175.132.",false,8))
{
if(strcmp(xDIP[8],"0.100",false,5))
if(strcmp(xDIP[8],"0.101",false,5))
if(strcmp(xDIP[8],"0.102",false,5))
SetPlayerSkin(playerid, 560);
}
for(new i = 0; i < AUTOHAUSER; i++)
{
SetPlayerMapIcon(playerid, 30+i, DtcSonstiges[i][0][0],DtcSonstiges[i][0][1],DtcSonstiges[i][0][2], 55, COLOR_YELLOW);
}
SendClientMessage(playerid, COLOR_YELLOW, "Laden...");
SendClientMessage(playerid, COLOR_YELLOW, "Laden...");
SendClientMessage(playerid, COLOR_YELLOW, "Laden...");
SendClientMessage(playerid, COLOR_WHITE, "Bitte warte einen Augenblick, dein Account wird gesucht..");
//------------------------------------------------------------------------------
//----------------------------------[Betreten]-----------------------------------------------//
new psender[MAX_PLAYER_NAME];
new string2[200];
GetPlayerName(playerid, psender, sizeof(psender));
if(!strfind(name,"_",false)!=-1)
{
SendClientMessage(playerid, COLOR_WHITE, "Dein Name ist nicht in diesem Style: Name_Vorname");
Kick(playerid);
}
format(string2, sizeof(string2), "**{E1BA4F}%s {99989C}hat den Server betreten.{FFFFFF}", psender);
SendClientMessageToAll(COLOR_WHITE, string2);
//---------------------------------------------------------------------------------//
if(!strfind(name,"_",false)!=-1)
warning 213: tag mismatch
if(strfind(name,"_",false)==-1)
So müssts gehen
Der Server Restartet dann irgendwie
//----------------------------------[Betreten]-----------------------------------------------//
new psender[MAX_PLAYER_NAME];
new string2[200];
GetPlayerName(playerid, psender, sizeof(psender));
if(strfind(psender,"_",false)==-1)
{
SendClientMessage(playerid, COLOR_WHITE, "Dein Name ist nicht in diesem Style: Name_Vorname");
Kick(playerid);
}
format(string2, sizeof(string2), "**{E1BA4F}%s {99989C}hat den Server betreten.{FFFFFF}", psender);
SendClientMessageToAll(COLOR_WHITE, string2);
//---------------------------------------------------------------------------------//
Ich mach peinliche Fehler sorry