По этому и в различных плагинах с ней часто проводят различные операции, но прежде чем что либо с ней сделать, зачастую требуется узнать ее количество и тип, с этим легко справляется функция cs_get_user_armor.
Инфо из cstrike.inc:
/* Returns armor value and sets by reference the armor type in second parameter.
*/
enum CsArmorType {
CS_ARMOR_NONE = 0, // no armor
CS_ARMOR_KEVLAR = 1, // armor
CS_ARMOR_VESTHELM = 2 // armor and helmet
};
native cs_get_user_armor(index, &CsArmorType:armortype);
Синтаксис:
cs_get_user_armor ( index, &CsArmorType:armortype )
- index - id игрока
- &CsArmorType:armortype - Получает тип брони
- CS_ARMOR_NONE - Нет брони.
- CS_ARMOR_KEVLAR - Только броне жилет.
- CS_ARMOR_VESTHELM - Брони жилет и шлем.
- CS_ARMOR_NONE - Нет брони.
Тип функции:
Native
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#define PLUGIN "[cstrike.inc] cs_get_user_armor"
#define VERSION "1.0"
#define AUTHOR "Admin"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /get_my_armor","get_my_armor")
}
public get_my_armor(id){
new CsArmorType:ArmorType
new Armor = cs_get_user_armor(id, ArmorType)
switch (ArmorType){
case CS_ARMOR_NONE:{
client_print(id,print_chat,"My Armor non: %d",Armor)
}
case CS_ARMOR_KEVLAR:{
client_print(id,print_chat,"My Armor kevlar: %d",Armor)
}
case CS_ARMOR_VESTHELM:{
client_print(id,print_chat,"My Armor kevlar and helm: %d",Armor)
}
}
}
Описание:
В данном примере мы получим тип брони и ее количество, затем выведем информацию в чат.
Для этого зарегистрирована команда say /get_my_armor,вызывающая функцию get_my_armor,в теле которой и будет происходить все действие.
Регистрируем переменную new CsArmorType, ArmorType - принимаемые значения.
Еще одну переменную для количества брони new Armor, и получаем в нее количество брони и тип брони ArmorType.
Далее делаем конструкцию switch, она работает только с константами, в качестве сравниваемой константы используем тип брони, в вариантах перечисляем все 3 типа.
При выполнении скрипта,. будет получен тип брони и в зависимости от его типа, будет выбран один из кейсов, с соответствующей константой.
Внутри кейса сообщение игроку в чат с информацией о его броне.
Обращаю внимание, функция получает количественное значение брони и Константу, а не текстовое значение.