1. Phenom5555 Пользователь

    Регистрация:
    04.03.15
    Сообщения:
    311
    Симпатии:
    36
    Пол:
    Мужской
    Помогите найти плагин для выдачи денег VIP игроку через определенный интервал , например каждые 5 минут 1 000 $ .
    Искал , но видимо плохо .
     
  2. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.589
    Симпатии:
    4.159
    Пол:
    Мужской
    Код:
    #include <amxmodx>
    #include <cstrike>
    
    const FLAG     = ADMIN_LEVEL_H;
    const MONEY     = 1000;
    
    #if AMXX_VERSION_NUM < 183
        #define client_disconnected client_disconnect
    #endif   
    
    public client_putinserver(id)
        if(get_user_flags(id) & FLAG)
            set_task(300.0, "GiveMoney", id, .flags="b");
           
    public client_disconnected(id)
        remove_task(id);
       
    public GiveMoney(id)
    {
        /* Если будут ошибки в логах, раскомментируй   
        if(!is_user_connected(id))
            return;
        */
        cs_set_user_money(id, cs_get_user_money(id) + MONEY);
    }    
     
    Phenom5555 нравится это.
  3. Phenom5555 Пользователь

    Регистрация:
    04.03.15
    Сообщения:
    311
    Симпатии:
    36
    Пол:
    Мужской
    neygomon,
    Не выдаёт , ошибок в логах нет .
     
  4. windranger1337 Пользователь

    Регистрация:
    04.10.15
    Сообщения:
    303
    Симпатии:
    177
    Telegram:
    serfreeman1337
    Phenom5555, а ты подождал 5 минут и имеешь флаг "t" ?
     
  5. Phenom5555 Пользователь

    Регистрация:
    04.03.15
    Сообщения:
    311
    Симпатии:
    36
    Пол:
    Мужской
    Я для тестов поставил так :
    PHP:
    set_task(10.0"GiveMoney"id, .flags="b");
    Ну и естественно у меня есть флаг "t"
    --- добавлено 05.02.16 ---
    Нашел в чем причина , я не стал ждать ошибок в логах и раскомментировал проверку на коннект . Закомментировал обратно - работает .
     
  6. Phenom5555 Пользователь

    Регистрация:
    04.03.15
    Сообщения:
    311
    Симпатии:
    36
    Пол:
    Мужской
    Спасибо за помощь , я добавил ограничение на выдачу до 16 000 . Как убрать сообщение из чата когда лимит достигнут ?
    Код:
    #include <amxmodx>
    #include <cstrike>
    
    const FLAG     = ADMIN_LEVEL_H;
    const MONEY     = 1000;
    
    #if AMXX_VERSION_NUM < 183
        #define client_disconnected client_disconnect
    #endif   
    
    public client_putinserver(id)
        if(get_user_flags(id) & FLAG)
            set_task(300.0, "GiveMoney", id, .flags="b");
           
    public client_disconnected(id)
        remove_task(id);
       
    public GiveMoney(id)
    {                                                                                       
        /* ???? ????? ?????? ? ?????, ??????????????   
        if(!is_user_connected(id))
            return;
        */
        cs_set_user_money(id, min(cs_get_user_money(id) + MONEY, 16000));
        ChatColor( id, "^4[^3n54^4] ^4VIP , держи^3 1000 ^1$", MONEY )
    }
                         
    stock ChatColor(const id, const szMessage[], any:...)
    {                         
        static szMsg[190], IdMsg;
        vformat(szMsg, charsmax(szMsg), szMessage, 3);
       
        if(!IdMsg) IdMsg = get_user_msgid("SayText");
    
        message_begin(MSG_ONE, IdMsg, .player = id);
        write_byte(id);
        write_string(szMsg);
        message_end();
    }