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

    Всего на сайте: 11
    Гостей: 7
    Пользователи: - отсутствуют
    Роботы: Mail Ru, Mail Ru, Mail Ru, robot Bot

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

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

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: Admin Дата: 11-05-2013, 20:04 Просмотров: 4011

    set_user_flags Функция устанавливает флаги игроку.

    В amxmodx флаги - представляют своеобразные права для администраторов или випов, с помощью функции set_user_flags, можно их задать игроку.

    Инфо из amxmodx.inc:
    /* Sets the users flags with the assignment by bitwise OR operator. */
    native set_user_flags(index,flags=-1,id=0);


    Синтаксис:
    set_user_flags(index,flags=-1,id=0)

    • index - Индекс игрока
    • flags=-1 - Флаги ( бит сумма )
    • id=0 -


    Тип функции:
    Native

    Пример:
    /* Plugin generated by AMXX-Studio */

    #include <amxmodx>
    #include <amxmisc>

    #define PLUGIN "[http://amxxmodx.ru] set_user_flags"
    #define VERSION "1.0"
    #define AUTHOR "Admin"


    public plugin_init() {
        register_plugin(PLUGIN, VERSION, AUTHOR)

        register_clcmd("say test","Say")
        
        
    }
    public Say(id){

        set_user_flags(id,7)
        
    }


    Описание:
    После написания в чат test, игроку будут добавлены флаги abc сумма битов для них равна 7.
    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
    set_user_flags Функция устанавливает флаги игроку.
    Pain96

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    А как узнать сумму битов допустим на флаг admin_ban и level_h ??
    Admin

    30.07.2011
    ICQ: 980500
    Публикаций: 507
    Комментариев: 333
    Репутация: -  58  +

    --------------------
    yanislav

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Admin , а можно ли с помощью этой функции записать в users.ini данные флаги?
    Radius

    7.05.2013
    ICQ: 357188115
    Публикаций: 1
    Комментариев: 57
    Репутация: -  4  +

    yanislav, эта функция устанавливает флаги игроку, но не делает запись в файл users.ini. Это значит работать будет до смены карты.
    LordNAO

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    ...флаги abc сумма битов для них равна 7...

    Я правильно понял, что a=1, b=2, c=3 и т.д.?
    А если я хочу присвоить такие права как "bcd", их сумма будет равна 9 (2+3+4), но система может принять за 9 такие права как "de" (4+5).

    И если необходимо присвоить права ADMIN_LEVEL_H (1<<19) /* flag "t" */ ,
    то необходимо указывать set_user_flags(id,19) или можно set_user_flags(id)&ADMIN_LEVEL_H)

    P.S. http://www.amxmodx.org/funcwiki.php?go=module&id=1#const_admin - не работает
    артист

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Нет, не правильно. a = 1<<0

    1<<0 = 1
    1<<1 = 2
    1<<2 = 4
    1<<3 = 8
    1<<4 =16
    1<<5 =32
    1<<6 = 64
    1<<7 = 128
    1<<8 = 256
    1<<9 = 512
    1<<10 = 1024
    ...

    Сам не знаю точно как получается сумма...
    hacker63

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    бит - это 1 или 0
    Цитата: артист
    Нет, не правильно. a = 1<<0

    1<<0 = 1
    1<<1 = 2
    1<<2 = 4
    1<<3 = 8
    1<<4 =16
    1<<5 =32
    1<<6 = 64
    1<<7 = 128
    1<<8 = 256
    1<<9 = 512
    1<<10 = 1024
    ...

    Сам не знаю точно как получается сумма...


    тоесть
    2 в 0 = 1
    2 в 1 = 2
    2 в 2 = 4
    2 в 3 = 8
    и тд...
    Radius

    7.05.2013
    ICQ: 357188115
    Публикаций: 1
    Комментариев: 57
    Репутация: -  4  +

    Цитата: LordNAO
    Я правильно понял, что a=1, b=2, c=3 и т.д.?
    А если я хочу присвоить такие права как "bcd", их сумма будет равна 9 (2+3+4), но система может принять за 9 такие права как "de" (4+5)...


    Макросы в amxconst.inc сделаны специально, чтобы освободить скриптеров от необходимости вникать какие числа скрываются за именами флагов.

    Изучите Урок 9. Биты, битовые поля, операции и станет понятнее что такое сумма битов.

    Информация

    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Наверх

Реклама