на главную страницу
Крупнейший сайт о стратегиях. Обзоры новинок.Активный ФОРУМ и встречи с разработчиками. Большая качалка МОДов для RTW и не только. Родной дом «Империи» и «Бонапарта».
На internetwars.ru


ЭНЦИКЛОПЕДИЯ МОДЕЛИРОВАНИЯ

 

Вернуться к оглавлению

КАК ВНЕДРИТЬ НОВЫЙ ЮНИТ В ИГРУ


Источник

форум Империал


НАШ ФОРУМ

Здесь можно задать вопрос по этому тутору. м

Активно обсуждаем военные игры, историю, МОДы, и новинки
игрового мира.

Шаг Первый - добавление нового входа в export_descr_unit

Итак мы добавим нового юнита для Греков который называется Athenian Marine Archer (Афинский морской лучник)

Модель Athenian Marine Archer вы можете скачать здесь.

Athenian Marine Archer
Поскольку мы создаем Athenian Marine Archer самостоятельно, мы не будем переделовать других юнитов, таким образом мы должны сделать наше собственное. Я не хочу, чтобы Athenian Marine Archer очень отличались от других лучников и таким образом я собираюсь моделировать их на Римских лучниках Roman Archers.

Вот существующий вход для римских лучников.

type             roman archer

dictionary       roman_archer      ; Roman Archers

category         infantry

class            missile

voice_type       Light_1

soldier          roman_archer, 40, 0, 0.8

attributes       sea_faring, hide_forest, can_sap

formation        1.6, 2, 3.2, 4, 3, square

stat_health      1, 0

stat_pri         7, 1, arrow, 120, 30, missile, archery, piercing, none, 25 ,1

stat_pri_attr    no

stat_sec         3, 1, no, 0, 0, melee, simple, piercing, knife, 25 ,1

stat_sec_attr    no

stat_pri_armour  0, 2, 0, flesh

stat_sec_armour  0, 0, flesh

stat_heat        1

stat_ground      2, 0, 3, 0

stat_mental      4, normal, untrained

stat_charge_dist 30

stat_fire_delay  0

stat_food        60, 300

stat_cost        1, 190, 170, 20, 30, 190

ownership        romans_julii,romans_brutii,romans_scipii,romans_senate

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

Сначала: линия типа (первая линия)

type             roman archer

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

type             greek athenian marine archer

Во второй: линия названия

dictionary       roman_archer      ; Roman Archers

Линия названия используется, чтобы сослаться на описание единицы, а также название единицы (о чем позже). Я хочу получить различное описание и название единицы, таким образом я изменю эту линию на следующее:

dictionary       greek_athenian_marine_archer      ; Athenian Marine Archer

в линии название используется, чтобы прокомментировать секцию, как только игра достигает точки с запятой, она прекратит читать ту линию и пропустит к следующему. Название " Roman Archers " там не используется игрой, это только для разработчиков, чтобы держать след, какой вход принадлежит для какой единицы. Таким образом мы оставляем это в покое.

В третей: линия юнита

soldier          roman_archer, 40, 0, 0.8

Четвертая линия: линия собственности

ownership        romans_julii,romans_brutii,romans_scipii,romans_senate

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

ownership        greek_cities

Я хочу сделать моих лучников немного отличными от римских лучников, для этого я изменяю еще ряд параметров. Полную рассшифравку всех параметров смотрите в конце данной инструкции! Наконец мы получаем следующий продукт:

type             greek athenian marine archer

dictionary       greek_athenian_marine_archer      ; Athenian Marine Archer

category         infantry

class            missile

voice_type       Heavy_1

soldier          greek_athenian_marine_archer, 40, 0, 0.8

attributes       sea_faring, hide_forest, can_sap, hardy

formation        1.6, 2, 3.2, 4, 3, square

stat_health      1, 0

stat_pri         7, 1, arrow, 120, 30, missile, archery, piercing, none, 25 ,1

stat_pri_attr    no

stat_sec         7, 3, no, 0, 0, melee, simple, piercing, sword, 25 ,1

stat_sec_attr    no

stat_pri_armour  9, 7, 0, metal

stat_sec_armour  0, 0, flesh

stat_heat        4

stat_ground      2, 0, 0, 0

stat_mental      8, normal, highly_trained

stat_charge_dist 30

stat_fire_delay  0

stat_food        60, 300

stat_cost        1, 640, 210, 70, 100, 640

ownership        greek_cities

Шаг Второй - добавление нового описания единицы

Наша новая единица нуждаются в новом описании, потому что она имеет новую линию названия. Для этого нам потребуется два файла: export_descr_unit_enums и export_units последний вы можете найти в папке text в пределах папки Data.

Итак, открываем фаил export_descr_unit_enums и добавляем в основании следующию запись:

greek_athenian_marine_archer     

greek_athenian_marine_archer_descr

greek_athenian_marine_archer_descr_short

Теперь мы должны добавить текст, который будет отабражен в игре. Для этого мв открываем text\export_units и добовляем следующею запись в основании:

¬----------------

 

{ greek_athenian_marine_archer} Афинский морской лучник

 

{ greek_athenian_marine_archer_descr}.Лучники бла-бла-бла\n\Эти бла-бла-бла.\n\nЭти бла-бла-бла.

 

{ greek_athenian_marine_archer_descr_short} бла-бла-бла.

Вместо моих «бла-бла-бла» вы можете писть все что вам заблогарасудиться!

Единственное различие между _descr и _descr_short описаниями - то, что они используются в различных пунктах в игре.

Шаг Три - добавление новой модели и структуры (шкурка) в descr_model_battle

Я упоминал descr_model_battle выше, на это ссылалась линия юнита в export_descr_unit входе.

Athenian Marine Archer  используют полностью новую модель. В descr_model_battle входе мы снова припишем файлы новой модели у основания.

type                                        greek_athenian_marine_archer

skeleton                                 fs_archer, fs_dagger

indiv_range                            40

texture                                               greek_cities, data/models_unit/textures/UNIT_GREEK_ATHENIAN_MARINE_ARCHER.TGA

model_flexi                            data/models_unit/unit_greek_athenian_marine_archer_high.CAS, 15

model_flexi                            data/models_unit/unit_greek_athenian_marine_archer_medium.CAS, 30

model_flexi                            data/models_unit/unit_greek_athenian_marine_archer_low.CAS, 40

model_flexi                            data/models_unit/unit_greek_athenian_marine_archer_lowest.CAS, max

model_sprite                          greek_cities, 60.0, data/sprites/greek_cities_greek_athenian_marine_archer_sprite.spr

model_tri                               400, 0.5f, 0.5f, 0.5f

К сожалению, этим все не заканчивается, поскольку этот вход ссылается на несколько файлов, которые не существуют еще в игре. Файлы, в которых мы нуждаемся – можно взять по указанной мной сылке в самом начале инструкции.

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

Сначала добавление модели:

Модель - 3-ья основа юнита, отчасти как статуя. Структура - 2-ое изображение, которое обернуто вокруг солдата и обеспечивает цвета и детали. Если модель - шасси, то структура - работа краски.

Вы можете это видеть выше следующих линий

model_flexi                            data/models_unit/unit_greek_athenian_marine_archer_high.CAS, 15

model_flexi                            data/models_unit/unit_greek_athenian_marine_archer_medium.CAS, 30

model_flexi                            data/models_unit/unit_greek_athenian_marine_archer_low.CAS, 40

model_flexi                            data/models_unit/unit_greek_athenian_marine_archer_lowest.CAS, max

Каждый .cas файл - модель солдата, используемого для нашей единицы, различные версии - та же самая модель в различных степенях детализации.

Маленькое отступление: в некоторых моделях используется только один .cas файл для отражения степеней детализации. Обычно их используется 4-е .cas файла, для отображения степеней детализации. При добавлении других моделей учтите данную особенность!

Мы следуем за за надписью созданой в descr_model_battle  входе, и мы добавляем .cas из нашего архива в папку data\models_unit\

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

На дальних расстояниях это обменивается от 3Д модели до 2Д спрайта. Модель спрайта прописывается в последней строчке:

data/sprites/greek_cities_greek_athenian_marine_archer_sprite.spr

model_tri                               400, 0.5f, 0.5f, 0.5f

В этой инструкции мы не будем касаться создания и добавления спрайтов. Игра вполне обходиться и без них. Единственное неудобство что вы получете от отсутствия спрайтов – это то, что на больших растояниях ваши юниты будут не заметны! Добавление спрайтов рассмотрим в другой инструкции!

Во вторых: добавление структуры (шкурки)

Это - линия структуры(шкурки)

texture                                               greek_cities, data/models_unit/textures/UNIT_GREEK_ATHENIAN_MARINE_ARCHER.TGA

Это выглядит подобно образцовой линии, главное различие - то, что на фракцию (greek_cities) имеется ссылка. Чтобы сыкономить место, использование CA различные структуры на той же самой модели, чтобы получить различной единицы.

Хороший пример для этого - римские войска у различных семей, velites различных семьях использована та же самая модель, потому что все они имеют одинаковую форму. Они действительно носят различные цвета и таким образом вы найдете, что они ссылаются на различную структуру(шкурки) для различных фракций.

Итак, мы добавляем добавляем файл с расширением .tga.dds, из нашего архива в папку data\models_unit\textures.

Файлы, в которых мы нуждаемся в этом случае, - .tga.dds файлы. .dds расширение только показывает, что файл был сжат в определенной манере, это - действительно .tga файл.

Вы заметите, что папка структур пуста. Потому-что, в отличие от .cas файлов файлы структуры(шкурки), что используются игрой, все скрыты в пределах .pak файлов в пределах папки Data. Поскольку мы добавляем новую структуру(шкурки),  мы не должны волноваться о них, мы только что добавили новые структуры(шкурки),  в data\models_unit\textures.

После этого шага вы можете видеть и использовать ваших юнитов (пока в виде серого крестьянина) в пользовательской битве!

Шаг Пятый - создание дерева юнитов для компании (после этого они становяться доступными для вербовки в основной кампании)

Чтобы сделать это, мы должны редактировать файл, названный export_descr_buildings.txt

Athenian Marine Archer
В том файле, вы найдете все здания, которые могут быть построены, в данном случае для нашей цели нужны военные здания, а точнее здания для создания лучников. Я хочу, чтобы Athenian Marine Archer были доступны для найма точно так же как нормальные обычные юниты, таким образом мы должны найти их линию и дублировать это
:

recruit "greek peltast"  0  requires factions { greek, }

и переделать это в селующего вида строку:

recruit " greek athenian marine archer "  0  requires factions { greek, }

Единственное изменение, которое мы должены сделать, - это название, которое мы добавляем в список наима в файле export_descr_buildings.txt.

Итак добавляем нашу строчку в списак нанимаемых юнитов в строении называемом building missiles. В итого мы получим список следующего вида:

building missiles

{

    levels practice_field archery_range catapult_range siege_engineer

    {

        practice_field requires factions { barbarian, carthaginian, eastern, parthia, egyptian, greek, roman, }

        {

            capability

            {

                recruit "carthaginian peltast"  0  requires factions { spain, }

                recruit "barb peltast gaul"  0  requires factions { gauls, }

                recruit "barb peltast german"  0  requires factions { germans, }

                recruit "barb slinger briton"  0  requires factions { britons, }

                recruit "barb archer dacian"  0  requires factions { dacia, }

                recruit "barb archer scythian"  0  requires factions { scythia, }

                recruit "carthaginian peltast"  0  requires factions { carthage, }

                recruit "carthaginian archer"  0  requires factions { numidia, }

                recruit "east peltast"  0  requires factions { armenia, pontus, }

                recruit "east slinger"  0  requires factions { parthia, }

                recruit "egyptian peltast"  0  requires factions { egyptian, }

                recruit "egyptian slingers"  0  requires factions { egyptian, }

                recruit "greek peltast"  0  requires factions { greek, }

                recruit " greek athenian marine archer "  0  requires factions { greek, }

                recruit "roman velite"  0  requires factions { roman, }  and not marian_reforms

                recruit "roman light infantry auxillia"  0  requires factions { roman, }  and marian_reforms

            }

            construction  3

            cost  1200

            settlement_min large_town

            upgrades

            {

                archery_range

            }

        }

Чтобы наш юнит был доступен для найма во всех последующих, более высогого уровня зданиях, мы просто должны добавить эту строчку во все последующие уровни этого здания!

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

Еще одна маленькое неудобства которое остаеться – это то, что при выборе нашего нового юнита мы видим серого крестьянина. Это не страшно. Главное мы получили нашу модель в игре.

 

© Автор тутора - VIR
©Запрещается любая перепечатка и копирование без согласия  Internetwars.ru .