А где можно найти функцию для проверки ника на соответствие RP-правилам? :blush2:
Вид для печати
А где можно найти функцию для проверки ника на соответствие RP-правилам? :blush2:
Ещё как вариант:
Только она, в отличие от варианта выше, допускает ники с длиной от шести и выше символов (к примеру, Ha_Ha или любой другой ник, где в обеих частях всего два символа, не пропустит).PHP код:
CheckPlayerName(const name[])
{
new l, c, bool:p;
if((l = strlen(name)) < 6) return 0;
for(new i, bool:u = true; i < l; ++i)
{
switch(name[i])
{
case '_':
{
if(p || c < 2) return 0;
p = u = true;
c = 0;
}
case 'A'..'Z':
{
u = false;
c++;
}
case 'a'..'z':
{
if(u) return 0;
c++;
}
default: return 0;
}
}
if(!p || c < 2) return 0;
return 1;
}
Что-то не так сделал, сделай так как DeimoS тебе писал.
Создаешь new:
Далее в public OnPlayerConnect(playerid):PHP код:
new Name[MAX_PLAYERS][MAX_PLAYER_NAME];
new NameLast[MAX_PLAYERS][MAX_PLAYER_NAME];
PHP код:
GetPlayerName(playerid, Name[playerid], MAX_PLAYER_NAME);
GetPlayerName(playerid, NameLast[playerid], MAX_PLAYER_NAME);
new pos = strfind(NameLast[playerid], "_");
if(pos != -1)
{
NameLast[playerid][pos] = ' ';
}
Хотя у нас же оба массива одинакового размера, поэтому мы можем просто передать значения одного массива в другой, не словив никаких претензий от компилятора. Это, по-идее, должно быть быстрее всего
P.S. Я про это, если что
PHP код:
NameLast[playerid] = Name[playerid];
Привет. Подскажите, как правильно сделать проверку на нахождение игрока в транспорте, чтобы работало так:
Если игрок в транспорте, то анимация не воспроизводилась.
Если игрок не в транспорте, то анимация воспроизводится.
Мой вариант находится в стадии быдлокода:
{ } else { }