SetPlayerAmmo
Материал из Pro-Pawn Wiki
Описание:
Устанавливает количество патронов в указанном оружии у игрока.
Параметры:
(playerid, weaponslot, ammo) |
playerid | ID игрока. |
weaponslot | ID оружия (не оружейный слот; см. прим.) |
ammo | Количество патронов. |
Возвращаемое значение:
1
, если игрок подключен, иначе 0
.
Примечание |
Функция не выдаёт оружие, а только устанавливает количество патронов для оружия, если оно есть у игрока (или было, но закончились патроны).
Если параметр ammo равен нулю или отрицательное число, оружие пропадёт из инвентаря (при этом функция GetPlayerWeaponData() продолжит возвращать его ID с 0 патронов).
|
Пример использования:
new const weapon_names[][] = {
/* 0 */{"Без оружия"}, /* 1 */{"Кастет"}, /* 2 */{"Клюшка для гольфа"},
/* 3 */{"Полицейская дубинка"}, /* 4 */{"Нож"}, /* 5 */{"Бейсбольная бита"},
/* 6 */{"Лопата"}, /* 7 */{"Кий"}, /* 8 */{"Катана"},
/* 9 */{"Бензопила"}, /* 10 */{"Большой дилдо"}, /* 11 */{"Малый дилдо"},
/* 12 */{"Большой вибратор"}, /* 13 */{"Малый вибратор"}, /* 14 */{"Цветы"},
/* 15 */{"Трость"}, /* 16 */{"Граната"}, /* 17 */{"Слезоточивый газ"},
/* 18 */{"Коктейль Молотова"}, /* 19 */{""},/* 20 */{""},/* 21 */{""}, /* 22 */{"Кольт .45"},
/* 23 */{"Кольт .45 с глушителем"}, /* 24 */{"Пустынный орёл"}, /* 25 */{"Дробовик"},
/* 26 */{"Обрез"}, /* 27 */{"SPAS-12"}, /* 28 */{"Микро-Узи"},
/* 29 */{"MP5"}, /* 30 */{"АК-47"}, /* 31 */{"M4"},
/* 32 */{"TEC-9"}, /* 33 */{"Винтовка"}, /* 34 */{"Снайперская винтовка"},
/* 35 */{"Гранатомёт"}, /* 36 */{"Самонаводящийся гранатомёт"}, /* 37 */{"Огнемёт"},
/* 38 */{"Пулемёт"}, /* 39 */{"Взрывпакет"}, /* 40 */{"Детонатор"},
/* 41 */{"Баллончик с краской"}, /* 42 */{"Огнетушитель"}, /* 43 */{"Фотоаппарат"},
/* 44 */{"Прибор ночного видения"}, /* 45 */{"Тепловизор"}, /* 46 */{"Парашют"}
};
CMD:setammo(playerid, params[])
{
if (0 == IsPlayerAdmin(playerid))
return SendClientMessage(playerid, -1, "Вы не администратор сервера!");
extract params -> new player:targetid, weaponid, ammo; else // sscanf2
return SendClientMessage(playerid, -1, "Использование: /setammo [ID игрока/часть ника] [ID оружия] [кол-во патронов]");
if (targetid == INVALID_PLAYER_ID)
return SendClientMessage(playerid, -1, "Игрок не найден.");
if (weaponid < 1 || weaponid > 46 || weaponid == 19 || weaponid == 20 || weaponid == 21)
return SendClientMessage(playerid, -1, "Неправильный ID оружия.");
SetPlayerAmmo(targetid, weaponid, ammo);
new string[128];
GetPlayerName(targetid, string, sizeof(string));
format(string, sizeof(string), "Вы выдали %s %d патронов к оружию \"%s\".", string, ammo, weapon_names[weaponid]);
return SendClientMessage(playerid, -1, string);
}
/* 0 */{"Без оружия"}, /* 1 */{"Кастет"}, /* 2 */{"Клюшка для гольфа"},
/* 3 */{"Полицейская дубинка"}, /* 4 */{"Нож"}, /* 5 */{"Бейсбольная бита"},
/* 6 */{"Лопата"}, /* 7 */{"Кий"}, /* 8 */{"Катана"},
/* 9 */{"Бензопила"}, /* 10 */{"Большой дилдо"}, /* 11 */{"Малый дилдо"},
/* 12 */{"Большой вибратор"}, /* 13 */{"Малый вибратор"}, /* 14 */{"Цветы"},
/* 15 */{"Трость"}, /* 16 */{"Граната"}, /* 17 */{"Слезоточивый газ"},
/* 18 */{"Коктейль Молотова"}, /* 19 */{""},/* 20 */{""},/* 21 */{""}, /* 22 */{"Кольт .45"},
/* 23 */{"Кольт .45 с глушителем"}, /* 24 */{"Пустынный орёл"}, /* 25 */{"Дробовик"},
/* 26 */{"Обрез"}, /* 27 */{"SPAS-12"}, /* 28 */{"Микро-Узи"},
/* 29 */{"MP5"}, /* 30 */{"АК-47"}, /* 31 */{"M4"},
/* 32 */{"TEC-9"}, /* 33 */{"Винтовка"}, /* 34 */{"Снайперская винтовка"},
/* 35 */{"Гранатомёт"}, /* 36 */{"Самонаводящийся гранатомёт"}, /* 37 */{"Огнемёт"},
/* 38 */{"Пулемёт"}, /* 39 */{"Взрывпакет"}, /* 40 */{"Детонатор"},
/* 41 */{"Баллончик с краской"}, /* 42 */{"Огнетушитель"}, /* 43 */{"Фотоаппарат"},
/* 44 */{"Прибор ночного видения"}, /* 45 */{"Тепловизор"}, /* 46 */{"Парашют"}
};
CMD:setammo(playerid, params[])
{
if (0 == IsPlayerAdmin(playerid))
return SendClientMessage(playerid, -1, "Вы не администратор сервера!");
extract params -> new player:targetid, weaponid, ammo; else // sscanf2
return SendClientMessage(playerid, -1, "Использование: /setammo [ID игрока/часть ника] [ID оружия] [кол-во патронов]");
if (targetid == INVALID_PLAYER_ID)
return SendClientMessage(playerid, -1, "Игрок не найден.");
if (weaponid < 1 || weaponid > 46 || weaponid == 19 || weaponid == 20 || weaponid == 21)
return SendClientMessage(playerid, -1, "Неправильный ID оружия.");
SetPlayerAmmo(targetid, weaponid, ammo);
new string[128];
GetPlayerName(targetid, string, sizeof(string));
format(string, sizeof(string), "Вы выдали %s %d патронов к оружию \"%s\".", string, ammo, weapon_names[weaponid]);
return SendClientMessage(playerid, -1, string);
}
См. также: