16 февраля 2004
Обновлено 17.05.2023

Вскрытие по-генеральски. Command & Conquer: Generals, часть 2

Вскрытие по-генеральски. Command & Conquer: Generals, часть 2 - изображение обложка

В прошлой статье мы перерисовывали интерфейс Command & Conquer: Generals, изменяли положение камеры, прописывали новые характеристики для пеших юнитов. Сегодня мы создадим новые виды оружия, поработаем над системой рангов различных юнитов, зададим новые характеристики для транспортных юнитов и… добавим в игру новые апгрейды, которые разработчики почему-то решили спрятать от геймеров. Средства уничтожения Мы разобрались с базовыми игровыми параметрами. Изучим файл Weapon.ini , который буквально напичкан разнообразными настройками, связанными с оружием. Редактируя эти параметры, вы сможете полностью перевооружить свои войска и войска оппонентов. Обычные автоматы будут стрелять гранатами, базуки станут метать ракеты по прямой, танки — палить по врагу со скоростью “катюш”, а самый простой пехотинец будет вооружен не хуже бронетранспортера. Как и все остальные ini-файлы игры, Weapon.ini разбит на разделы, каждый из которых начинается с маркера Weapon X , где X — название оружия (заканчивается раздел словом End ), и отвечает за тот или иной вид вооружения. Разберем основные атрибуты, изменение которых может сильно преобразить геймплей: PrimaryDamage — урон, наносимый данным оружием (в единицах здоровья). PrimaryDamageRadius — радиус поражения снаряда, которым стреляет это оружие (в футах). ScatterRadiusVsInfantry — максимальная дистанция, на которой из данного оружия можно стопроцентно попасть по врагу. Стоит воякам отойти на большую дистанцию, как они начнут часто мазать. Если выставить большое значение данного параметра, то из простых пехотинцев получатся настоящие снайперы, попадающие по цели на другом краю карты. AttackRange — дальнобойность оружия (в футах). Даже самую примитивную пушку легко заставить бить на дальнюю дистанцию. MinTargetPitch — минимальное расстояние, на которое может стрелять данный вид вооружения. MaxTargetPitch — максимальное расстояние, на которое бьет данное оружие. DamageType — тип снаряда, которым стреляет данное оружие. Вот перечень основных типов зарядов: ARMOR_PIERCING — пуля, пробивающая броню, JET_MISSILES — ракеты, пущенные с самолета, EXPLOSION — взрыв, SMALL_ARMS — обычная пуля, LASER — лазер, FLAME — огонь. Как вам идея сделать танки, стреляющие огнем? Вертолеты, бьющие бронебойными пулями? Или простых пехотинцев, вооруженных лазерами?.. DeathType — данный атрибут определяет, как умрет воин, убитый из данного оружия: NORMAL — обычной смертью, BURNED — сгорит, EXPLODED — взорвется, LASERED — будет испепелен лазером. Изменяя этот параметр, можно добиться весьма забавных эффектов. Например, если для лазерного оружия поставить вид смерти “взрыв”, то в бою это будет выглядеть весьма забавно. WeaponSpeed — скорострельность (в условных единицах). Ракетный танк, палящий со скоростью пулеметного джипа, — мечта любого маньяка-стратегофила. WeaponRecoil — сила отдачи. Выставьте, к примеру, такое значение, чтобы даже отдача от простенького автоматика сбивала пехотинцев с ног.

Вскрытие по-генеральски. Command & Conquer: Generals, часть 2 - фото 1

- В действительно серьезном моде переход на новый уровень должен требовать от игрока большого количества очков опыта
FireSound — звук стрельбы из данного орудия убийства. Нам не удалось изменить данный параметр так, чтобы выстрел из одного оружия хорошо смотрелся со звуком от другого выстрела. Не исключено, что это удастся вам. Экспериментируйте. ClipSize — размер обоймы у данного ствола. У оружия, не использующего обойму, здесь стоит 0. Если хотите сделать оружие с небольшой обоймой скорострельным, то этот параметр надо обязательно увеличить. ClipReloadTime — время (в миллисекундах), отводимое на перезарядку оружия. Редактируя значения всех этих параметров, вы можете изменить до неузнаваемости оригинальные виды вооружения. А можно… Создать совершенно новое оружие! Это нетрудно. Надо сделать копию раздела, соответствующего оружию, наиболее схожего с тем, которое задумали, и вставить ее между двумя любыми разделами файла. Теперь придайте вставленным параметрам подходящие значения, и оружие готово. Осталось только вооружить им какой-либо юнит. Чтобы сделать это, откройте файл FactionUnit.ini и в соответствующем юниту разделе пропишите новое оружие в группе параметров WeaponSet (о том, как это сделать, читайте чуть ниже). Улучшения и продвижения Интерфейс мы подредактировали, камеру сместили, броню юнитов изменили, создали совершенно новые виды оружия. Осталось несколько важных параметров, хранящихся в файлах Rank.ini и Upgrade.ini. Изменив их, мы придадим моду законченный вид. Система рангов Файл Rank.ini содержит систему рангов юнитов. Прописывая здесь другие параметры, вы можете понизить или повысить значение того или иного ранга для отдельных юнитов или для всей армии. Файл разбит на пять разделов, имеющих названия вида Rank X , где X — номер уровня. В каждом разделе представлены следующие параметры: __ RankName — кодовое название ранга. SkillPointsNeeded — количество очков опыта, необходимое для достижения данного уровня. SciencePurchasePointsGranted — количество очков, которое вам дают при получении указанного ранга и которое идет на повышение научного уровня вашей нации. Апгрейды В файле Upgrade.ini размещены параметры, связанные с апгрейдами построек и юнитов. Файл состоит из ряда тематических блоков, названия которых помечены двумя чертами, состоящими из знаков " - ". Каждый такой блок несет в себе апгрейды для того или иного здания или воина. Внутри блока помещаются разделы, соответствующие определенному апгрейду для этого юнита/строения и начинающиеся со слов Upgrade X , где X — название апгрейда. Любой раздел файла состоит из следующих атрибутов: DisplayName = UPGRADE: — название апгрейда, отображаемое в игре. BuildTime — время, которое требуется на проведение исследования. BuildCost — стоимость апгрейда. ButtonImage — изображение кнопки (оно должно храниться в архиве Textures.big в виде dds-файла), нажав на которую, вы начнете проводить данное исследование. ResearchSound — звук, который раздается по окончании проведения исследования. Лично мне кажется логичным добавить в игру побольше разнообразных исследований, а то слишком уж их мало предусмотрено разработчиками. Делается это по аналогии со вставкой в игру нового оружия. Единственное различие заключается в том, что апгрейд следует прописывать в качестве значения параметра вида UpgradeCameoX (о нем мы еще поговорим) у юнита (или сооружения), которое может подвергаться этому улучшению. Плюс желательно нарисовать свой значок для апгрейда (не забудьте положить его в архив Textures.big ), чтобы не путать его с другими исследованиями.

Вскрытие по-генеральски. Command & Conquer: Generals, часть 2 - фото 2

- Апгрейды стоят теперь дешевле, зато производятся значительно дольше
Здесь же следует отметить, что в игре имеются два апгрейда, которые авторы исключили из финальной версии (о том, как вернуть их в игру, читайте ниже). Боевые единицы Переходим к изучению ini-файлов из папки \Object. Она содержит девять файлов. Из них мы будем изменять следующие: CivilianBuilding.ini (содержит параметры строений, принадлежащих мирным жителям), FactionBuilding.ini (характеристики сооружений, находящихся во владении различных наций), CivilianUnit.ini (соответствует мирным юнитам), FactionUnit.ini (воины, состоящие на службе у той или иной нации), NatureUnit.ini (животные, населяющие игровые карты). Строения Разберем файлы, соответствующие строениям, — CivilianBuilding.ini и FactionBuilding.ini. Файлы имеют схожую структуру и разбиты на разделы, каждый из которых отвечает за определенное здание, относящееся к той или иной нации. Все разделы начинаются со слов Object X , где X — название постройки. В начале названия всегда стоит обозначение нации, которой данная постройка принадлежит: America — США, China — Китай, GLA — террористы. В каждом разделе вы встретите множество групп параметров, отвечающих за внешний вид построек (части модели, анимация различных частей конструкций). Перечислю основные параметры, которые нам будут нужны при редактировании строений. DisplayName = OBJECT: — название строения, отображаемое в игре. ButtonImage — изображение кнопки, нажав на которую, вы начнете строительство данного здания. Side — нация, которая может воздвигать сооружение ( America — США, China — Китай, GLA — террористы). EditorSorting — категория объектов, к которой относится постройка (используется при работе с редактором игры). BuildCost — стоимость здания. BuildTime — время (в секундах), отводимое на постройку строения. Хотите придать игре динамичности? Тогда смело уменьшайте раза в два значение этого параметра у всех строений, а также у юнитов (о них мы поговорим чуть позднее). EnergyProduction — количество энергии, вырабатываемое строением. В случае, если здание не вырабатывает, а потребляет энергию, данный атрибут принимает отрицательное значение. Если вы больше не хотите зависеть от электроэнергии и считаете электростанции ненужными, просто установите положительное значение у данного параметра для всех строений. VisionRange — “поле зрения” конструкции, то есть размер области вокруг постройки, которая не скрыта туманом войны. VoiceSelect — речь, которую вы слышите в ответ на выделение данной постройки кликом левой кнопкой мыши. Укажите здесь название файла с речью (без расширения). Сам файл должен находиться внутри архива SpeechEnglish.big , расположенного в игровой директории. SoundDie — звук, который вы слышите, когда постройка взрывается. SoundOnDamaged — звук, который проигрывается, когда здание атакуют. Указанный здесь звуковой файл должен быть упакован в архив Audio.big. SoundOnReallyDamaged — звук, раздающийся, когда конструкция подвергается атаке нескольких юнитов сразу. MaxHealth — максимальное количество “жизней” у строения. InitialHealth — начальное количество “жизней”.

Вскрытие по-генеральски. Command & Conquer: Generals, часть 2 - фото 3

- В созданной нами модификации не существует проблемы нехватки электроэнергии: даже командные центры способны ее генерировать
ExperienceValue — количество “опыта”, которое получает данное сооружение при переходе на следующий уровень. Значение параметра выглядит следующим образом: L1 L2 L3 L4 , где L1 — опыт, получаемый строением при переходе на второй уровень, L2 — на третий уровень, L3 — на четвертый, и L4 — на пятый. UpgradeCameo1 — апгрейд, которому может подвергаться данная конструкция. Здесь вы должны указать название раздела в файле Upgrade.ini , соответствующее апгрейду. Данный параметр встречается у строений крайне редко в связи с небольшим числом доступных апгрейдов для зданий. Наряду с указанными выше характеристиками каждой постройке соответствует блок атрибутов, имеющий вид: &nbspArmorSet; &nbspArmor; = X &nbspDamageFX; = Y &nbspEnd; X обозначает тип брони здания (все типы брони прописаны в файле Armor.ini ), а Y — эффект, который вы видите, когда конструкция подвергается атаке. Также каждому зданию соответствует блок параметров вида: &nbspPrerequisites; &nbspObject; = X &nbspEnd; Вместо X здесь указывается название здания (а точнее, название раздела файла, соответствующего этому зданию), которое требуется соорудить для постройки данного строения. Параметров вида Object = X внутри такого блока может сколько угодно — это зависит от того, сколько зданий необходимо построить. Обратите внимание, что многие строения обладают специфическими параметрами, присущими только определенному типу зданий. Так, например, у GLA главное сооружение имеет характеристику HoleHealthRegen%PerSecond , определяющую процент “жизней” данной конструкции, который регенерируется за секунду. У нейтральных построек (напомню, что им соответствует файл CivilianBuilding.ini ) имеются те же параметры, что и у построек базы, за исключением некоторых (например, показатели BuildCost и BuildTime). Юниты Начнем вскрытие файлов CivilianUnit.ini и FactionUnit.ini , которые содержат характеристики игровых юнитов. Здесь вы можете встретить уже знакомые нам по файлам CivilianBuilding.ini и FactionBuilding.ini параметры Side , EditorSorting , VisionRange , MaxHealth , InitialHealth , ExperienceValue , VoiceSelect , ButtonImage , UpgradeCameo1 , а также группы характеристик ArmorSet и Prerequisites. В файле FactionUnit.ini вы также обнаружите параметры вида UpgradeCameoX ( X — номер апгрейда), цель которых — обозначать все доступные для данного юнита апгрейды. Ниже приведен список атрибутов, характерных только для юнитов и не встречающихся у строений. IsTrainable — способность юнита набирать опыт ( Yes — есть, No — нет). ExperienceRequired — количество “опыта”, которое требуется юниту для перехода на следующий уровень. Значение параметра задается аналогично показателю ExperienceValue. TransportSlotCount — транспортная способность юнита (количество солдат, которое может перевозить в себе данный юнит). Если машина не может перевозить пехоту, то в данном параметре у нее стоит 0. Mass — масса юнита. От массы зависит скорость передвижения воина. VoiceMove — фраза, которую произносит юнит, когда вы приказываете ему двигаться. VoiceAttack — боевой клич юнита, когда он атакует врага. Помимо названных выше атрибутов, каждому юниту соответствует блок WeaponSet , определяющий, какими видами вооружения наделен данный воин. Структура блока выглядит так: &nbspWeaponSet; &nbspConditions; = N &nbspWeapon; = PRIMARY X &nbspWeapon; = SECONDARY Y &nbspWeapon; = TERTIARY Z &nbspEnd; N — условие, при котором юнит получает возможность пользоваться альтернативными орудиями убийства ( PLAYER_UPGRADE — совершение определенного апгрейда, None — такие условия отсутствуют). X — название первого (основного) оружия воина, Y — второго и Z — третьего.

Вскрытие по-генеральски. Command & Conquer: Generals, часть 2 - фото 4

- Теперь вместимость армейского джипа возросла до пяти человек
Все орудия убийства прописаны в файле Weapon.ini (в этом файле вы также найдете названия всех представленных в игре видов вооружения). Параметров Weapon = SECONDARY и Weapon = TERTIARY может и не быть, если юнит наделен только одним видом вооружения. Чтобы привинтить к юниту новый вид оружия, просто вставьте в группу атрибутов WeaponSet новый параметр вида Weapon = X Y , указав вместо X номер слота для оружия, а вместо Y — название оружия.Меняя значение параметра Side у нейтральных юнитов на название нужной вам нации, можно заставить нейтральных юнитов служить в армии (самый лучший вариант — добавить к каждой нации по 2-3 нейтральных воина). Как вам идея покомандовать отрядами мирных граждан и водителей, управляющих легковыми машинами? Правда, следует отметить, что большинство мирных жителей не вооружены, и им нужно выдать какое-то оружие. С этой целью вы можете вставить в раздел, посвященный интересующему вас юниту, группу параметров WeaponSet и поместить в нее название нужного оружия. И вот уже хорошо вооруженные мирные граждане, уставшие сидеть без дела, забриты в рекруты и скоро станут участниками масштабного военного конфликта. Завершая разговор о юнитах и строениях, следует отметить, что вы можете не только менять отдельные их показатели, но и замещать их новыми воинами и постройками. Правда, для этого придется также подредактировать соответствующие текстуры и модели. Скрытое становится явным Оказывается, в Command & Conquer: Generals имеются незадействованные апгрейды, скрытые способности у некоторых юнитов и не попавшие в игру орудия убийства. Почему разработчики отказались от всего этого, остается загадкой, но, думаю, вам будет интересно увидеть секреты собственными глазами. Первое, что авторы игры спрятали от наших любопытных взглядов — это апгрейд для юнита Tomahawk (и апгрейд, и сам юнит можно заказать в здании War Factory ) под названием Cruise Missiles. Сделав этот апгрейд, вы “обучаете” воина команде Tomahawk Bombardment , что позволяет задавать ему точку, которую тот будет бомбардировать до самой своей смерти или пока вы не прикажете юниту отходить. Чтобы включить в игру апгрейд и соответственно новую команду для Tomahawk, вы должны проделать следующее. Сначала откройте в текстовом редакторе файл Upgrade.ini (лежит в архиве INI.big ), найдите в нем блок под названием America War Factory Upgrades и удалите символы " ; " из начала строк (таких строк семь; строчку CUT трогать не надо), образующих верхний раздел (он называется Upgrade Upgrade_AmericaTomahawkRemoteControl ) указанного блока. Зайдите в папку \Object (также находится в архиве INI.big ) и найдите в ней файл FactionUnit.ini , в котором найдите раздел Object AmericaVehicleTomahawk. В нем нужно снять комментарий (то есть удалить символ " ; ") со строчки UpgradeCameo4 = Upgrade_AmericaTomahawkRemoteControl , а также удалить из конца строки надпись CUT. Теперь вы можете заказывать скрытый ранее апгрейд. Но нужно еще научить юнита им пользоваться. Для этого откройте файл CommandButton.ini и удалите из него символ " ; " из начала каждой строки раздела CommandButton Command_UpgradeAmericaTomahawkRemoteControl. То же самое проделайте в разделе CommandButton Command_FireTomahawkAtPosition того же файла. Откройте файл CommandSet.ini. В разделе CommandSet AmericaVehicleTomahawkCommandSet уберите комментарий из строки 3 = Command_FireTomahawkAtPosition , а в блоке CommandSet AmericaWarFactoryCommand Set — из строки 9 = Command_UpgradeAmericaTomahawkRemoteControl. Также удалите надпись CUT из конца строки.

Вскрытие по-генеральски. Command & Conquer: Generals, часть 2 - фото 5

- В строении War Factory появился новый апгрейд
Только после этого юнит Tomahawk сможет атаковать указанную точку на местности. __ Вернем в игру еще один важный апгрейд. На этот раз — для “китайского” юнита Red Guard. Этот апгрейд наделяет Red Guard способностью стрелять патронами, оглушающими противников, и может быть произведен в здании Propaganda Center. Чтобы активизировать апгрейд, первым делом отредактируйте файл Weapon.ini. Найдите в файле раздел Weapon RedguardStunBulletsMachineGun , удалите символ " ; " из начала каждой строки. Откройте файл FactionUnit.ini из директории \Object. В разделе Object ChinaInfantryRedguard нужно снять комментарий с параметра UpgradeCameo3 и подставить следующее значение: Upgrade_ChinaStunBullets. В этом же разделе найдите группу параметров WeaponSet и смените внутри нее значение атрибута Conditions на PLAYER_UPGRADE и добавьте характеристику Weapon = SECONDARY RedguardStunBulletsMachineGun. Обратите внимание на то, что вы можете и не менять значение параметра Conditions, но тогда Red Guard будет получать оглушающий ствол не вследствие апгрейда, а с момента начала игры, что может внести определенный дисбаланс. Если же вы тем не менее решили сразу наделить “краснога стража” новым мощным оружием, корректировку файла Upgrade.ini, о которой речь пойдет дальше, можно не осуществлять. Следующим шагом на пути к новому апгрейду является редактирование файла Upgrade.ini. В нем нужно удалить комментарий со всех строк (их всего семь) раздела Upgrade Upgrade_ChinaStunBullets (располагается в блоке China Propaganda Center Upgrade ), начиная с его названия и заканчивая словом End. Апгрейд добавлен в игру. Последнее, что спрятали от нас авторы игры — это Tranquilizer , оружие, стреляющее патронами с транквилизирующими свойствами. Данной пушкой может быть вооружен воин Rebel , состоящий на службе у GLA. Чтобы добавить оружие в игру, откройте файл Weapon.ini и удалите комментарий с раздела Weapon GLARebelTranqDartsWeapon. Найдите в файле FactionUnit.ini (в каталоге \Object ) раздел Object GLAInfantryRebel и добавьте в него характеристику Weapon = SECONDARY GLARebelTranqDartsWeapon в группу параметров WeaponSet. Мы добавили в игру новые апгрейды и невиданные ранее виды оружия для каждой нации, одновременно усилив все три противоборствующие стороны. Существенного дисбаланса в игру изменения не внесли. В бой идут одни генералы Пришло время создавать свою модификацию. Как она будет выглядеть — решать вам. Можно ограничиться легким редактированием основных игровых параметров, но вряд ли это устроит настоящего фаната Generals. Придется изменить значения множества параметров, придать игре новый облик, переписать тексты, изменить текстуры и интерфейсные картинки, смоделировать новые юниты, добавить озвучку. Как вариант — можно заменить одну из противоборствующих сторон нашими соотечественниками. Сделать это не так сложно, как кажется на первый взгляд. Для этого вовсе не обязательно видоизменять все модели юнитов и строений какой-то из наций — достаточно по минимуму изменить геометрию построек, украсить их новыми текстурами, переозвучить воинов и слегка подправить внешний вид и характеристики некоторых из них. И вот уже мод с участием России готов. Если же нет желания производить какие-то глобальные изменения и в то же время хочется создать что-то оригинальное, можно просто сделать небольшой аддон к игре. С несколькими новыми юнитами, строениями, исследованиями, видами оружия, миссиями (желательно — объединенными в кампанию). Работа над созданием такого дополнения облегчается тем, что мы уже включили в игру скрытые апгрейды и секретные виды оружия.

Комментарии
Чтобы оставить комментарий, Войдите или Зарегистрируйтесь