Сообщение от
Zed4ever
Доброго времени суток!
Для вступления - Спасибо авторам компаний за труды, без них БоБ был бы не так интересен!
Теперь по делу.
У меня возникло несколько вопросов, м.б. не в эту ветку, но всё-ж.
Буквально несколько дней назад закончил компанию "День орла". Отлетал все миссии, не всегда строго следовал заданию, и, как следствие крайне редко получал на экране заветную надпись "Миссия выполнена". При этом, назад до филда добирался всегда.
Да и надписи типа "осн или доп задание выполнено", "спу" тоже как-то редко и хаотично появлялись.
А тут начал компанию за 110 и решил исправиться - без "оффициального допуска" в следующую миссию ни-ни.
Однако, уже при прохождении самой первой миссии заветную надпись получить так и не смог. Что я только не пробовал - и убивал все самолеты-танки-машинки на полигоне, и сбивал всех хурей самолично, посадку, есс-но, всегда осуществлял на свой аэродром. Причем как ДО, так и вместе и после ведущего - результат один - "незачот".
Мне стал интересено - как вообще получается надпись "Миссия выполнена успешно". Залез в скрипт миссии и, как понял - для успешного завершения достаточно всего то плюхнуться на филд (и это, вроде, не обязательно), чтобы получить заветные
Campaign.battleSuccess = true;
isComplete = true;
score += 100;
HUDMessgeTo("Вы выполнили основное задание!");
Выяснил следующее - методы по событию типа OnBattleStarted, OnAircraftLanded и т.д. не вызываются вообще. Сделал тестовую миссию, на базе той которую Small_Bee выкладывал, только довесил к ней своих обработчиков событий с выводом на экран по свершению оного. Результат - "фига". События не происходят. Вернее, они происходят, но о-очень через раз...
Посмотрел, что в консоль выводится, различные эксцепшны есть, но всех любопытнее оказалась ругань на campaing.dll - типа не могу найти.
Длл эта, как и положено, оказалась на месте в боб-овой папке. Для надежности я её ещё в систем32 положил, и зарегистрировать попробовал - не вышло, regsvr32 сказал что модуль загружен, но точка входа DllRegisterServer не найдена.
При этом ругань в консоли на длл-ку прекратилась, события стали отрабатывать корректно (скорее всего, нахождение оной в систем32 помогло).
Но при длительных тестах (10 раз перезапускал боб) обнаружил, бывает, что события "проходят мимо" и происходит это тогда, когда в консоль идет ругань на campaing.dll. Однако, прогресс на лицо - сейчас события гораздо чаще отрабатывают. (на долго ли...)
Из всего вышесказанного несколько вопросов и предложений:
1 - у меня одного такие "неполадки" (скрипты выполняются крайне нестабильно)?
2 - а с# в скриптах чем-то "обрезан"? Пространства имен все доступны?
3 - а можно настраивать размер цвет и шрифт выводимой на экран надписи? (можно использовать для отладки, вывода справок и т.д.)
Или вообще сделать его "анимированным", типа гиф-ки? И выводить его не по центру, а там где требуется.
(Это у меня задумки есть сделать обучающие миссии управления самолетом, чтобы совсем новому в ил2 человеку в кабине подсказывать какие рычажки дергать и зачем. А то те обучалки что есть крайне убоги... Да и для каждого самолета желательно иметь хороший "интерактивный" мануал с режимом дополненной реальности)))
4 - может быть есть смысл по прохождению чекпоинтов выводить надпись типа "следуйте к след. чекпоинту" ну, или хотябы "следуйте домой" когда маршрут на последнюю точку переходит? А то в пылу боя не всегда за эфиром следишь, да и не всегда бот-ведущий в эфир говорит о том, что он домой собрался.
5 - можно управлять переговорами по радио между ботами, вставлять туда свои фразы и т.д. из скрипта? (Желательно с озвучкой из указанного файла)
6 - в чем смысл вставки "=" в файле campaings.ini, если его руками убирать надо? (я сначала подумал на заморочки со стимом - чтобы он его не обновлял при проверке целостности, ан нет... затирает гад)
7 - из предыдущего вытекает: в другой ветке разраб обещал подсказать как сделать так, чтобы campaings.ini не затирался при обновлении/проверке целостности - это еще не реализовано?
8 - зачем 2 файла делать для установщика (для 32 и 64 разр) - ведь в инсталяторе всегда можно узнать какая операционка, да и вся разница в установках только в пути до стима, или я чего-то недоосознаю?)
9 - может быть есть смысл в миссиях, для справки, можно добавить в описание что нужно для удачного завершения? (это чтобы такие как я не мучались с вопросами и не лезли скрипты ковырять)))
Еще раз спасибо за Ваши труды!
З.Ы.
Win7x64, i7 2600k gf gtx580, 16Gb, версия игры: последняя из стима, папка кэш чистится скриптом на запуск боба.
Профессия - программист АСУ.