Главная | Комментарии | О проекте
Чтение RSS
Суперсайт
Главная Контакты Карта сайта Добавить в избранное
  • Кто OnLine

    Всего на сайте: 13
    Гостей: 6
    Пользователи: - отсутствуют
    Роботы: Mail Ru, Yandex Bot, Yandex Bot, Yandex Bot, Yandex Bot, crawl Bot, Mail Ru

    Опрос пользователей

    Для какого мода Вы пишите плагины?

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: Admin Дата: 15-11-2011, 00:41 Просмотров: 3400

    cs_get_user_armor Функция получает какая у игрока броня и ее количество

    Количество брони для игрока, далеко не самые последние данные которые ему нужно знать и пользуется он ей всегда, если позволяют игровые деньги.
    По этому и в различных плагинах с ней часто проводят различные операции, но прежде чем что либо с ней сделать, зачастую требуется узнать ее количество и тип, с этим легко справляется функция 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 - Брони жилет и шлем.



    Тип функции:
    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 типа.

    При выполнении скрипта,. будет получен тип брони и в зависимости от его типа, будет выбран один из кейсов, с соответствующей константой.
    Внутри кейса сообщение игроку в чат с информацией о его броне.

    Обращаю внимание, функция получает количественное значение брони и Константу, а не текстовое значение.
    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Наверх

Реклама