Инфо из cstrike.inc:
/* Restock/remove ammo in a user's backpack.
*/
native cs_set_user_bpammo(index, weapon, amount);
Синтаксис:
cs_set_user_bpammo(index, weapon, amount)
- index - Индекс игрока.
- weapon - Оружие которому будут выдаваться патроны.
- amount - Количество выдаваемых патронов.
Тип функции:
Native
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#define PLUGIN "[cstrike.inc] cs_set_user_bpammo"
#define VERSION "0.1"
#define AUTHOR "Mon[str]"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("say /give_ammo", "give_ammo");
}
public give_ammo(id)
{
if(!is_user_alive(id))
return 0;
new szArg[3];
read_argv(1, szArg, charsmax(szArg));
if(is_str_num(szArg))
{
new iWeapon = get_user_weapon(id);
new iAmmo = str_to_num(szArg);
cs_set_user_bpammo(id, iWeapon, iAmmo);
}
return 1;
}
Описание:
В данном примере мы зарегистрировали команду для выдачи патронов.
Введя команду и через пробел число, в оружие которое вы держите в руках выдастся то количество патронов которое вы указали.
Рассмотрим подробнее функцию give_ammo(id):
В ней мы выходим из команды если игрок мертв так как у мертвого игрока нет оружия.
Создаем массив из 3 ячеек для записи первого аргумента нашей команды, это и есть патроны.
Записываем в массив аргумент и чуть позже проверяем если аргумент состоит только из чисел с помощью функции is_str_num, так как патроны это число.
В теле условия мы создаем 2 переменных iWeapon и iAmmo куда и записываем индекс оружия которое держит игрок c помощью функции get_user_weapon, а во вторую конвертированный аргумент в число то есть патроны, конвертируем с помощью функции str_to_num и в конце выдаем патроны в данном оружие в определенном количестве.