SetPlayerName
Материал из Pro-Pawn Wiki
Описание:
Устанавливает никнейм игрока.
Параметры:
(playerid, const name[]) |
playerid | ID игрока, ник которого требуется изменить. |
const name[] | Новый никнейм. |
Возвращаемое значение:
1
в случае успешного выполнения.0
, если игрок не подключен или новый никнейм уже используется другим игроком.-1
, если новый никнейм содержит неразрешённые символы (см. ниже) или длиннее MAX_PLAYER_NAME
.
Баг SA-MP |
Если новый никнейм отличается от старого только регистром символов (например, "john_doe" -> "John_Doe" ), функция оставит старый никнейм.
|
Баг SA-MP |
Попытка передать в качестве никнейма пустую строку приводит к падению сервера. |
Пример использования:
CMD:setname(playerid, params[])
{
if (0 == IsPlayerAdmin(playerid))
return SendClientMessage(playerid, -1, "Вы не администратор!");
new targetid;
if (sscanf(params, "us[128]", targetid, params))
return SendClientMessage(playerid, -1, "Использование: /setname [ID игрока/часть ника] [новый ник]");
if (targetid == INVALID_PLAYER_ID)
return SendClientMessage(playerid, -1, "Игрок не найден!");
new string[144+1];
GetPlayerName(targetid, string, sizeof(string));
new result = SetPlayerName(targetid, params);
if (result == -1)
return SendClientMessage(playerid, -1, "Неправильный никнейм!");
if (result == 0)
return SendClientMessage(playerid, -1, "Никнейм уже используется другим игроком!");
format(string, sizeof(string), "Игрок %s теперь известен как %s.", string, params);
return SendClientMessageToAll(-1, string);
}
{
if (0 == IsPlayerAdmin(playerid))
return SendClientMessage(playerid, -1, "Вы не администратор!");
new targetid;
if (sscanf(params, "us[128]", targetid, params))
return SendClientMessage(playerid, -1, "Использование: /setname [ID игрока/часть ника] [новый ник]");
if (targetid == INVALID_PLAYER_ID)
return SendClientMessage(playerid, -1, "Игрок не найден!");
new string[144+1];
GetPlayerName(targetid, string, sizeof(string));
new result = SetPlayerName(targetid, params);
if (result == -1)
return SendClientMessage(playerid, -1, "Неправильный никнейм!");
if (result == 0)
return SendClientMessage(playerid, -1, "Никнейм уже используется другим игроком!");
format(string, sizeof(string), "Игрок %s теперь известен как %s.", string, params);
return SendClientMessageToAll(-1, string);
}
См. также: