Помощь в реализации системы ожидания игроков.

Сообщения
4
Реакции
1
Всем привет, как можно нормально реализовать систему ожидания игроков для начала игры?

К примеру, у меня есть глобальная bool-переменная g_started, она отвечает за начало игры. Как правильно расставить проверки, что-бы, когда игроков меньше чем нужно, выключать ее (изменять на false), и когда игроков больше, соответственно, включать (изменять на true) еще и перезапуская раунд.

Буду рад любой помощи.
 

Ayk

Сообщения
763
Реакции
478
Помог
19 раз(а)
Igorasha,
В данном разделе размещаются темы, в которых требуется помощь с доработкой или объяснением материала.
В теме должны быть опубликованы попытки (diff кода или последовательность действий) самостоятельного поиска решения.
Если у вас нет наработок и попыток самому вникнуть в проблему, тогда вам в раздел "Покупка"
 
Сообщения
500
Реакции
275
Помог
6 раз(а)
У меня на сервере есть такое. В client_remove() подсчитываю всех теров и КТ (не в client_disconnected(), т. к. в этом форварде игрок ещё числится) и если становится мало игроков, m_bCompleteReset выставляю в true (чтобы таб сбросился) и делаю перезапуск нативом rg_round_end(). Если в RG_CBasePlayer_GetIntoGame онлайн стал пригодным для игры, опять такой же перезапуск. Ну а там уже думайте, когда чем управлять во время режима ожидания.
4 Фев 2021
Да, и ещё надо будет подзапариться с отловом перехода игрока в наблюдатели. Если тим меню стандартное, проблем хукнуть переход не будет. А если кастомное (с присоединением к командам нативами), точно не помню, может даже единственным способом будет проброс форварда перехода в спектра из тим меню в плагин режима ожидания. Если можно без форварда хукнуть любой переход в спек, поправьте меня)
 
Последнее редактирование:
  • Нравится
Реакции: ssx
Сообщения
673
Реакции
242
Помог
11 раз(а)
Код:
stock count()
{
    new iNumT = get_playersnum_ex(GetPlayers_MatchTeam , "TERRORIST");
    new iNumCT = get_playersnum_ex(GetPlayers_MatchTeam, "CT");

    if((iNumT + iNumCT) > 10)
    {
         return true
    }
    return false
}
g_started = count() ? true : false
 
Сообщения
4
Реакции
1
CHEL74, спасибо, буду думать над этим.
 
Последнее редактирование:
Сообщения
500
Реакции
275
Помог
6 раз(а)
Igorasha, на здоровье. Если будут дополнительные вопросы по этой теме, задавайте.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу