Ну может я и ошибся сказав о том что приведенный вами алгоритм сложнее - нет, он лучше сказать не рациональнее. По вычислительной сложности оба алгоритма одинаковы:
1) устанавливается рандомное значение от 5.0 до 6.0 - что эквивалентно вхождению в комбат как вы сказали в разное время, не знаю про какую логику вы говорите и как это работает в цикле.( например по четным / нечетным числам в игровых часах что ли? - опять же лучше задать просто рандомное значение)
2) Идет обратный отчет.
3) Проверяет на комбат только когда к игроку применены действия, либо действия самого игрока. Т.к. за игроком закреплен таймер выхода из боя, то по истечению его времени игрок, переходит в состояние выхода из боя. - в вашем случае все тоже самое, но как вы сказали идет ежесекундная(к примеру) проверка на то, что, не истекло ли время таймера. В таком случае, все то же самое, что и в моем алгоритме, но данные частые проверки должны больше нагружать сервер, аы согласны? Т.к. они чаще>не рационально.
Учитывайте, что не все спелы требуют проверки на наличие/отсутствие боя, следовательно и проверять его ежесекундно имеет мало смысла. Понятие не имею от куда у вас вообще могла родиться такая идея.






