AviaSkins.Forums

AviaSkins.Forums (http://forum.aviaskins.com/index.php)
-   Миссии и кампании для Ил-2 (http://forum.aviaskins.com/forumdisplay.php?f=10)
-   -   Скрипты для быстрой проверки кампаний (http://forum.aviaskins.com/showthread.php?t=5423)

KimCh 23.03.2020 11:11

Скрипты для быстрой проверки кампаний
 
Вложений: 1
Все скрипты в одном флаконе

Спасибо коллегам Asura, SkyFan за идеи и всем-всем за тестирование и найденные ошибки.

Краткая документация по каждому скрипту в архиве.

Скрипты распространяются по принципу "Как есть", раз уж они есть. Каждый может использовать, править, дарить кому (или кого) не жалко...

Внимание!
1. Некоторые скрипты создают или перезаписывают файлы кампаний. Экспериментировать с ними лучше в отдельном каталоге. Не забывайте создавать резервные копии!
2. Для работы некоторых скриптов необходимо заранее создать папку !AircraftSelector\MyLists.
3. В некоторых скриптах можно задать свой текстовый или табличный редактор в переменной TextEditor.
4. В некоторых скриптах можно задать расположение сформированного файла в переменной OutFilePath.
5. Необязательные параметры приведены в квадратных скобках. Если необязательный параметр не задан, то
предполагается текущий каталог (каталог в котором запущен скрипт).
6. Полезно проверить реестр перед установкой скриптов, ccleaner'ом например.
7. Виндовс снимает скрипты, которые, по его мнению, выполняются слишком долго. Можно увеличить время командой через Пуск/Выполнить:
cscript //T:150 //S
150 - максимальное время выполнения в сек, можно свое задать.

Параметры скриптов можно задать с использованием соответствующего bat файла (например для запуска из
Проводника) или созданием ассоциации с маской файла (в консольном менеджере Far).


Проверка кампаний (папка CheckMis)
checkMis.js. [папка_кампании]

Скрипт проверяет файл campaign.ini и перечисленные в нем файлы миссий. Проверяется существование файлов роликов, миссий, текстов миссий *_ru.properties, скинов. Вычисляется направление взлета и посадки и сравнивается с направлением ветра, при разнице +- 90 выдается предупреждение.
Для DGEN 3.0 проверяется вооружение самолетов по файлам air.ini и weapons.properties.
Добавлена возможность проверять одиночные миссии.
Примечание: Никакие изменения в файлы кампании не вносятся.


Работа с файлами properties (папка Properties)

I. Быстрый способ проверки орфографии и корректировки текстов описаний
Deco.js [файл] и Code.js [файл]
Идея:
1) Автоматически перекодируем все *_ru.properties в текстовый файл (скрипт deco.js).
2) Редактируем этот файл в удобном редакторе, проверяем орфографию, обрабатываем чем угодно, например
переводим яндексом (с некоторыми правками, особенно после переводчика).
3) Автоматически создаем файлы *_ru.properties из отредактированного (скрипт code.js).

Примечание: code.js создает или перезаписывает файлы properties.

II. Просмотр файлов properties
showprop.js файл

Скрипт показывает файл с расширением properties преобразованный в кодировку cp1251. Исходный файл
открывается в режиме только чтение, никакие изменения в файлы не вносятся.

Примечание: Никакие изменения в файлы не вносятся.

III. Редактирование файлов properties
EditProperties.js файл

В текстах описаний кампаний редактируется только раздел Description. Name и Short остаются без изменений.
В других файлах properties редактируется весь текст.

Примечание: Исходный файл перезаписывается, а предыдущая копия сохраняется с расширением .bak.


Формирование списков для загрузки в AircraftSelector

I. Формирование списка статических кампаний (папка CustomLists)

getCustomList.js [каталогКампании] [файлсписка]


Исправления от 28.05.20:
1. Если параметры каталогКамании и файлсписка не заданы, то результат обработки записывается в каталог !AircraftSelector\MyLists.
2. Добавлена обработка каталога Single.

Позволяет составить свой список из нескольких кампаний.
Скрипт рекурсивно просматривает все файлы mis начиная с заданного или текущего каталога, выбирает имена самолетов из строк class air и plane$ и записывает их текстовый файл.

Примечание: Никакие изменения в файлы кампании не вносятся.

II. Упрощенное формирование списка статической или одиночной кампании
OffLineCustomList.js [каталогКампании]

Работает аналогично getCustomList, но обрабатывает только одну кампанию или один список статических кампаний
каталога Single\??

Примечание: Никакие изменения в файлы кампании не вносятся.
Если в корневом каталоге диска с игрой есть каталог ntrk_wizard со скриптом NtrkCustomList.js, то в список самолетов будут добавлены самолеты из роликов кампании.

III. Формирование списка динамической кампании
DgenCustomList.js файлДинКампании

Формирует список самолетов из классов air и статических объектов динамической кампании.

Примечание: Никакие изменения в файлы кампании не вносятся.


Списки кампаний по каталогам (папка CampaignLists)

I. Формирование списка кампанийй
GetCampaignList.js [каталог]

В каталоге Missions со временем накапливается масса кампаний и разобраться где что лежит проблемно.
Скрипт рекурсивно просматривает все файлы info*.properties начиная с каталога заданного первым параметром
(если не задан - с текущего) и формирует список соответствия имени и каталога кампании.

Примечание: Никакие изменения в файлы кампании не вносятся.

II. Упрощенная версия формирования списка кампаний
offlineCampaignList.js

Работает аналогично GetCampaignList.js, но формирует список для текущего каталога.

Примечание: Никакие изменения в файлы кампании не вносятся.

III. Формирование списка файлов динамической кампании !AircraftSelector\\MyLists
DgenFileList.js
Версия от 09.06.20
Добавлнена проверка наличия файлов settingsXX.dat
Версия от 20.05.20
Добавлена проверка наличия файлов операций ops* и сообщений *Msg*.
Если в имени кампании есть суффикс _Ru, то проверятеся наличие файла *MsgRu, иначе *MsgEn.

Работает так же как и DgenCustomList.js но вместо самолетов формирует список файлов относящихся к выбранной
кампании с расширением .list.

Примечание: Никакие изменения в файлы кампании не вносятся.

IV. Создание списка динамических кампаний
DGenCampaignList.js

Скрипт просматривает все файлы campaign*.dat и формирует файл DgenCampaignList.csv (кодировка 1251,
разделитель ";") в каталоге Dgen.

Примечание: Никакие изменения в файлы кампании не вносятся.


Добавление или удаление радиовышки (папка Radio)
I. Автоматическое добавление радиовышки
addRadio.js [каталогКампании]
Скрипт добавляет одну радиовышку во все миссии выбранной кампании, если ее там еще нет.
ВНИМАНИЕ!!!
Скрипт переписывает все файлы с расширением mis!
Делайте резервные копии обрабатываемого каталога.


II. Автоматическое удаление радиовышки
delRadio.js [каталогКампании]
Скрипт удаляет радиовышку из всех миссий выбранной кампании, если ее код не корректировался вручную.
ВНИМАНИЕ!!!
Скрипт переписывает все файлы с расширением mis!
Делайте резервные копии обрабатываемого каталога.


Создание списка самолетов из файлов ntrk
NtrkCustomList.js [файлСписка]
Скрипт просматривает все видео из файла campaign.ini и формирует список самолетов в файл "ИмяКаталогаКампании_CustomNtrk.txt" или в файл указанный первым параметром.
Установка:
Распаковать папку ntrk_wizard в корневой каталог диска с игрой.
Примечание: Никакие изменения в файлы кампании не вносятся.
Этот скрипт автоматически вызвается из offlineCustomList.js.

SkyFan 23.03.2020 15:51

Kimch, СПАСИБО! :beer:
Скрипт, действительно, шикарный. :good:
Это инструмент, необходимый каждому кампаниеваятелю. Особую ценность он приобретает при оформлении дистрибутива кампании перед релизом, когда надо проверить, все ли скины положил в дистрибутив, не осталось ли "очепяток" в тексте брифингов, косяков с направлением ветра и т.д. Все, на что ранее тратилось несколько часов "колупания" в полном редакторе, теперь делается в один клик. :bravo:
Спасибо еще раз! :thx:

dvor333 23.03.2020 19:40

Спасибо за ценное приобретение!
Как мне его не хватало на заре знакомства с созданием кампаний!

Mixx 24.03.2020 13:41

Очень нужная и интересная прога. Большая благодарность автору!:good: читаю и разбираюсь

deSAD 25.03.2020 10:17

Цитата:

Сообщение от KimCh (Сообщение 206719)
Скопировать скрипт в любой каталог и настроить просмотр по F3 в Far или TotalComander.

О! Это реально круто :good: Вельми понеже. Премного вами благодарен :thx:

Asura 27.03.2020 11:02

Цитата:

Сообщение от KimCh (Сообщение 206788)
Крайний скрипт - идеи кончились.

А если подкинуть идеку? ;)

Формирование списка для селектора но для дин кампании... У меня никак руки до этого не дойдут. Алгоритм расскажу. А вообще скрипты очень нужные! Спасибо!

KimCh 27.03.2020 11:23

Цитата:

Сообщение от Asura (Сообщение 206789)
А если подкинуть идеку? ;)

Подкиньте, можно в личку. Если сумею сделаю.

Pirx 27.03.2020 15:15

Для динамических кампаний был бы очень полезен такой скрипт .

Asura 27.03.2020 15:56

Цитата:

Сообщение от KimCh (Сообщение 206791)
Подкиньте, можно в личку. Если сумею сделаю.

Там ничего сложного, те же текстовые файлы но со своей структурой. Я сегодня без данных нужных, а завтра мини ТЗ сформулирую. Пока можно скачать кампании Моторхеда - ТЗ на их основе буду готовить :)

Niro 02.04.2020 12:11

Цитата:

Сообщение от KimCh (Сообщение 207184)
Построение списка самолетов динамической кампании.
DgenCustomList.js файл

Скрипт не меняет никаких файлов на диске, все файлы открываются в режиме только чтение.

Установка:
Распаковываем все в папку Dgen.

Подробнее в архиве, картинки настройки Far и Проводника прилагаются.

Где искать сам готовый список, не могу найти ?

KimCh 02.04.2020 12:52

Цитата:

Сообщение от Niro (Сообщение 207202)
Где искать сам готовый список, не могу найти ?

Готовый список имеет имя customXXXX.txt (например customUS49.txt) и находится в каталоге со скриптом (рекомендую распаковать архив в Dgen). Вообще список должен открываться автоматически в Notepad.exe после формирования. Проверено в Win7.
Если необходимо задать другое размещение - исправте 118 строку скрпипта:
OutFile="custom"+campName+".txt"
например на
OutFile="C:\\custom"+campName+".txt"
получите списки в корне диска C:
Любой путь и имя файла можно задать в переменной OutFile (обратите внимание на двойные обратные косые).

KimCh 03.04.2020 09:13

Доработал скрипт редактирования properties

Вкралась опечатка! Обновил еще раз.

Кто найдет ошибки - пишите!

KimCh 03.04.2020 14:37

Доработал скрипт построения списка самолететов динамических кампаний. Неверно обрабатывалить длинные имена каталогов с пробелами, что создавало проблему при запуске из Проводника.
Надо все скрипты проверить.

Niro 03.04.2020 15:36

Цитата:

Сообщение от KimCh (Сообщение 207206)
Если необходимо задать другое размещение - исправте 118 строку скрпипта:
OutFile="custom"+campName+".txt"
например на
OutFile="C:\\custom"+campName+".txt"
получите списки в корне диска C:
Любой путь и имя файла можно задать в переменной OutFile (обратите внимание на двойные обратные косые).

Дочка посмотрела говорит, что 124 страница в последнем варианте. Похоже на то. Еще не пробовал.

KimCh 03.04.2020 16:24

Цитата:

Сообщение от Niro (Сообщение 207271)
Дочка посмотрела говорит, что 124 страница в последнем варианте. Похоже на то. Еще не пробовал.

Если что-то не выходит обязательно напишите. Совсем забыл поблагодарить за идею Асуру и Моторхэда за тестирование.

Niro 03.04.2020 16:44

Цитата:

Сообщение от KimCh (Сообщение 207275)
Если что-то не выходит обязательно напишите. Совсем забыл поблагодарить за идею Асуру и Моторхэда за тестирование.

Скрипт находится в папке Dgen. На 124 странице скрипта написал свой путь к селектору OutFile="D:\\IL-2_Sturmovik_v4_14_1\\IL2 Platinum\\!AircraftSelector\\SET_DATA\\custom"+cam pName+".txt".
И таки да в в папке SET_DATA образовался список, который можно выбрать в селекторе через "свой список". Но на этом песня кончилась, поскольку понять какую кампанию выбрал в игре обычному игроку невозможно.
Думаю, что Моторхэд и Асура работают что бы было все понятно.

KimCh 03.04.2020 17:47

Цитата:

Сообщение от Niro (Сообщение 207278)
Скрипт находится в папке Dgen. На 124 странице скрипта написал свой путь к селектору OutFile="D:\\IL-2_Sturmovik_v4_14_1\\IL2 Platinum\\!AircraftSelector\\SET_DATA\\custom"+cam pName+".txt".
И таки да в в папке SET_DATA образовался список, который можно выбрать в селекторе через "свой список". Но на этом песня кончилась, поскольку понять какую кампанию выбрал в игре обычному игроку невозможно.
Думаю, что Моторхэд и Асура работают что бы было все понятно.

Переменная campName содержит имя кампании. Если формировался список на campaignsGB121.dat то имя файла будет customGB121.txt.
Если есть идеи откуда взять имя для списка, то сообщите.
Думаю, надо какое-то оглавление в отдельном файле для расшифровки GB121, RU2 и т.д.

Вопрос к специалистам. Может свой список иметь внутри себя комментарии или должен иметь только самолеты?

KimCh 04.04.2020 17:57

Обновил скрипт для проверки кампаний checkMis.js.
Исправлена ошибка обработки ветвящихся миссий в campaign.ini.

KimCh 05.04.2020 09:15

Проверил все скрипты на обработку каталогов содержащих пробелы в имени. Все работает. Если у кого проблемы - сообщите.

Niro 06.04.2020 16:26

Цитата:

Сообщение от KimCh (Сообщение 207406)
Создание списка динамических кампаний.
DGenCampaignList.js

Установка:
Скопировать в каталог Dgen.

Скрипт просматривает все файлы campaignXXXX*.dat и формирует список вида Файл;Наименование кампании в файле csv.

Для обработки списка автоматически запускается scalc из пакета LibreOffice. После запуска нужно файл Сохранить как .. в нужный каталог.

Подробнее в архиве.

Почему-то создалась пустая табличка в excel.


Текущее время: 07:09. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot