[Ajuda]Nicks
#1

Tenho um servidor de RPG.
Os nicks por padrao sгo desta forma:

Nome_Sobrenome

Todos os Administradores do meu servidor usam o mesmo sobrenome.
Gostaria de fazer um sistema que chegasse quando alguem conectar-se e ver se esta usando o sobrenome.
Caso esteja usando, sem estar em uma lista seria kikado.

A parte de criar uma lista com os ADM's, verificar se esta na lista e etc eu sei fazer.
Minha dificuldade esta em identificar o sobrenome.

Alguem sabe como posso identificar _Sobrenome para poder verificar se esta na lista ou nao
Reply
#2

stock GetPlayerFirstName(playerid)
{
new namestring[2][MAX_PLAYER_NAME];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
split(name, namestring, '_');
return namestring[0];
}
stock GetPlayerLastName(playerid)
{
new namestring[2][MAX_PLAYER_NAME];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
split(name, namestring, '_');
return namestring[1];
}
Talvez isso possa ajudar ...
Reply
#3

Pхe isso que o vinewood enviou no OnPlayerConnect.
Reply
#4

Код:
#define ADMIN_LAST_NAME_ONLY "admin"
enum names
{
	"souadmin",
	"administrador",
	"Mradmin"
};
new allow[names];

onplayerconnect

for(i=0;i<=2;i++;)
{
	if(GetPlayerLastName(playerid) == ADMIN_LAST_NAME_ONLY && !GetPlayerFirstName(playerid) == allow[i])
	{
		kick(playerid);
	}
}
stock GetPlayerFirstName(playerid)
{
	new namestring[2][MAX_PLAYER_NAME];
	new name[MAX_PLAYER_NAME];
	GetPlayerName(playerid,name,MAX_PLAYER_NAME);
	split(name, namestring, '_');
	return namestring[0];
}
stock GetPlayerLastName(playerid)
{
	new namestring[2][MAX_PLAYER_NAME];
	new name[MAX_PLAYER_NAME];
	GetPlayerName(playerid,name,MAX_PLAYER_NAME);
	split(name, namestring, '_');
	return namestring[1];
}
acho q deve ser +/- assim aperfeiзoб mais.
Reply
#5

pawn Код:
public OnPlayerConnect(playerid)
{
  new pRpnames[MAX_PLAYER_NAME];
  GetPlayerName(playerid, pRpnames, sizeof(pRpnames));
  new RpNames = strfind(pRpnames, "_", true);
    if(RpNames == -1)
    {
        SendClientMessage(playerid, 0xFF0000AA, "((Vocк foi kikado por nгo usar o formato de nome adequado: Nome_Sobrenome))");
        Kick(playerid);
        return 1;
    }
  return 1;
}
Reply
#6

Katros, no seu cуdigo se nгo me engano, hб uma falha, pois ele aceita estes formatos:
NomeSobrenome_
_NomeSobrenome
Nome_Sobrenome_


Recomendo usar o do vinewood.
Reply
#7

pawn Код:
public OnPlayerConnect(playerid)
{
    static
        pRpnames[24],
        bool:NaLista = false
    ;
    new
        pNomings[5][24] =   //Muda 5 Para numeros de players
    {
        "DraKiNs", //Nomes Aqui
        "CUCUCU",
    };
       
    GetPlayerName(playerid, pRpnames, sizeof(pRpnames));
    new RpNames = strfind(pRpnames, "_", true);
    for(new i = 0 i < sizeof pNomings; i++)
        if(strfind(pRpnames,pNomings[i], true) != -1)
            NaLista = true;
   
    if(RpNames >= 3 && NaLista == false)
    {
        SendClientMessage(playerid, 0xFF0000AA, "((Vocк foi kikado por nгo usar o formato de nome adequado: Nome_Sobrenome))");
        Kick(playerid);
    }
    return true;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)