10.08.2021, 15:43
Ауф..
Ну, 5 разных логик нужны для того, чтобы их можно было переключать. Я уже не вспомню, можно ли переключать из скрипта, или нет. Возможно, этот функционал остался как атавизм, когда хотели через редактор это все настраивать, а потом решили, что проще воспользоваться скриптовыми функциями напрямую управляющими поведением юнита (из серии UM***).
Про AlarmNumber и AlarmCond можно почитать в описании функции InvokeAlarm. Я никогда не пользовался, но предполагаю, что логика там следующая. Когда взводится очередной алярм, он начинает накапливать в себе количество временных интервалов. Вот AlarmNumber - это идентификатор алярма, а AlarmCond - это накопленное значение, по достижении которого логика должна была бы "сработать". Полагаю, надо искать примеры в родных .mob файлах, чтобы понять, как этим пользоваться. Возможно, именно с помощью InvokeAlarm и переключается логика у юнитов.
Насчет AlwaysActive и Enabled я тоже мало что могу сказать. Могу лишь предположить, что, если всё-таки логики как-то переключаются сами в зависимости от тех же алярмов, например, то AlwaysActive должен позволять зафиксировать какому-то юниту одно конкретное поведение. Ну а Enabled=false должен позволять исключить конкретную логику из списка активных у юнита. Т.о. можно ограничить поведение юнита только включенными режимами логики.
Вообще, с логикой реально надо экспериментировать и только тогда делать выводы. Я никогда особо этим не занимался, поэтому не могу в деталях рассказать.
По поводу крэша хочется поинтересоваться, насколько он мешает жить? Часто ли ты ходишь по этим степсам? ) Просто если нет, то и хрен с ним. Если да, я могу попробовать починить, но у меня тут комп сменился, надо все окружение целиком настроить заново - это целая история.
Ну, 5 разных логик нужны для того, чтобы их можно было переключать. Я уже не вспомню, можно ли переключать из скрипта, или нет. Возможно, этот функционал остался как атавизм, когда хотели через редактор это все настраивать, а потом решили, что проще воспользоваться скриптовыми функциями напрямую управляющими поведением юнита (из серии UM***).
Про AlarmNumber и AlarmCond можно почитать в описании функции InvokeAlarm. Я никогда не пользовался, но предполагаю, что логика там следующая. Когда взводится очередной алярм, он начинает накапливать в себе количество временных интервалов. Вот AlarmNumber - это идентификатор алярма, а AlarmCond - это накопленное значение, по достижении которого логика должна была бы "сработать". Полагаю, надо искать примеры в родных .mob файлах, чтобы понять, как этим пользоваться. Возможно, именно с помощью InvokeAlarm и переключается логика у юнитов.
Насчет AlwaysActive и Enabled я тоже мало что могу сказать. Могу лишь предположить, что, если всё-таки логики как-то переключаются сами в зависимости от тех же алярмов, например, то AlwaysActive должен позволять зафиксировать какому-то юниту одно конкретное поведение. Ну а Enabled=false должен позволять исключить конкретную логику из списка активных у юнита. Т.о. можно ограничить поведение юнита только включенными режимами логики.
Вообще, с логикой реально надо экспериментировать и только тогда делать выводы. Я никогда особо этим не занимался, поэтому не могу в деталях рассказать.
По поводу крэша хочется поинтересоваться, насколько он мешает жить? Часто ли ты ходишь по этим степсам? ) Просто если нет, то и хрен с ним. Если да, я могу попробовать починить, но у меня тут комп сменился, надо все окружение целиком настроить заново - это целая история.
Duty is everything, the greatest of joys, the deepest of sorrows.