на главную страницу |
|
КАК ВНЕДРИТЬ НОВЫЙ ЮНИТ В ИГРУ |
|
Здесь можно задать вопрос по этому тутору. м Активно обсуждаем военные игры, историю, МОДы, и новинки |
Шаг Первый - добавление нового входа в export_descr_unit Итак мы добавим нового юнита для Греков который называется Athenian Marine Archer (Афинский морской лучник) Модель Athenian Marine Archer вы можете скачать здесь. Athenian Marine Archer Вот существующий вход для римских лучников. 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 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 . |