РУКОВОДСТВО ПО ИЗГОТОВЛЕНИЮ МОДОВ ДЛЯ КАЗАКОВ

 

Вступление: Первое правило создания МОД-ов -- НЕ БОЙТЕСЬ ЭКСПЕРЕМИНТИРОВАТЬ.Измените немножко здесь и чуть-чуть там. Вначале вы будете делать ошибки, но только так вы научитесь. Именно так научился я. Совершенство достигается практикой. Поэтому откройте ваш Notepa/Wordpad и приступайте. Только, прежде чем что-либо сделать убедитесь, что вы сохранили резервные копии оригинальных файлов Казаков. Также обратите внимание, что в этой статье термин юнит употребляется как в отношении собственно юнита, так и здания. 
 

Содержание:
1. Типы файлов
2. Анатомия NDS-файлов
3. Как изменить графику юнита
4. Как добавить юнит
5. Как вставить отредактированные файлы в игру

 

1. Типы файлов:     (Back to top)

NRES.DAT : Этот тип нам интересен. Его можно редактировать текстовым редактором, например Notepad. Он управляет многими вещами. UNITS/FARM например это величина устанавливающая сколько юнитов можно иметь в еденичном обиталище. Он также устанавливает позицию управляющей иконки и многие другие вещи.

GP-файлы : Это графические файлы для спрайтов юнитов и других картинок. В настоящее время полный формат этих файлов не известен и поэтому их нельзя редактировать без рабочих инструментов GSC.

LST-файлы : Среди этих файлов представляют интерес NATIONS.LST и ORDERS.LST. Если вы хотите добавить дополнительные нации (если ОЧЕНЬ хотите, даже Baddog не пытался осуществить такую масштабную работу), то NATIONS.LST это файл которым вы должны редактировать первым. ORDERS.LST также легко редактируем и интересен постольку, поскольку задает размер формации, ее форму и бонусы построения. Оба эти файла вполе доступны для понимания.

MD-файлы : Это файлы спецификации юнитов. Возможно это именно те фалы, ковряя которые вы потратите набольшее количество времени. Вы должны хорошо знать их. Большая часть содержания понятна сама по себе. Особо следует отметить переменную NAME в этом файле. Именно этот NAME будет использован  в NDS файле для получения характеристик юнита включая его графику, хит-поинты, атаку и др.

NDS-файлы :Файл спецификации нвации. Подробности ниже.

TXT-файлы : Представляют интерес COMMENT.TXT, TEXT/MDLIST.TXT и NMLIST.TXT. COMMENT.TXT это типа файл-перевода который задает описания различных кнопок, типа апгрейдов. Конечно в различных языковых версиях он будет различаться. TEXT/MDLIST.TXT то же самое, но для названий юнитов. Остается NMLIST.TXT. Это важный файл. Если вы хотите добавить новые юниты (т.е. новые MD-файлы), Вы должны добавить новую строку в этот файл, в противном случае игра рухнет.

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

2. Анатомия NDS-файлов:     (Back to top)

Это файлы наций. Эти файлы заслуживают подробного рассмотрения. Файлы имеют текстовый формат и редактируются любым текстовым редактором. Они разделены на несколько секций. Последующие примеры взяты из файла AUSTRIA.NDS

[MEMBERS] : эта секция имеет отношение к юнитам и зданиям доступным данной нации. Слева стоят действительные имена игорвых едениц (юнитов и зданий, далее ИЕ) которые будут использоваться позднее в NDS-файлах. Не важно какое идентификатор вы присвоите ИЕ, главное, чтобы его окончание в скобках соответствовало признаку нации например, (AU) для Австрии. Правая часть соответствует отображаемому в игре имени ИЕ описанному в соответствующем MD-файле как переменная NAME для данной еденицы. Например, в  AUSTRIA.NDS : Kreposnoi_pruss(au) Kreposnoi_pruss относится к ИЕ под именем  Kresposnoi_pruss(au), использующей характеристики юнита Kreposnoi_prus, описаного в файле KRP.MD. 

[FIXED_PRODUCE] : эта секция устанавливает, что можно построить/произвести и отвечает за наличие соответствующих иконок. Например, в файле AUSTRIA.NDS первая после заголовка [FIXED_PRODUCE] строка : Kreposnoi_pruss(au) 18. Это означает, что ИЕ Kresposnoi_pruss(au) (Австрийский крестьянин) может осуществить 18 действий. Следующие 18 строк как раз и описывают его возможности. Следующей строкой стоит : Center_Austria(au) 2 2 H. ГорЦентр может быть построен крестьянином и иконка горцентра будет помещена во вторую колонку и второй ряд соответствующего меню. Буква H обозначает категорию ГорЦентр, (H - ГорЦентр, A - Академия и др. ).

[ENABLED] : список ИЕ доступных в начале игры . Например доступны казармы 17в, но не 18в.

[UPGRADES] : этот обширный раздел включает различные апгрейды для данной нации. Не беспокойтесь о том, где эти апгрейды делаются -- это описано в следующем разделе файла. типичный вид строки: Pikiner_evro(au)ATTACK ATAKA1 #POSITION 0 1 #LEVEL 2 Pikiner_evro(au)ATTACK #COST 2 FOOD 200 GOLD 50 #TIME 500 DAMAGE WEAPONKIND PIKA Pikiner_evro(au) +1

Здесь, Pikiner_evro(au)ATTACK = имя апгрейда, ATAKA1 = иконка для апгрейда, #POSITION 0 1 = позиция иконки (колонка, ряд), #LEVEL 2 = уровень апгрейда, Pikiner_evro(au)ATTACK = имя используемое в файле COMMENT.TXT, #COST 2 FOOD 200 GOLD 50 = само собой, #TIME 500 = время на апгрейдж, DAMAGE WEAPONKIND PIKA Pikiner_evro(au) = действие апгрейда,  +1 = количественный эффект апгрейда.

[UPGRADEPLACE] : указывает место где апгрейд происходит. Формат сходен с Fixed_Produce, сначала указывается ИЕ и число его апгрейдов, следующие строчки характеризуют апгрейды данной ИЕ.Например, PorE(au) 5 определяет 5 апгрейдов Австрийского порта. Апгрейды определяются непосредственно за этим.

[UPGRADEENABLE] : апгрейды доступные в начале игры.

[UPGRADELINKS] : описывает последовательность апгрейдов. Наиболее сложный пример MAINAU 13 Kirasir(au)ATTACK Kirasir(au)SHIELD Gusar_evro(au)ATTACK Gusar_evro(au)SHIELD Dragun_18(au)ATTACK Dragun_18(au)SHIELD KUZ04AU Melnica(au)GETRES2 shahta(au)INSIDE5 shahta(au)INSIDE6 shahta(au)INSIDE7 AKA25AU PRS(au)INSIDE. Сие означает, что по завершении апгрейда MAINAU (переход в 18в) сиановятся доступны 13 апгрейдов. Большинство других строк определяют только один последующий апгрейд.

[DISABLED_UPGRADES] : секция определяет доступность апгрейдов по определенным условиям. Хороший пример,  MAINAU (18век), закрашен серым пока не выполнены все условия перехода.

[ACCESSCONTROL] : определяет условия которые необходимо выполнить для получения доступа к апгрейду/ИЕ. Например,
MAINAU 7 Kuznica(au) Konushnia_Swesair(au) akademia_E(au) Kazarma_evro(au) Cercov_Poland(au) Rinok(au) artileri_depo(au) означает, что до того как вы сможете нажать кнопку MAINAU, вы должны построить семь зданий перечисленных после цифры 7.

[UNITLOCK] : определяет юниты которые должны производиться в ограниченном количестве. Например, PERES_KOR(au) 10 PERES_KOR(au) означает, что вы не сможете построить больше 10 паромов.

[CANSETDEST] : здания перечисленные здесь будут иметь точку сбора.

[PRIVATE] : апгрейды указанные здесь будут влиять на одну ИЕ для которой произведен апгрейд. Это используется для шахт и башен.

[SPECIAL_UPGRADE] и [SPECIAL_UNIT] : применимы только для ПДК. Устанавливает флаги для различных видов начала игры "С большой армией", "Уже в 18-м веке", "Без пушек, башен и стен" и других. Юниты и апгрейды перечисленные здесь позволяют движку игры знать исключать ли их при выполнении определенных условий.

[COUNTRY] : видимо предназнаен для редактора. Содержит юниты данной нации сгруппированные по типам: здания, кавалерия, артиллерия и др.

[OFFICERS] : определяет условия построения формаций.

3. Как изменить графику юнита:     (Back to top)

Разобравшись с различными типами файлов, давайте попробуем что-нибудь простенькое, например изменим графику наемника-драгуна. Для этого вам нужен файл DR2DIP.md, определяющий характеристики этого юнита. Допустим, мы меняем его графику на графику французкого драгуна . Французу соответствует DRF.MD. Вам потребуется изменить строчки от ICON до GEOMETRY. Любители острых компьютерных ошушений могут попробовать и отредактировать некоторые характеристики. После этого вернните отредактированный файл DR2DIP.MD в игру и вы обнаружите новую графику ВАШЕГО наемного драгуна. Как вставлять файлы в игру, читайте дальше.

4. Как добавлять юниты:     (Back to top)

Это уже продвинутый уровень МОДа. Сначала надо продумать что вы хотите добавить к какой нации вы хотите добавить юнит и каком виде (доступность юнита, уровни апгрейдов и т.д.). Тут появляется дополнительный шаг который вам также необходимо сделать. Поскольку вы вводите новые файлы вам необходимо помнить что новые MD-файлы должны быть приведены в файле NMLIST.TXT и его описании данном в TEXT\MDLIST.TXT. Теперь переходите к NDS-файлу нации к которой вы собираетесь добавлять новый юнит. К этому процессу надо относиться как к рождению ребенка в вашей семье. Вы должны решить каким будет его имя, где он будет рождаться, какое положение он займет в семье, а так же его потенциальная роль когда он вырастет. Имя указывается в секции  [MEMBERS]. Место рождения в [FIXED_PRODUCE]. Доступность в начале игры в [ENABLED] и так далее по всем разделам NDS-файла. После редактирования верните эти файлы в игру и (если все зделано правильно) вы должны обнаружить в игре свой новый юнит.

5. Как вернуть отредактированные файлы в игру:     (Back to top)

Простейший способ -- использовать Cossacks Mod Menager который я разработал. Все, что вам нужно -- это сгенерировать GSC-файл с отредактированными вами файлами используя GSC File Utility, но назвать ваш файл YOURNAME.MODS (замените YOURNAME на ТО-ЧТО-ВАМ-НРАВИТСЯ). Затем скопируйте файл в директорию Cossacks и выйдите из Cossacks Mod Manager. С другой стороны, вы можете использовать традиционный путь создавая новый patch0*.gs1 или mods01.gs1 (если уже инсталлирован MOD1) затем копировать это добро в директорий Cossacks. Если вы поступаете так, не забудьте сохранить оригинальные файлы. При использовании patch0*.gs1 или mods01.gs1 соблюдайте следующие правила. Движок Казаков ищет файлы с характеристиками юнитов сначала в patch0*.gs1. Эти значения имеют более высокий приоритет, чем в ALL.GSC. Конечно если характеристики юнита не найдены в PATCH0*.GS1 движек возьмет эти значения из ALL.GSC. Если соответствующие значения не будут найдены в одном из NDS файлов игршка рухнет. Это правило слегка изменяется если установлен MOD1. Вначале просматривается MODS01.GS1 и MODS.GS1, затем -- PATCH02.GS1, и в наконце -- ALL.GSC. GS1 и GSC файлы под другими именами просто игнорируются движком. Если у вас только ЕВ также игнорируются MODS01.GS1 и MODS.GS1.

Было немало написано и прочитано -- остается только засучить рукава и попытаться самому модифицировать Казаков. Happy Cossacking my fellow friends.