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

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

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

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

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: Admin Дата: 23-08-2011, 00:35 Просмотров: 6138

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

    get_playersnum - данная функция возвращает количество игроков/ботов на сервере.
    Ее можно часто встретить в различных плагинах, где плагин взаимодействует со всеми игроками сразу.
    так же различные информеры или карт менеджеры не обходятся без этой функции.

    Инфо из amxmodx.inc:
    /* Returns number of players put in server. 
    * If flag is set then also connecting are counted. */
    native get_playersnum(flag=0);


    Синтаксис:
    get_playersnum ( [ flag ] )

    Обычно не указывается ни какой флаг (это равно флагу 0), но если поставить 1 - то в число игроков войдут и те, кто только присоединяются к серверу.

    Пример:

    /* Plugin generated by AMXX-Studio */

    #include <amxmodx>
    #include <amxmisc>

    #define PLUGIN "Get Players Num"
    #define VERSION "1.0"
    #define AUTHOR "Admin"

    public plugin_init() {
        register_plugin(PLUGIN, VERSION, AUTHOR)
        
        register_clcmd("say /online","players_online")
    }
    public players_online(id){
        
        new players
        players = get_playersnum()
        
        set_hudmessage(0, 255, 0, 0.05, 0.62, 0, 6.0, 12.0)
        show_hudmessage(id, "Players online: %d",players)
        
        
    }

    Описание:
    Разберемся как обращаться с функцией get_playersnum, поставим себе задачу:
    Как узнать сколько людей/ботов сейчас на сервере?!

    Для этого зарегистрируем команду say /online, которая вызывает функцию players_online.
    В ней мы получим и запишем в массив players, количество пользователей/ботов онлайн.
    Вы наверное обратили внимание, что я везде употребляю пользователь/бот, это не случайно, так как функция возвращает ( может немного грубо, или даже в корне верное определение, но зато понятно) +1 к числу игроков, за 1 занятый слот.

    Если вам необходимо отфильтровать ботов, или мертвых игроков, придется делать цикл и в цикле проверять каждый id на принадлежность к игрокам/ботам/HLTV и так далее или можно воспользоваться функцией get_players

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

Реклама