OnBattleStopped вызывается в момент, когда никто уже ничего не видит.- Метод DrawnBattle()
Вызывает сообщение, что битва закончилась ничьей и загружает следующее сражение по истечении 1 минуты.
- Метод RedArmyWon()
Вызывает сообщение, что битва закончилась победой красных и загружает следующее сражение по истечении 1 минуты.
- Метод BlueArmyWon()
Вызывает сообщение, что битва закончилась победой синих и загружает следующее сражение по истечении 1 минуты.
А кому тогда победу или ничью давать? Нужен метод, который вызывается перед завершением миссии и в нем раздаются плюшки, мне кажется. Я городил в миссии счетчик, неудобно. Надо подгонять время миссии в скрипте и указанное в командере, чтобы синхронно завершилось. Заодно проверять, чтобы оно не выходило за рамки(т.е. время в командере - 5 минут, сообщение выводится за 6 минут до конца - почти нереальная ситуация на реальном сервере, но на тестах всплывает). В предыдущем варианте миссия судя по логам ни разу не успевала передать сообщения о выигравшей стороне.
Я там дополнил - 0 длительность поставь для миссии. Тогда рулить можешь по своему усмотрению.
Плюшки раздавай перед вызовом метода завершения миссии. Ну или в OnBattleStopped уже, ты же все равно знаешь кто победил.
--- Добавлено ---
Конечно, OnBattleStopped потому так и называется, что вызывается уже после завершения.
Нет, там по таймеру было - через cmd репка перегружаться должна была через 4 часа, а выходило по-разному. В OnBattleStopped я просто проверял на тестах.
Может все-таки еще один метод ввести, который вызывается автоматически за одну минуту до конца миссии(и куда можно прописать выдачу результата)?
Крайний раз редактировалось podvoxx; 25.05.2012 в 18:29.
Small_Bee, есть замечание по поводу расположения папки командера с миссиями.
Полный редактор не видит папки выше по уровню, чем папка missions(та, что игровая). Т.е. в полном редакторе нельзя отредактировать миссии из папки командера, это очень неудобно - приходится их перемещать туда-сюда.
Вчера тестировал новую миссию на командере - в ротаторе что-то странное творилось. Миссия снятая с ротация все равно в нее включалась(сама меняла значок), хотя я сохранял настройки. Также, если вырезать файл миссии из папки командера и вставить его потом обратно - он принимает ее за новую и просит создать для нее скрипт, хотя скрипт уже настроен и только что работал
Ошибку с запуском исключенной миссии поправил,вечером будет public beta 1.1.Погорячился.
Крайний раз редактировалось Small_Bee; 26.05.2012 в 23:06.
Вопрос по методам локализации и хранилищу. Они будут работать только в командере или можно будет подключить к любому скрипту как dll?
Просто в первом случае будет работать только для выделенного, во втором - во всех режимах игры(только в карьере не проверял). Я сделал для себя пока две сборки - для сообщений и для хранилища, очень удобно и быстро тестировать - сначала в сингле, потом на сервере из игры и потом уже на выделенном(окончательная проверка). Ну и в кампаниях и в других миссиях можно использовать.
Теоретически ограничений нет, но я бы крайне не рекомендовал запуск миссий коммандера без коммандера. Это дело я никак не тестировал, и скорее всего и не буду, равно как и поддерживать такую возможность. Чем дальше, тем теснее коммандер будет интегрироваться с миссией, и рисовать кучу вилок чревато. Он в принципе предназначен для выделенного сервера, и другого назначения у него нет и не будет.
Общий локалайзер точно работать не будет, не будет работать ротация и ограничение миссии по времени, все пути придется искать самостоятельно и т.д. и т.п.
Крайний раз редактировалось Small_Bee; 28.05.2012 в 15:16.
Ок, можно тогда использовать свою сборку локалайзера и хранилище на репке, чтобы не заморачиваться с отдельной копией для выделенного(хочется все-таки универсальности в разных режимах игры, да и тестировать на выделенном я запарюсь - внешнего IP к тому же нет)? Тогда просто пути поменяю и наследование изменю, этого должно быть достаточно. Если будут проблемы - пустим через командер тогда и локализацию, и хранилище.
Миссия почти готова, осталось протестировать на выделенном.
Скажите плиз,сам коммандер обновлялся с релиза или только доп про статистику(пока не интересует). Чёта полсле отпуска не втыкаю
QuadCore AMD Phenom II X4 Black Edition 965, 3415 MHz.......Операционная система Microsoft Windows 7 Ultimate 64 SP 1.....Системная плата Gigabyte GA-790FXTA-UD5 (3 PCI, 1 PCI-E x1, 3 PCI-E x16, 4 DDR3 DIMM, Audio, Dual Gigabit LAN, IEEE-1394)........Системная память 8192 Мб (DDR3-1333 DDR3 SDRAM)........Видеоадаптер NVIDIA GeForce GTX 570 (1280 Мб)......Монитор LG D2342P(HDMI)
1.1 рядом лежит.
На днях будет след бетка, с исправленными ошибками и небольшими изменениями. Большие будут вместе со статой.
QuadCore AMD Phenom II X4 Black Edition 965, 3415 MHz.......Операционная система Microsoft Windows 7 Ultimate 64 SP 1.....Системная плата Gigabyte GA-790FXTA-UD5 (3 PCI, 1 PCI-E x1, 3 PCI-E x16, 4 DDR3 DIMM, Audio, Dual Gigabit LAN, IEEE-1394)........Системная память 8192 Мб (DDR3-1333 DDR3 SDRAM)........Видеоадаптер NVIDIA GeForce GTX 570 (1280 Мб)......Монитор LG D2342P(HDMI)
Ситуация такая получается. Пробовал запускать миссию на своем компьютере с версией командера 1.1, время миссии - 0. Все работает отлично. При победе обеих сторон миссия корректно перезагружается(ждал несколько перезагрузок). Ошибок нет.
Та же миссия на Р1, версия командера также 1.1. Все кроме настроек убрано из папки командера и заменено на версию 1.1.
Могут настройки мешать ротации?
Small_Bee , не ты случайно подключился к удаленному раб. столу Р1? Меня выкинуло на самом интересном месте