Как Написать Скрипты Установки

которые определяют, как будет установлен ваш мод. Переведено Google



Автоматическая установка

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

ftp://ftp.armedassault.info/ofpd/unofaddons2/ww4mod25rel.rar
ftp://ftp.armedassault.info/ofpd/unofaddons2/ww4mod25patch1.rar

Если для архива требуется пароль, добавьте в строку /password:.

http://example.com/locked.rar  /password:123

Как это работает?

Установщик проверяет расширение загруженного файла:

  • Если это .rar, .zip, .7z, .ace, .exe или .cab, он извлечет его и проверит его содержимое.
  • Если файл .exe не удалось распаковать и до этого момента не было скопировано ничего другого, он попросит пользователя запустить его.
  • Если это .pbo, то он определит его тип и переместит его в addons, Missions, MPMissions, Каталог Templates или SPTemplates в папке мода.
  • Другие типы файлов игнорируются.


Когда установщик встречает каталог, он проверяет его имя и содержимое:

  • Если его имя совпадает с названием устанавливаемого мода, то он будет перемещен в папку с игрой. Все оставшиеся файлы и папки в этом месте (кроме других модов) будут перемещены в папку с модами. Если присутствует каталог addons, он будет объединен с IslandCutscenes в папке мода.
  • Другие папки модов будут игнорироваться (исключения: 1. папка Res 2. если скачанный архив содержит только одну папку, то она не будет пропущена).
  • Если его имя совпадает с addons, bin, campaigns, dta, < code>Missions, MPMissions, Templates, SPTemplates, MissionsUsers, MPMissionsUsers или IslandCutscenes, то он будет перемещен в папку модов (содержимое будет объединено). Если MPMissions содержит только одну папку, вместо нее будет перемещена эта папка. Если Missions содержит только одну папку с именем мода, то ее содержимое будет объединено с миссиями мода. Если он не совпадает, он будет перемещен как отдельная папка.
  • Если он содержит overview.html, он будет перемещен в папку Missions в папке мода.
  • Если его имя заканчивается на "anim", "_anim" или "_anims", то он будет перемещен в IslandCutscenes. Если какая-либо из родительских папок была названа "res" или в их именах есть слова "res" и "addons", то вместо этого текущий каталог будет перемещен в IslandCutscenes_Res.
  • Если это папка с миссией, то установщик определит ее тип и переместит в папку Missions, MPMissions, Templates или SPTemplates в папке с модами. Если имя папки содержит слова "demo" или "template" или если какое-либо из имен родительских папок содержит слова "user" или "mission" и "demo/editor/template", то текущая папка будет перемещена в MissionsUsers или MPMissionsUsers.
  • В любом другом случае он будет просматривать его содержимое и применять те же правила для каждой папки (первой) и файла в ней.


Установщик перезаписывает существующие файлы. Автоматически создает необходимые папки.


Ссылки для скачивания

1. Ссылки должны начинаться с протокола. Пробелы следует заменить на %20. Ссылки должны указывать прямо на файл.

http://ofp-faguss.com/addon/winterofp/[coop]%20nogova%20virus%20-%20they%20hunger.noe_winter.7z


2. Если сайт требует прохождения промежуточных страниц для получения прямой ссылки, то пишите адрес каждой страницы.

<начальный URL>  <опционально промежуточные звенья>  <имя выходного файла>

На самом деле вам не нужно вводить полный промежуточный URL-адрес, а только уникальную часть, которую легко найти в исходном коде страницы. Последний пункт — имя, под которым будет сохранен файл. Если он содержит пробелы, то поместите его в кавычки.

https://www.moddb.com/mods/sanctuary1/downloads/ww4-modpack-25 /downloads/start/ /downloads/mirror/ ww4mod25rel.rar

В приведенном выше примере установщик:

  • Страница загрузки https://www.moddb.com/mods/sanctuary1/downloads/ww4-modpack-25
  • Найдите URL-адрес, содержащий фразу /downloads/start/, и загрузите веб-страницу по этой ссылке.
  • Найдите URL-адрес, содержащий фразу /downloads/mirror/, и загрузите его содержимое как ww4mod25rel.rar.

На странице обновления мода под полем ввода скрипта вы найдете инструмент, который автоматически записывает промежуточные ссылки (для нескольких выбранных сайтов). Дополнительную информацию о том, как самостоятельно найти такие ссылки, вы найдете ниже.



3. Если у вас есть резервные ссылки, поместите их все между парой фигурных скобок. Пример:

{
	http://files.ofpisnotdead.com/files//ofpd/mods/fdfmod14_ww2.rar
	http://fdfmod.dreamhosters.com/ofp/fdfmod14_ww2.rar
	https://www.gamefront.com/games/operation-flashpoint/file/fdf-mod  fdf-mod/download  expires=  fdfmod14_ww2.rar
}

Если с первым не получится, установщик попытается установить второй и так далее. Файлы должны быть идентичными, поскольку прерванная загрузка будет продолжена с последней позиции.

Имена файлов загрузки также должны быть идентичными. Пример:

{
	https://docs.google.com/uc?export=download&id=17oRbO4tnrXSFQgCPYCJ48b7dDF0TfIPx sandy.zip
	http://files.ofpisnotdead.com/files/ofpd/unofaddons2/footsandy.zip sandy.zip
}

4. Для экономии места на диске загруженный файл удаляется, как только начинается следующая загрузка. Чтобы сохранить файлы, используйте команду GET.


Команды

Есть команды, чтобы заставить установщик делать именно то, что вы хотите:


Некоторые команды имеют псевдонимы. Например, remove и delete — это одно и то же.

Пишите каждую команду в отдельной строке.

Команды обычно требуют аргументов. Они должны быть даны в указанном порядке. Разделяйте их пробелами. Если аргумент содержит пробел, поместите его в кавычки.

команда аргумент1 "аргумент 2" ...

Команды также могут использовать переключатели, являющиеся необязательными аргументами, которые могут быть записаны в любом месте в порядке следования аргументов. Они начинаются с косой черты.

команда /выключатель аргумент

Я рекомендую использовать команды с большой буквы для удобства чтения.

Недопустимые имена команд будут игнорироваться.

Начальные и конечные пробелы будут игнорироваться.

Скрипт может состоять как из автоматической установки, так и из команд.


Unpack, Extract

UNPACK  <URL или файл>  /password:<текст>

Извлекает выбранный архив из каталога fwatch\tmp\ в подпапку _extracted (ее предыдущее содержимое стирается ). Если указан URL-адрес, он загрузит файл в fwatch\tmp\ и извлечет его.



Пример:

UNPACK  ftp://ftp.armedassault.info/ofpd/mods/fdfmod13_installer.exe

Как открыть вложенные архивы:

UNPACK  first.rar
UNPACK  _extracted\second.rar
UNPACK  _extracted\_extracted\third.rar

Добавьте переключатель /password:, если для архива требуется пароль.

UNPACK  example.rar  /password:123

Если аргумент не указан, будет извлечен последний загруженный файл.

Назад

Move, Copy

MOVE  <файл или URL>  <назначения>  <новое имя>  /no_overwrite  /match_dir  /match_dir_only

Перемещает или копирует выбранный файл или папку из каталога fwatch\tmp\_extracted в папку мода.

Перезаписывает файлы.

Автоматически создает подкаталоги в пути назначения.



Пример:

MOVE  "FDFmod Readme.html"

Это будет двигаться
<папка с игрой>\fwatch\tmp\_extracted\FDFmod Readme.html
к
<папка с игрой>\<модпапка>\



MOVE  example.pbo  addons

Это будет двигаться
<папка с игрой>\fwatch\tmp\_extracted\example.pbo
к
<папка с игрой>\<модпапка>\addons\



Исключение: если каталог, который вы хотите переместить, имеет то же имя, что и папка модов, которую вы устанавливаете, тогда путь назначения изменяется на папку с игрой.

MOVE  finmod

Это будет двигаться
<папка с игрой>\fwatch\tmp\_extracted\finmod
к
<папка с игрой>\

Вы можете отменить это поведение, указав аргумент назначения.



Подстановочные знаки (см. MSDN и StackExchange) может использоваться для сопоставления нескольких файлов.

MOVE  *.pbo  addons

Для сопоставления файлов и папок добавьте переключатель /match_dir. Для сопоставления исключительно папок используйте вместо этого /match_dir_only.

MOVE  *  /match_dir
MOVE  *  /match_dir_only


Чтобы переименовать перемещаемый файл, напишите новое имя после пути назначения.

MOVE  misc\readme.txt  docs  readme_old.txt

Используйте точку, если вы не хотите менять пункт назначения.

MOVE  misc\readme.txt  .  readme_old.txt


Добавьте переключатель /no_overwrite, чтобы отключить перезапись файлов.

MOVE  *.pbo  addons  /no_overwrite


Чтобы скачать файл, укажите ссылку(и) в фигурных скобках.

MOVE  {ftp://ftp.armedassault.info/ofpd/gameserver/editorupdate102.pbo}  addons


Чтобы переместить файлы в папку мода, начните первый аргумент с <mod>.

MOVE  <mod>\addons\example.pbo  obsolete


Чтобы переместить последний загруженный файл, используйте <download> или <dl> в качестве первого аргумента.

MOVE  <dl>  addons


Команда Копировать может копировать файлы из каталога игры, если путь начинается с <game>.

COPY  <game>\bin\Resource.cpp  bin
Назад

UnPBO, UnpackPBO, ExtractPBO

UNPBO  <файл>  <назначения>

Извлекает файл PBO из папки с модами.

Перезаписывает существующие файлы.



Пример:

UNPBO  addons\ww4_fx.pbo


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

UNPBO  addons\ww4_fx.pbo  temp


Чтобы распаковать файл из каталога игры, начните путь с <game>. Если место назначения не указано, то аддон будет распакован в папку с модами.

UNPBO  <game>\addons\kozl.pbo  addons
Назад

MakePBO

MAKEPBO  <папка>  /keep_source  /timestamp:<свидание>

Создает файл PBO (без сжатия) из каталога в папке мода, а затем удаляет исходный каталог. Дата модификации файла PBO будет установлена на день добавления конкретной версии мода.



Пример:

MAKEPBO  addons\ww4_fx


Добавьте переключатель /keep_source, чтобы сохранить исходную папку.

MAKEPBO  addons\ww4_fx  /keep_source


Если аргумент не указан, он упакует последний аддон, извлеченный с помощью UnPBO.

Добавьте переключатель /timestamp: для пользовательской даты изменения файла (подробности см. в команде FILEDATE).

Назад

Edit

EDIT  <имя файла>  <номер строчки>  <текст>  /insert  /newfile  /append  /timestamp:<свидание>

Заменяет текстовую строку в выбранном файле из папки мода.

Если новый текст уже содержит кавычки, используйте настраиваемый разделитель, чтобы избежать конфликта. Начните аргумент с >> и любого символа. Завершите его тем же персонажем.

Дата модификации файла будет установлена на день добавления конкретной версии мода.



Пример:

EDIT addons\FDF_Suursaari\config.cpp 58 >>@cutscenes[]      = {"..\finmod\addons\suursaari_anim\intro"};@


Добавьте переключатель /insert, чтобы добавить новую строку вместо замены. Если выбранный номер строки равен нулю или превышает количество строк в файле, текст будет добавлен в конец.

Добавьте переключатель /append для добавления в конец строки вместо ее замены.

Добавьте переключатель /newfile, чтобы создать новый файл. Существующий файл будет удален.

Добавьте переключатель /timestamp: для пользовательской даты изменения файла (подробности см. в команде FILEDATE).

Чтобы выбрать последний загруженный файл, используйте <download> или <dl> в качестве первого аргумента.

Назад

Delete, Remove

DELETE  <имя файла>  /match_dir

Удаляет файл или папку из папки мода.



Пример:

DELETE  Install_win98_ME.bat


Подстановочные знаки (см. MSDN и StackExchange) может использоваться для сопоставления нескольких файлов.

DELETE  addons\*.txt

Для сопоставления файлов и папок добавьте переключатель /match_dir.

DELETE  temp\*  /match_dir


Если аргумент не указан, он удалит последний загруженный файл.

Назад

If_version, else, endif

IF_VERSION  <оператор>  <количество>
ELSE
ENDIF

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

Если да, то следующие инструкции выполняются до конца сценария или до тех пор, пока не встретится команда else или endif. Содержимое между else и endif будет игнорироваться.

Если условие не было выполнено, то следующие команды пропускаются до конца скрипта или до команд else или endif.

Допустимые операторы сравнения: =, ==, <, <=, >, >=, <>, !=. Если оператора нет, то предполагается равенство.

Условия могут быть вложенными.



Пример:

IF_VERSION  <=  1.96
	UNPACK	https://www.mediafire.com/download/86d97zspupnjk9c  ://download  "WW4 Extended OFP patch v111.zip"
	MOVE	v196_patch\ww4ext_inf_cfg.pbo.OFP  addons  ww4ext_inf_cfg.pbo
ENDIF
IF_VERSION  >=  1.99
	COPY	<game>\bin\Config.cpp  bin
ELSE
	COPY	<game>\Res\bin\Config.cpp  bin
ENDIF
Назад

Merge_with, Alias

MERGE_WITH  <имя1> <имя2> <...>

Изменяет поведение автоматической установки, а также команд Переместить и Копировать, чтобы они объединили указанную папку с устанавливаемой папкой мода. Эффект длится до конца текущего скрипта (чтобы он работал для всех версий, используйте опцию на странице сведений о моде).



Например: устанавливается мод @wgl5. Был скачан архив "CoC_UA110_Setup.exe", который содержит папки: @CoC и @wgl5. По умолчанию автоматическая установка скопирует @wgl5 и проигнорирует @CoC, но если вы напишете:

MERGE_WITH  @CoC
https://files.ofpisnotdead.com/files/ofpd/unofaddons2/CoC_UA110_Setup.exe

тогда установщик не пропустит @CoC, а объединит его содержимое с @wgl5 в каталоге игры.

Если аргумент не указан, опция отключена.

Назад

Rename

RENAME  <файл>  <новое имя>  /match_dir

Переименовывает файл или папку из папки мода.



Пример:

RENAME  addons\lo_res_tex.pbo  lo_res_tex.pbx


Подстановочные знаки (см. MSDN и StackExchange) может использоваться для сопоставления нескольких файлов.

RENAME  addons\*.pbo  *.pbx
RENAME  addons\*.pbo  ??????????????????_OLD*

Для сопоставления файлов и папок добавьте переключатель /match_dir.

RENAME  *  *_old  /match_dir
Назад

Makedir, Newfolder

MAKEDIR  <дорожка>

Создает папку(и).



Пример:

MAKEDIR  addons
MAKEDIR  dta\hwtl

Это создаст:

<папка с игрой>\<модпапка>
<папка с игрой>\<модпапка>\addons
<папка с игрой>\<модпапка>\dta
<папка с игрой>\<модпапка>\dta\hwtl
Назад

Filedate

FILEDATE  <файл>  <свидание>

Изменяет дату модификации выбранного файла в папке мода. Допустимые форматы: ISO 8601 (ГГГГ ММ ДД ЧЧ ММ СС) или отметка времени Unix. Он должен быть в часовом поясе GMT.



Пример:

FILEDATE  addons\example.pbo  2021-02-11T21:36:37
Назад

Get, Download

GET  <url>

Загружает выбранный файл в каталог fwatch\tmp\. Он будет удален в конце текущего сценария установки.



Пример:

GET  http://example.com/part1.rar
GET  http://example.com/part2.rar
Назад

Ask_get, Ask_download

ASK_GET  <имя файла>  <url>

Просит пользователя загрузить выбранный файл вручную. Установка приостановлена до тех пор, пока пользователь не решит продолжить или прервать ее.



Пример:

ASK_GET  ww4mod25rel.rar  https://www.moddb.com/mods/sanctuary1/downloads/ww4-modpack-25
Назад

Ask_run, Ask_execute

ASK_RUN  <URL или файл>

Просит пользователя вручную запустить выбранный файл из каталога fwatch\tmp\ (будет открыт в проводнике Windows). Установка приостановлена до тех пор, пока пользователь не решит продолжить или прервать ее.

Используйте эту команду для исполняемых файлов, которые нельзя извлечь.



Пример:

ASK_RUN  ftp://ftp.armedassault.info/ofpd/mods/ECP%20v1.085%20(Full%20Installer).exe
ASK_RUN  _extracted\example.exe


Если файл находится в папке мода, начните путь с <mod>.

ASK_RUN  <mod>\Install_win2k_XP.bat


Если аргумент не указан, будет выбран последний загруженный файл.

Назад

Exit, Quit

EXIT

Заставляет установщик пропустить все оставшиеся команды в текущем скрипте.

Назад

Куда поместить файлы миссии

Оригинальная игра использует только папку modfolder\Campaigns, но с Fwatch 1.16 теперь вы можете удобно хранить любые миссии в папке модов.

Когда вы запускаете игру с модом, содержимое подпапок мода перемещается в папки в каталоге игры.


Источник Назначения
<mod>\Missions Missions
<mod>\MPMissions MPMissions
<mod>\Templates Templates
<mod>\SPTemplates SPTemplates
<mod>\IslandCutscenes Addons
<mod>\IslandCutscenes\_Res Res\Addons
<mod>\MissionsUsers Users\<player>\Missions
<mod>\MPMissionsUsers Users\<player>\MPMissions

Перемещаются как файлы PBO, так и папки миссий. В случае катсцен и пользовательских миссий перемещаются только папки.

Файлы перемещаются обратно, когда вы выходите из игры.


Примеры скриптов

Это скрипт для установки мода WW4 2.5

; Загрузите архив из одного из этих двух источников, а затем извлеките его во временное место

UNPACK {
	https://files.ofpisnotdead.com/files/ofpd/unofaddons2/ww4mod25rel.rar 
	ftp://ftp.armedassault.info/ofpd/unofaddons2/ww4mod25rel.rar
}

; Переместите весь распакованный контент (включая папки) в папку с модами в директории с игрой (будет создана, если она не существует)

MOVE    *  /match_dir

; Скачать и извлечь

UNPACK {
	ftp://ftp.armedassault.info/ofpd/unofaddons2/ww4mod25patch1.rar
}

; Переместите текстовые файлы (из каталога с извлеченными файлами) в корень папки модов.

MOVE    *.txt

; Переместить аддоны (из каталога с распакованными файлами) в папку modfolder\addons

MOVE    *.pbo  addons

; Переместите все оставшиеся извлеченные файлы и папки в папку modfolder\Bonus

MOVE    *  Bonus  /match_dir

; Замените modfolder\bin\resource.cpp (файл, определяющий пользовательский интерфейс) для широкоэкранной совместимости

UNPACK {
	http://ofp-faguss.com/fwatch/download/ofp_aspect_ratio207.7z 
	http://faguss.paradoxstudio.uk/fwatch/download/ofp_aspect_ratio207.7z
}
MOVE    Files\WW4mod25\Resource.cpp  bin

; Замените modfolder\dta\anims.pbo (островные ролики), чтобы в главном меню отображалось сообщение при включении Fwatch

UNPACK {
	http://ofp-faguss.com/fwatch/download/anims_fwatch.7z 
	http://faguss.paradoxstudio.uk/fwatch/download/anims_fwatch.7z
}
MOVE    Files\WW4mod25\Anims.pbo  dta

Это скрипт для установки мода Силы обороны Финляндии 1.4.

; Загрузите базовую версию мода из одного из этих пяти источников, а затем запустите автоматическую установку

{
	http://files.ofpisnotdead.com/files/ofpd/mods/fdfmod13_installer.exe
	http://fdfmod.dreamhosters.com/ofp/fdfmod13_installer.exe
	ftp://ftp.armedassault.info/ofpd/mods/fdfmod13_installer.exe
	https://www.gamefront.com/games/operation-flashpoint-resistance/file/finnish-defence-forces finnish-defence-forces/download expires= fdfmod13_installer.exe
	http://pulverizer.pp.fi/ewe/mods/fdfmod13_installer.exe
}


; Загрузите обновление из одного из этих пяти источников, а затем запустите автоматическую установку.

{
	http://files.ofpisnotdead.com/files/ofpd/mods/fdfmod14_ww2.rar
	http://fdfmod.dreamhosters.com/ofp/fdfmod14_ww2.rar
	ftp://ftp.armedassault.info/ofpd/mods/fdfmod14_ww2.rar
	https://www.gamefront.com/games/operation-flashpoint/file/fdf-mod fdf-mod/download expires= fdfmod14_ww2.rar
	http://pulverizer.pp.fi/ewe/mods/fdfmod14_ww2.rar
}


; Загрузите и распакуйте пакет пустыни

UNPACK {
	http://files.ofpisnotdead.com/files/ofpd/mods/FDF_desert_pack.rar
	http://fdfmod.dreamhosters.com/ofp/FDF_desert_pack.rar
	ftp://ftp.armedassault.info/ofpd/mods/FDF_desert_pack.rar
}

; Переместите извлеченный файл readme в папку мода\readme_addons

MOVE  "FDF Mod - Al Maldajah - Readme.txt" readme_addons

; Переместите все оставшиеся извлеченные файлы и папки в папку мода

MOVE  * /match_dir


; Загрузите и извлеките остров Винтер Мальдевич

UNPACK {
	http://files.ofpisnotdead.com/files/ofpd/islands2/fdf_winter_maldevic.rar
	http://fdfmod.dreamhosters.com/ofp/fdf_winter_maldevic.rar
	ftp://ftp.armedassault.info/ofpd/islands2/fdf_winter_maldevic.rar
}

; Переместите извлеченный файл readme в папку мода\readme_addons

MOVE  "FDF Mod - Winter Maldevic - Readme.txt" readme_addons

; Переместите все оставшиеся извлеченные файлы и папки в папку мода

MOVE  * /match_dir


; Загрузите и извлеките остров Суурсаари

UNPACK {
	http://files.ofpisnotdead.com/files/ofpd/islands/Suursaari_release_v10.zip
	http://fdfmod.dreamhosters.com/ofp/Suursaari_release_v10.zip
	ftp://ftp.armedassault.info/ofpd/islands/Suursaari_release_v10.zip
}

; Переместите извлеченный аддон в папку с модами\addons

MOVE    FDF_Suursaari.pbo  addons

; Переместите извлеченную папку с катсценами острова в папку мод\IslandCutscenes

MOVE    Suursaari_anim  IslandCutscenes

; Переместите все оставшиеся извлеченные файлы в папку mod\readme_addons

MOVE    *  readme_addons


; Загрузите и извлеките остров Зимний Колгуев

UNPACK {
	http://files.ofpisnotdead.com/files/ofpd/islands/WinterNogojev11.zip
	https://fdfmod.dreamhosters.com/ofp/WinterNogojev11.zip
	ftp://ftp.armedassault.info/ofpd/islands/WinterNogojev11.zip
	https://www.gamefront.com/games/operation-flashpoint-resistance/file/winternogojev11-zip winternogojev11-zip/download expires= winternogojev11.zip
	https://ds-servers.com/gf/operation-flashpoint-resistance/modifications/islands/winternogojev11-zip.html files/gf/ store.node winternogojev11.zip
	https://www.lonebullet.com/mods/download-winternogojev11-operation-flashpoint-resistance-mod-free-42045.htm /file/ files.lonebullet.com winternogojev11.zip
}

; Переместите все извлеченные аддоны в папку мод\addons

MOVE    *.pbo  addons

; Переместите извлеченный файл readme в папку мода\readme_addons

MOVE    "Readme-Winter Nogojev.txt"  readme_addons

; Переместите извлеченную папку с катсценами острова в папку мод\IslandCutscenes

MOVE    KEGnoecainS_anim  IslandCutscenes


; Скачайте и извлеките аддон MT-LB

UNPACK {
	http://fdfmod.dreamhosters.com/ofp/mt-lb22.zip
	http://ofp-faguss.com/addon/finmod/mt-lb22.zip
	http://faguss.paradoxstudio.uk/addon/finmod/mt-lb22.zip
}

; Переместите все извлеченные аддоны в папку мод\addons

MOVE    *.pbo  addons

; Переместите извлеченный файл readme в папку mod\readme_addons и переименуйте его в mt-lb22_release_info.txt

MOVE    release_info.txt  readme_addons  mt-lb22_release_info.txt


; Загрузите и извлеките пакет оружия русских.

UNPACK {
	http://files.ofpisnotdead.com/files/ofpd/unofaddons/RussianWeaponsPack11.zip
	http://fdfmod.dreamhosters.com/ofp/RussianWeaponsPack11.zip 
	ftp://ftp.armedassault.info/ofpd/unofaddons/RussianWeaponsPack11.zip
}

; Переместите все извлеченные аддоны в папку мод\addons

MOVE    *.pbo  addons

; Переместите извлеченный файл readme в папку с модом\readme_addons и переименуйте его в RussianWeaponsPack11_readme.txt

MOVE    readme.txt  readme_addons  RussianWeaponsPack11_readme.txt


; Автоматически устанавливать исправленную версию аддона Smith & Wesson Revolvers

{
	http://ofp-faguss.com/addon/finmod/SWRevolvers10_fixed.7z
	http://faguss.paradoxstudio.uk/addon/finmod/SWRevolvers10_fixed.7z
	https://docs.google.com/uc?export=download&id=1wAoTEeAuEvveYe2EZnVu_Gic7Nib-7qO SWRevolvers10_fixed.7z
}


; Замените resource.cpp для широкоэкранной совместимости

UNPACK {
	http://ofp-faguss.com/fwatch/download/ofp_aspect_ratio207.7z 
	http://faguss.paradoxstudio.uk/fwatch/download/ofp_aspect_ratio207.7z
}
MOVE    Files\FDF\Resource.cpp  bin

; Замените ролики острова, чтобы при включении Fwatch появлялось сообщение

UNPACK {
	http://ofp-faguss.com/fwatch/download/anims_fwatch.7z 
	http://faguss.paradoxstudio.uk/fwatch/download/anims_fwatch.7z
}
MOVE    Files\FDF\Anims.pbo  dta


; Создайте конфигурацию пользовательского интерфейса для Fwatch — она увеличит меню действий и чат и сделает их синими

EDIT    bin\config_fwatch_hud.cfg  0  ACTION_ROWS=43;CHAT_ROWS=12;CHAT_Y=0.56;GROUPDIR_Y=0.5;ACTION_COLORTEXT=[1,1,1,1];ACTION_COLORSEL=[0.133333,0.643137,1,1];CHAT_COLORTEAM=[0.133333,0.643137,1,1];  /newfile

Это скрипт для установки мода WarGames League 5.12


; Установщик автоматически загрузит файл из одного из этих трех источников, извлечет его, а затем переместит файлы в каталог игры.

{
	ftp://ftp.armedassault.info/ofpd/unofaddons2/WGL5.1_Setup.exe
	https://www.moddb.com/downloads/start/93621  /downloads/mirror/  WGL5.1_Setup.exe
	https://ofp.today/Addons?dir=mods  file=WGL5.1_Setup.exe  WGL5.1_Setup.exe
}

; То же самое с патчем мода

{
	http://pulverizer.pp.fi/ewe/mods/wgl512_2006-11-12.rar
	https://www.moddb.com/downloads/start/93801  /downloads/mirror/  wgl512_2006-11-12.rar
	http://www.mediafire.com/file/4rm6uf16ihe36ce  ://download  wgl512_2006-11-12.rar
}

; Если у пользователя установлена версия игры 1.96 или старше

IF_VERSION  <=  1.96
	; Извлеките Res\Dta\HWTL\data.pbo (содержит текстуры игры) в папку с модами\dta\hwtl

	UNPBO  <game>\Res\Dta\HWTL\data.pbo  dta\HWTL
	
	; Скопируйте все файлы paa и pac из папки mod\newdata в папку mod\dta\hwtl\data

	COPY   <mod>\newdata\*.pa?           dta\HWTL\Data
	
	; Создайте файл pbo из недавно извлеченного аддона (data.pbo) и удалите исходный код.

	MAKEPBO
	
	; Извлеките Res\Dta\HWTL\data3d.pbo (содержит игровые модели) в папку mod\dta\hwtl

	UNPBO  <game>\Res\Dta\HWTL\data3d.pbo  dta\HWTL
	
	; Скопируйте все файлы p3d из папки mod\newdata в папку mod\dta\hwtl\data3d

	COPY   <mod>\newdata\*.p3d             dta\HWTL\data3d
	
	; Создайте файл pbo из недавно извлеченного аддона (data3d.pbo) и удалите исходный код

	MAKEPBO
	
; Для версий игры новее 1.96

ELSE
	; Извлеките Dta\data.pbo (содержит текстуры игры) в папку mod\dta

	UNPBO  <game>\DTA\Data.pbo  dta
	
	; Скопируйте все файлы paa и pac из папки mod\newdata в папку mod\dta\data

	COPY   <mod>\newdata\*.pa?  dta\Data
	
	; Создайте файл pbo из недавно извлеченного аддона (data.pbo) и удалите исходный код

	MAKEPBO
	
	; Извлеките Dta\HWTL\data3d.pbo (содержит игровые модели) в папку с модами\dta

	UNPBO  <game>\DTA\Data3D.pbo  dta
	
	; Скопируйте все файлы p3d из папки mod\newdata в папку mod\dta\data3d

	COPY   <mod>\newdata\*.p3d    dta\Data3D
	
	; Создайте файл pbo из недавно извлеченного аддона (data3d.pbo) и удалите исходный код

	MAKEPBO
	
; Закрыть раздел команд, которые зависят от версии игры

ENDIF

; Замените resource.cpp для широкоэкранной совместимости

UNPACK {
	http://ofp-faguss.com/fwatch/download/ofp_aspect_ratio207.7z 
	http://faguss.paradoxstudio.uk/fwatch/download/ofp_aspect_ratio207.7z
}
MOVE    Files\WGL\Resource.cpp  bin

; Замените ролики острова, чтобы при включении Fwatch появлялось сообщение

UNPACK {
	http://ofp-faguss.com/fwatch/download/anims_fwatch.7z 
	http://faguss.paradoxstudio.uk/fwatch/download/anims_fwatch.7z
}
MOVE    Files\WGL\Anims.pbo  dta

Скрипты тестирования

Запустите fwatch\data\addonInstarrer.exe. Установщик запустится в тестовом режиме.


Раздел «Редактировать скрипт»:

  • напишите здесь свой скрипт установки
  • "Сохраните и протестируйте" (CTRL-S) - сохраняет письменный текст в fwatch\data\addonInstaller_test.txt и затем интерпретирует его
  • "Перезагрузить файл" - считывает содержимое fwatch\data\addonInstaller_test.txt в текстовый ввод
  • "Документация" - открывает эту страницу в веб-браузере
  • "Конвертировать ссылку для скачивания" - открывает диалог для создания ссылок (с определенных сайтов), доступных для использования установщиком
  • "Вставить шаблон DTA" - вставляет код для изменения dta\data.pbo и dta\data3d.pbo
  • CTRL-A - выделяет весь текст
  • CTRL-D - дублировать текущую строку

Раздел «Тестирование»:

  • "Название мода" - определяет папку назначения; это также важно для автоматической установки и команды "move"
  • "Имя каталога" - используйте его для установки в другой каталог
  • "Версия игры" - для условий тестирования

  • "Открыть папку мода" - открывает папку назначения в проводнике Windows. Если он не существует, вместо этого открывается каталог игры
  • "Открыть fwatch\tmp\_extracted" - открывает папку (в проводнике Windows), в которую установщик извлекает архивы

  • |< - перематывает установку на начало
  • << - перейти к предыдущей команде
  • >> - выполняет текущую команду
  • > - выполняет команды до конца. Нажмите еще раз, чтобы остановиться (после текущего действия)

  • "Команды" - список команд из скрипта установки. Нажмите на один, чтобы получить дополнительную информацию о нем
  • "Перейти к этому шагу" - заставляет установщик запуститься с выбранной команды. Если вы используете эту опцию для возврата назад, установщик отменит изменения
  • "Показать в скрипте" - выбирает строку с текущей командой при вводе текста скрипта
  • "Открыть документацию" - открывает страницу с информацией об этой команде в веб-браузере

Раздел «Журнал»:

  • верхнее окно показывает, что уже сделал установщик
  • нижнее окно показывает прогресс текущего действия

В режиме тестирования требуется больше места на диске:

  • загруженные файлы не будут удалены
  • установщик создает резервные копии большего количества файлов, чем в обычном режиме

Установщик сгенерирует файл fwatch\tmp\__downloadtoken, который можно использовать для поиска промежуточных ссылок для скачивания:

  • Откройте его в своем веб-браузере
  • Найдите кнопку Загрузить, щелкните ее правой кнопкой мыши и выберите Проверить
  • Свойство href содержит искомую ссылку. Выберите небольшую его часть, которая является постоянной
  • Выполните поиск, чтобы убедиться, что выбранная часть не встречается больше нигде в файле
  • Если это не так, вы можете добавить его в свой сценарий установки

История версий
0.61 (13.06.2023)
  • Ask_run - opens directory in Windows Explorer
  • Auto Install - removed subfolder "worlds" from mod detection


0.6 (29.04.2021)
  • Edit - added /timestamp: switch
  • MakePBO - added /timestamp: switch


0.59 (05.03.2021)
  • Auto Install - If "Missions" contains only a single folder inside then that subfolder will be merged with "<mod>\Missions" only if its name matches the mod name. Otherwise it will be moved as a separate subfolder


0.58 (25.02.2021)
  • Added EXIT command
  • Move – added switch /match_dir_only
  • Installer removes previously downloaded file when starting download for a new file except when using GET command
  • Intermediary URL part may contain phrase href=" and installer will read the link following that phrase


0.57 (11.02.2021)
  • Added FILEDATE command


0.56 (05.02.2021)
  • Auto Install - will try to extract .cab files
  • Auto Install - will detect if mission is a wizard template and move it to the "Templates" or "SPTemplates"
  • Auto Install - will detect if "MPMissions" folder contains a single folder inside and move it instead (previously it only did that for "Missions")
  • Auto Install - will not ignore "Res" folder
  • Auto Install - if downloaded archive contains a single folder then that folder won't be ignored (previously it could have been treated as a different mod and skipped)
  • Auto Install - if a folder contains "overview.html" then it will be copied to "Missions"
  • Auto Install - if a directory contains wanted modfolder then installer will move all files and folders from that dir (except for other modfolders). Folder "addons" will be copied as "IslandCutscenes"
  • Auto Install - will try open all executables; will ask user to run it if nothing else was copied (instead of asking about the first encountered)
  • Auto Install - will move directories ending with "anim", "_anim", "_anims" to the "IslandCutscenes" or "IslandCutscenes\_Res" if parent was named "res" or had words "res" and "addons"
  • Auto Install - will move mission directories containing words "demo" or "template" to the "MissionsUsers" or "MPMissionsUsers"
  • Auto Install - will move folders "Templates", "SPTemplates", "MissionsUsers", "MPMissionsUsers", "IslandCutscenes" to the modfolder
  • Auto Install - will scan directories before files (previously it was alphabetic)
  • Auto Install - will move mission folder to the to the "MissionsUsers" or "MPMissionsUsers" if one of the parent folders contained word "user" or words "mission" and "demo/editor/template"
  • MakePBO - renamed switch /no_delete to /keep_source
  • Alias - added alternative name for this command: Merge_With


0.55 (12.01.2021)
  • Removed /mirror switch. Instead there are now url blocks indicated by curly brackets
  • Move – curly brackets are now used (instead of a vertical bar) to separate url arguments from move arguments


0.53 (01.03.2020)
  • Alias – effect now lasts until the end of the script (instead of throughout the entire installation)
  • Added shorter name UnPBO for the command UnpackPBO


0.52 (16.02.2020)
  • Command arguments can now be escaped with custom delimiters (relevant for the Edit command)


0.51 (14.02.2020)
  • Added command: Alias
  • Auto installation - reverted change from 0.31: file name irrelevant for auto installation again (use command Alias instead)
  • Auto installation - now detects if mission is SP or MP and copies it to the correct folder
  • Edit – added /append switch
  • MakePBO – fixed bug where it wouldn't work with files with spaces in their names


0.4 (15.07.2019)
  • Edit – added /newfile switch
  • Edit – switch /insert can now be used to append text at the end


0.31 (06.04.2019)
  • Auto installation - doesn't ignore modfolders if their name is contained in downloaded filename


0.3 (02.04.2019)
  • Download links can now be followed with /mirror switch
  • Download links can now be followed with extra arguments for multi-step downloading

  • Move – wildcard with /match_dir will move modfolder to the game dir but not recursively
  • Move – added vertical bar to separate download arguments from move arguments

  • Ask_Get – doesn't make a request if file already exists
  • Ask_Get – asks user to select download directory and saves its location
  • Ask_Get – automatically moves file to the fwatch\tmp\

  • Ask_Run – executes the file instead of opening folder with it
  • Ask_Run - restores "Aspect_Ratio.hpp" from before executing the file in order to keep user's settings

  • Get - now considered active again
  • Get - cannot pass custom wget arguments anymore

  • added -testdir parameter


0.2 (11.03.2019)
  • added commands: Ask_Download, Delete, Rename, If_version, else, endif, Makepbo, UnpackPBO, Edit
  • renamed command Execute to Ask_Execute
  • renamed command Mdir to Makedir

  • Move – now overwrites by default, added /no_overwrite switch
  • Move – can access modfolder files with >mod> macro
  • Move – can now rename files
  • Move – wildcards will not match folders unless /match_dir switch was added
  • Move – renamed macro DOWNLOADED_FILENAME to <download> and <dl>
  • Move – now source argument can be url

  • Copy – can access game root directory with <game> macro

  • Makedir – could be used to create custom folders in the game root directory – fixed
  • Makedir – now creates modfolder if it’s missing

  • Unpack, Ask_Execute – will work on downloaded file if no argument given
  • Unpack, Ask_Execute – now source argument can be url
  • Unpack – archive within archive was unpacked to the wrong folder – fixed
  • Unpack – added /password: switch

  • Auto Installation – added /password: switch

  • Get – now considered obsolete

  • added -testmod parameter


0.1 (03.03.2017)
First release.