public OnPlayerConnect(playerid) { new VerificarNome[24]; new VerificarLista = -1; GetPlayerName(playerid, VerificarNome, sizeof(VerificarNome)); while(++ VerificarLista != sizeof(NomesProibidos)) { if(!strcmp(VerificarNome, NomesProibidos[VerificarLista], true)) { print("[SISTEMA]: Um usuбrio se logou com 'BAD NICK' e foi interceptado!"); format(String, sizeof(String), "%d1", playerid); SetPlayerName(playerid, String); GameTextForPlayer(playerid, "~k~~INVALID_KEY~", 100, 5); if(IsPlayerConnected(playerid)) { return OnPlayerConnect(playerid); } } else { LimparChatLogin(playerid); TextDrawShowForPlayer(playerid, CriarImagemLogin); new RandonMusicasL = random(sizeof(MusicasLogin)); TocarMusica(playerid, MusicasLogin[RandonMusicasL]); LimparChatLogin(playerid); return true; } } return true; }
public OnPlayerConnect(playerid) { LimparChatLogin(playerid); TextDrawShowForPlayer(playerid, CriarImagemLogin); new RandonMusicasL = random(sizeof(MusicasLogin)); TocarMusica(playerid, MusicasLogin[RandonMusicasL]); LimparChatLogin(playerid); return true; }
public OnPlayerConnect(playerid)
{
new VerificarNome[24];
new VerificarLista = -1;
GetPlayerName(playerid, VerificarNome, sizeof(VerificarNome));
while(++ VerificarLista != sizeof(NomesProibidos))
{
if(!strcmp(VerificarNome, NomesProibidos[VerificarLista], true))
{
print("[SISTEMA]: Um usuбrio se logou com 'BAD NICK' e foi interceptado!");
format(String, sizeof(String), "%d1", playerid);
SetPlayerName(playerid, String);
if(IsPlayerConnected(playerid))
{
return OnPlayerConnect(playerid);
}
}
else
{
LimparChatLogin(playerid);
TextDrawShowForPlayer(playerid, CriarImagemLogin);
new RandonMusicasL = random(sizeof(MusicasLogin));
TocarMusica(playerid, MusicasLogin[RandonMusicasL]);
LimparChatLogin(playerid);
return true;
}
}
return true;
}
pawn Код:
|
GameTextForPlayer(playerid, "~k~~INVALID_KEY~", 100, 5);
Essa linha aqui que o felipe retirou
pawn Код:
Mais nгo й isso, deve ser esse debug ai. |
public OnPlayerConnect(playerid)
{
new VerificarNome[24];
new VerificarLista = -1;
GetPlayerName(playerid, VerificarNome, sizeof(VerificarNome));
while(++ VerificarLista != sizeof(NomesProibidos))
{
if(!strcmp(VerificarNome, NomesProibidos[VerificarLista], true))
{
print("[SISTEMA]: Um usuбrio se logou com 'BAD NICK' e foi interceptado!");
format(String, sizeof(String), "%d1", playerid);
SetPlayerName(playerid, String);
if(IsPlayerConnected(playerid))//segundos, eu acho que o seu problema tem haver com isto pq o facto de nao ter spawnado como diz faz com que o pawn nao considere conectado! eu acho
{//terceiro, acho que isso fica meio rasca neh, voce vai executar o OnPlayerConnect novamente desnecessariamente
return OnPlayerConnect(playerid);
}
}
else//primeiro, isso aqui tб mal, resumindo, faz o loop (while) e cada vez que verificar o seu nome com um nome da lista "nomespoibidos" e o nome nao for proibido, vem para aqui! mas afinal quantas vazes executa isto?
{
LimparChatLogin(playerid);//quarto, uma vez que executou OnPlayerConnect novamente, imagine que verifica 20 nomes na lista, passa a executar esta parte do codigo 40x quando podia ser apenas 1
TextDrawShowForPlayer(playerid, CriarImagemLogin);
new RandonMusicasL = random(sizeof(MusicasLogin));
TocarMusica(playerid, MusicasLogin[RandonMusicasL]);
LimparChatLogin(playerid);
return true;
}
}
return true;
}
public OnPlayerConnect(playerid)
{
new VerificarNome[24];
new VerificarLista = -1;
GetPlayerName(playerid, VerificarNome, sizeof(VerificarNome));
//vamos fazer while na mesma e verificar se o nome ta na lista
while(++ VerificarLista != sizeof(NomesProibidos))
{
if(!strcmp(VerificarNome, NomesProibidos[VerificarLista], true))
{
print("[SISTEMA]: Um usuбrio se logou com 'BAD NICK' e foi interceptado!");
format(String, sizeof(String), "%d1", playerid);
SetPlayerName(playerid, String);
break;//verificamos o nome, foi encontrado na lista, foi alterado, e por isso usamos break para parar a verificacao, se ja encontramos nao precisamos continuar procurando neh?
}
}
LimparChatLogin(playerid);
TextDrawShowForPlayer(playerid, CriarImagemLogin);
new RandonMusicasL = random(sizeof(MusicasLogin));
TocarMusica(playerid, MusicasLogin[RandonMusicasL]);
LimparChatLogin(playerid);
return true;
}