Рандомная работа RestartRound и CheckMapConditions

Сообщения
403
Реакции
114
Помог
2 раз(а)
Здравствуйте!

Подскажите, пожалуйста, с чем связана абсолютно рандомная работа хуков RestartRound и CheckMapConditions (не помню у кого подсмотрел для опредения начала раунда)?!! После rg_round_end(..., true) с/без установленного флага set_member_game(m_bCompleteReset, true). Это что-то "авторское", типа так задумано... или очередной косяк REAPI? Я категорически не понимаю такого небыдлокодства... 4 раза делаю рестарт сервера - 2 раза хуки срабатывают, 2 раза нет :swoon2:

register_event("HLTV", "new_round", "a", "1=0", "2=0"); работает всегда исправно, при любом сценарии завершения раунда. Есть ли точный аналог этого события в reapi, без возможно может быть наверно весьма вероятно срабатаю? Полтора часа убил на это...

UPD: 1 из 3 раз register_event("HLTV", "new_round", "a", "1=0", "2=0"); не срабатывает тоже... Забавно :-) Значит дело в rg_round_end()...
 
Последнее редактирование:
Сообщения
403
Реакции
114
Помог
2 раз(а)
Это какая-то бага с ROUND_NONE в rg_round_end(), с ROUND_GAME_RESTART заработало... Все хуки срабатывают всегда.
 
Сообщения
677
Реакции
579
Предупреждения
8
Помог
9 раз(а)
Сообщения
403
Реакции
114
Помог
2 раз(а)
Vaqtincha, не круто, будет текст на анлицком... мне нужен определенный текст по центру экрана.
22 Май 2024
fl0wer, ну да... Можно проверить сколько раз сработает хук после:
Код:
rg_round_end(f_delay, WINSTATUS_NONE, ROUND_NONE, "Blabla", _, true);
У меня из 6 раз (в самом первом раунде, при рестарте сервера), минимум 2 раза не прилетает событие.

Этих глюков вагон... Если перехватить GAME_COMMENCE в RoundEnd_Pre
Код:
if (event == ROUND_GAME_COMMENCE) {
       set_member_game(m_bGameStarted, true); // Это вообще сделали ReadOnly
       SetHookChainReturn(ATYPE_BOOL, false);
       return HC_SUPERCEDE;
}
, потом рандомно при первом убийстве игрока это событие прилетает повторно, либо пока раунд нормально не завершится и тогда станет m_bGameStarted = true.

Я не знаю, какой логикой руководствуются разрабы, но если я прервал хук - очевидно, я не желаю прохождения этого события и... либо нужно убрать m_bGameStarted из секции Private и дать возможность программисту самостоятельно изменять это значение, либо автоматически его устанавливать в такое значение, при котором это событие больше не повторится.
 
Последнее редактирование:
Сообщения
403
Реакции
114
Помог
2 раз(а)
fl0wer,
Значение этого поля я не могу поменять через set_member_game():

Если прервать рестарт по событию GAME_COMMENCE оно будет задалбливать пока, не будет сделан рестарт с этим типом события. Если в начале сделать рестарт через 3 секунды - еще через 4 секунды все равно прилетит опять это событие... Так что логики там нет никакой, кроме глюков.
 
Последнее редактирование:
Сообщения
1,701
Реакции
1,512
Помог
26 раз(а)
Refresh, можешь, но в след.кадре геймлиба поставит своё значение в зависимости от кол-ва человек.
 
Сообщения
403
Реакции
114
Помог
2 раз(а)
fl0wer, ну я же привел пример... заходит 5/5, делаем сразу рестарт через 3 секунды до события GAME_COMMENCE - значение m_bGameStarted = false, еще через 4 секунды прилетает еще 1 рестарт...
 

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

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