Ввод ника вместо ID в командах [sscanf].
Здравствуйте уважаемые пользователи pro-pawn. Я использую sscanf вместе со стандартным командным процессором (ZCMD не катит). Мне в некоторых командах надо делать так, чтобы администратор мог не только ввести ID игрока, но и написать его ник. Суть проблемы заключается вот в чём: допустим на сервере сидит один игрок с ником Alex_Brut. Если администратор вводит кмд /gethere [id_игрока], то всё работает замечательно. Если администратор вводит /gethere [nickname] то тоже всё замечательно, игрока перемещает к администратору (в данном случае просто выполняется команда). Но если ввести /gethere [Alex] или /gethere [Alex_Brutsss] или же /gethere [Al] то администратора все равно перемещает к игроку Alex_Brut. То есть получается, что проверка не срабатывает на подключение игрока (IsPlayerConnected), а если ввести например не /gethere Alex, а /gethere Mike (или другие никнеймы), то проверка срабатывает. Я советовался с Владиславом (Deimos) и он мне сказал почитать документацию к sscanf, но я так и не нашёл подобной проблемы. Вот собственно сама команда:
PHP код:
else if(!strcmp(cmd, "/gethere"))
{
if(PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid, COLOR_ERROR, "Недостаточно прав для использования команды.");
if(sscanf(params, "u", params[0])) return SendClientMessage(playerid, COLOR_ERROR, "Команда /gethere [playerid/PartOfName]");
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, COLOR_ERROR, "Этот игрок в данный момент не в сети.");
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
SetPlayerInterior(params[0], GetPlayerInterior(playerid));
SetPlayerVirtualWorld(params[0], GetPlayerVirtualWorld(playerid));
if(GetPlayerState(params[0]) == 2) SetVehiclePos(GetPlayerVehicleID(params[0]), X, Y+4, Z);
else SetPlayerPos(params[0], X, Y+2, Z);
return 1;
}
Помогите пожалуйста разобраться с данной проблемой.