Пользователи, просматривающие тему (Пользователей: 0, Гостей: 0)

  1. DoHaTeJIJIo

    Регистрация:
    21.06.16
    Сообщения:
    23
    Симпатии:
    1
    Пол:
    Мужской
    VKcom:
    id273992047
    Всем привет. Как добавить в плагин .ini или .cfg (+код) файл
    Чтобы было так например
    amx_openvipmenu "t" //С каким флагом игрок может открыть випменю
    Помогите поажлуйста. Заранее спасибо

    Я по пробовал вот так, но не получается
     

    Вложения:

    • menu.sma
      Размер файла:
      1,6 КБ
      Просмотров:
      3
  2. SpartaneC

    Регистрация:
    03.10.15
    Сообщения:
    49
    Симпатии:
    34
    Пол:
    Мужской
    @DoHaTeJIJIo,
    PHP:
    new Flags[24]

    public 
    plugin_init()
    {
        
    register_cvar("amx_openvipmenu""t")
    }

    if ( 
    get_user_flags(id) & acces() )  //проверяем флаг(и)
    {
         
    //если имеются то выполняем
    }

    public 
    acces()
    {
         
    get_cvar_string("amx_openvipmenu",Flags,charsmax(Flags))
         return(
    read_flags(Flags))
    }
     
  3. MakapoH. Команда форума

    Регистрация:
    06.02.16
    Сообщения:
    834
    Симпатии:
    334
    Пол:
    Мужской
    Можно просто
    PHP:
    new flag[24];

    public 
    plugin_init()
        
    register_cvar("amx_openvipmenu""t");

    public 
    plugin_cfg()
        
    get_pcvar_string("amx_openvipmenu"flagcharsmax(flag));

    public <
    функция>(id)
    {
        if(
    get_user_flags(id) & read_flags(flag))
        {
             ...
        }
    }
     
  4. neygomon Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    8.573
    Симпатии:
    4.654
    Пол:
    Мужской
    @MakapoH., а если флагов несколько то нужно будет цикл и каждый проверять. иначе будет работать как get_user_flags(id) & (F1|F2|F3) :)
    а если челу надо несколько флагов у одного, то придется проверять каждый из флагов отдельно:/
     
  5. MakapoH. Команда форума

    Регистрация:
    06.02.16
    Сообщения:
    834
    Симпатии:
    334
    Пол:
    Мужской
    @neygomon, Да ладно, не думаю что ему такое надо... Да и тем более сам написал
    :D
     
  6. Mistrick Разработчик

    Регистрация:
    13.07.15
    Сообщения:
    228
    Симпатии:
    139
    Пол:
    Мужской
    Зачем?
    PHP:
    stock check_flags(flagsneed_flags)
    {
        return ((
    flags &= need_flags) == need_flags) ? 0;
    }
     
    neygomon и xopoIIIuu нравится это.
  7. neygomon Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    8.573
    Симпатии:
    4.654
    Пол:
    Мужской
    @Mistrick, фак, про биты забыл :mad:
     
  8. PRoSToC0der Разработчик

    Регистрация:
    22.02.16
    Сообщения:
    452
    Симпатии:
    167
    Пол:
    Мужской
    @Mistrick а &= зачем, почему не просто &?
     
    Mistrick нравится это.
  9. neygomon Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    8.573
    Симпатии:
    4.654
    Пол:
    Мужской
    @PRoSToC0der, тогда будет читаться как я сказал выше...
     
  10. PRoSToC0der Разработчик

    Регистрация:
    22.02.16
    Сообщения:
    452
    Симпатии:
    167
    Пол:
    Мужской
    @neygomon ???
    Код:
    (flags &= need_flags) == need_flags
    =>
    Код:
    (flags & need_flags) == need_flags
    @Mistrick + зачем эти костыли с ? 1 : 0, когда можно просто булом.

    И да, в amxmisc.inc это всё и так есть:
    Код:
    /* Returns true if the user has ANY of the provided flags
     * false if they have none 
     */
    stock has_flag(id, const flags[]) 
    {
    	return (get_user_flags(id) & read_flags(flags));
    }
    /* Returns true if the user has ALL of the provided flags
     * false otherwise
     */
    stock has_all_flags(id, const flags[]) 
    {
    	new FlagsNumber=read_flags(flags);
    	return ((get_user_flags(id) & FlagsNumber)==FlagsNumber);
    }
     
    neygomon нравится это.
  11. neygomon Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    8.573
    Симпатии:
    4.654
    Пол:
    Мужской
    @PRoSToC0der, ай, тупанул, ск.. :)
    извиняюсь ;)