01.05.2011, 07:56
(
Последний раз редактировалось Fro1sha; 01.05.2011 в 08:38.
)
pawn Код:
stock IsValidRpName(rpname[])
{
new
len = strlen(rpname)
;
if ( len < 3 || len > 20 ) return 0;
if ( !('A' <= rpname[0] <= 'Z') ) return 0;
new
name [ 2 ][ MAX_PLAYER_NAME ],
delim,
i = 1
;
name[0][0] = rpname[0];
while ( i != len )
{
switch ( rpname[i] )
{
case 'a'..'z':
{
if ( !delim )
{
name[0][i] = rpname[i];
}
else
{
name[1][i - delim - 1] = rpname[i];
}
}
case '_':
{
if ( delim ) return 0;
delim = i;
if ( i < 2 ) return 0; // Минимум 2 буква перед '_'
if ( !('A' <= rpname[++i] <= 'Z') ) return 0;
name[1][0] = rpname[i];
}
default: return 0;
}
i++;
}
return ( strcmp(name[0], name[1], true) != 0 );
}