GetPlayerWeaponState
Материал из Pro-Pawn Wiki
Описание:
Узнаёт состояние выбранного игроком оружия.
Параметры:
(playerid) |
playerid | ID игрока. |
Возвращаемое значение:
Состояние оружия, выбранного игроком, либо
0
, если игрок не подключен.
Баг SA-MP |
Функция возвращает 0 в двух случаях: когда игрок не подключен и когда в оружии закончились патроны (константа WEAPONSTATE_NO_BULLETS тоже равна нулю). Может потребоваться дополнительный вызов IsPlayerConnected() , чтобы однозначно отличить эти две ситуации.
|
Пример использования:
CMD:getweaponstate(playerid, params[])
{
if (0 == IsPlayerAdmin(playerid))
return SendClientMessage(playerid, -1, "Вы не администратор сервера!");
extract params -> new player:targetid; else // sscanf2
return SendClientMessage(playerid, -1, "Использование: /getweaponstate [ID игрока/часть ника]");
if (targetid == INVALID_PLAYER_ID)
return SendClientMessage(playerid, -1, "Игрок не найден.");
static const state_names[][] =
{ "неизвестно", "нет патронов", "последний патрон", "несколько патронов", "перезарядка" };
new st = GetPlayerWeaponState(targetid) + 1;
new string[128];
GetPlayerName(targetid, string, sizeof(string));
format(
string, sizeof(string), "Состояние оружия игрока %s: %s.",
string, state_names[st + 1] // Поскольку список констант начинается с -1 (WEAPONSTATE_UNKNOWN),
// нужно прибавить 1 к индексу.
);
return SendClientMessage(playerid, -1, string);
}
{
if (0 == IsPlayerAdmin(playerid))
return SendClientMessage(playerid, -1, "Вы не администратор сервера!");
extract params -> new player:targetid; else // sscanf2
return SendClientMessage(playerid, -1, "Использование: /getweaponstate [ID игрока/часть ника]");
if (targetid == INVALID_PLAYER_ID)
return SendClientMessage(playerid, -1, "Игрок не найден.");
static const state_names[][] =
{ "неизвестно", "нет патронов", "последний патрон", "несколько патронов", "перезарядка" };
new st = GetPlayerWeaponState(targetid) + 1;
new string[128];
GetPlayerName(targetid, string, sizeof(string));
format(
string, sizeof(string), "Состояние оружия игрока %s: %s.",
string, state_names[st + 1] // Поскольку список констант начинается с -1 (WEAPONSTATE_UNKNOWN),
// нужно прибавить 1 к индексу.
);
return SendClientMessage(playerid, -1, string);
}
См. также: