Medal of Honor. Движок третьего Quake. Два основных следствия: превосходная графика и полностью открытая архитектура. И один вывод: можно быстро создавать полноценные модификации. То, что мы — и вы, если воспользуетесь данными в статье советами — получим в результате изменения конфигурационных файлов, будет совсем новой игрой. Полноценной. Самодостаточной. Модификацией. Настройки Из всех игровых файлов для нас наиболее привлекательны
*.pk3-архивы, коих насчитывается шесть штук: Pak0.pk3, Pak1.pk3, Pak2.pk3, Pak3.pk3, Pak4.pk3 и Pak5.pk3. Все они пребывают в каталоге \Main, в директории с игрой, и являются переименованными *.zip-архивами. Работать с ними просто. Самым содержательным из всех игровых архивов является Pak0.pk3. В нем вы можете найти ряд папок и несколько *.cfg-файлов. Нам пригодится лишь один — autoexec.cfg. Он может быть отредактирован в любом текстовом редакторе, в том числе и в обычном "Блокноте". Файл можно условно разделить на две части. В первой из них помещаются параметры вида bind X "N", назначающие клавиши для вызова во время игры той или иной команды (X — название клавиши, N — имя вызываемой ею команды). Обратите внимание на то, что "привязать" эти команды к клавишам можно только посредством редактирования этого файла — игровое меню вам в этом не поможет. Во второй части файла autoexec.cfg размещаются другие не менее важные параметры. К ним относится характеристика set cl_playintro, от которой зависит, будет ли при запуске игры проигрываться вступительный ролик (а вместе с ним и ролики с логотипами создателей игры): 1 — да, 0 — нет. Параметрами set ui_skip_eamovie, set ui_skip_titlescreen и set ui_skip_legalscreen определяется возможность для играющего скинуть ролики, представляющие создателей игры (1 — да, 0 — нет). Советую выставить значения последних трех характеристик на отметку 1, а особо нетерпеливые игроки могут убрать и стартовый ролик посредством редактирования характеристики set cl_playintro. В обоих случаях скорость начальной загрузки игры несколько увеличится. А главное — не будет надоедливых рекламных заставок. Осмотр Теперь перейдем к изучению папок, которые вы можете обнаружить в недрах архивного файла Pak0.pk3. Первый представитель, директория \anim, содержит в себе *.scr-файлы — скрипты, служащие для описания разного рода анимации. При желании вы можете покопаться в их внутренностях, но учтите — структура файлов весьма сложна, и разобраться, где что, очень непросто. В каталоге \fonts лежат все игровые шрифты в виде файлов с расширением ritualfont. Открыв любой из них в стандартном "Блокноте", вы можете с помощью редактирования значений параметров height и aspect изменить размеры шрифта. Создавая собственную модификацию, не стоит оставлять старый MoH шрифт. Иначе каждый взглянувший на экран скажет: "Э! Да он просто чуть изменил игру". Открытая архитектура движка позволит нам создать уникальный мод, ничем не похожий на оригинальную игру. Папка \gfx богата различными элементами оформления игры. В ней вы найдете
подкаталоги \2d и \fonts. В первом из них располагаются некоторые части интерфейса — курсоры, стрелки, интерфейсные картинки и т.п. Во втором — графические представления игровых шрифтов в виде картинок формата *.tga. Учтите, что последние используют альфа-канал. Посему просмотреть их и подкорректировать можно только в мощном графическом редакторе (например, в Photoshop’е), способном работать с альфа-каналом. При желании вы можете полностью видоизменить местные шрифты, перекрасив их в другой цвет или подрисовав к каждому символу какую-нибудь закорючку, придав тем самым шрифту неповторимый вид. Переливы — для "фьючер-мода", готика — для старины. Все ограничивается только вашей фантазией. У меня, например, получился забавный мод, где все шрифты были закошены под "Кока-Колу". Директория \global может похвастаться многообразием файлов с расширениями scr, txt и st. Все они читаются "Блокнотом", но не все представляют для нас интерес. Из тех, что способны привлечь внимание, выделяется файл localization.txt — подарок начинающим локализаторам. В файле прописаны все текстовые сообщения, которые вы можете встретить во время игры (каждое сообщение заключено в фигурные скобки и кавычки). Если вы решили русифицировать игру, данный файл окажется для вас просто незаменимым. Но не русификацией единой... Переписывая игровые сообщения, можно полностью изменить игровой сюжет. Ну а если к этому добавить изменение очередности миссий и модификацию заданий (см. ниже по тексту) — вот и готова новая игра! Помимо него в папке \global вы обнаружите *.scr-файлы, являющиеся самыми обыкновенными скриптами. Особого смысла в редактировании этих файлов нет. Каталог \models содержит модели, представленные файлами с расширениями lod, skc и skd (до выхода специального редактора эти файлы особого интереса не представляют). Все модели аккуратно разложены по многочисленным подкаталогам в следующем порядке (привожу только самые важные из них): боеприпасы в подкаталоге \Ammo; животные в \animal; различное оборудование в \equipment; мебель в \furniture; разнообразные спецэффекты в \fx (взрывы, блеск металла и т.д.); одежда и снаряжение в \gear; игровые персонажи в папках \human, \player и \posed; "призы" (различные полезные вещички, которые вы можете найти во время игры) в \item; осветительные приборы в \lights; предметы оформительного характера (бутылки, листы бумаги, столовые принадлежности и прочее) в каталогах \miscobj и \static; снаряды, используемые различными видами вооружения, в \projectiles; стационарное оружие в \statweapons; различные транспортные средства в \vehicles; разнообразные виды оружия в \weapons. Ждем редактора. Компанию моделям составляют *.tik-файлы (в редких случаях их заменяют файлы с расширением txt), где помещаются основные "модельные" параметры (практически каждой модели соответствует свой *.tik-файл, заимствующий у нее название). Наибольший интерес для нас представляют *.tik-файлы, относящиеся к оружию (к станционному в том числе), транспортным средствам и игровым персонажам. Орудия убийства Путем редактирования "оружейных" *.tik-файлов можно с легкостью создать любой оригинальный вид вооружения. Для этого откройте нужный *.tik-файл (например, если вы задались целью совершить преобразования над пистолетом Colt 45, откройте файл colt45.tik) в любом текстовом редакторе и подкорректируйте значения характеристик, список которых следует за надписью "init". Вот самые важные из них. name — название, которое оружие носит в игре (оно должно быть заключено в кавычки). Если вы создаете новое оружие, укажите здесь его имя. Что вы говорите? Есть идея создать "русский" мод? Нет проблем.
АК-47, ТТ, ПМ... pickupsound — звук, раздающийся при взятии вами данного орудия убийства. ammopickupsound — звуковой эффект, который вы слышите, когда подбираете боеприпасы к данному виду вооружения. noammosound — звук, раздающийся при попытке выстрелить из данного оружия, когда у него закончились патроны. firetype — снаряд, которым стреляет оружие. Может быть либо bullet (пуля), либо projectile (разрывной снаряд). ammotype — тип боеприпасов, способных пополнить обойму этого ствола (у гранат местное значение должно выглядеть как "grenade"). Вот список возможных значений: heavy, pistol, rifle, smg, mg и shotgun. Можно с легкостью унифицировать некоторые патроны подо все виды оружия. Или наоборот, усложнить игру, сократив количество видов боеприпасов, которые могут использоваться наиболее эффективными видами оружия. Если же вы создаете "мясную" модификацию, в которой кровь льется бурными потоками, то можно снаряжать smg пистолетными патронами и наслаждаться тотальной вивисекцией врагов. Что? Вы собираетесь повысить уровень AI противника (как, см. ниже по тексту) и устраивать снайперские дуэли в разрушенных городах? И это не проблема. Только в этом случае вам понадобится больше патронов для снайперки. Ну так разрешите винтовкам стрелять пистолетными патронами, и проблема с боекомплектом будет решена. semiauto — наличие строки с этим параметром свидетельствует о том, что данное оружие является полуавтоматическим. Ту же снайперку вполне можно сделать автоматической, существенно ускорив время стрельбы из этого из без того смертоносного оружия. Кстати, именно таким образом можно здорово повысить свою меткость. Да и мод с быстрозаряжающимися снайперками выглядит более чем свежо. clipsize — число патронов, которое может поместиться в обойму данного оружия. Один из способов добиться баланса в вашей будущей модификации — изменить количество патронов в обойме. Слишком легко убивают? Увеличьте количество патронов в обойме автомата и косите врагов направо и налево. Для "пап" рекомендуется обратное. Восемь патронов в автоматной обойме — и вот уже до того столь простые уровни превращаются в настоящую головоломку. Точная стрельба из автоматического оружия — в жизненную необходимость. startammo — количество патронов для данного вида вооружения, поставляющееся с последним. Иногда довольно интересного эффекта можно добиться, подсунув игроку мощное оружие, скажем, на первом уровне. Но без патронов! Поджигаем интерес в самом начале. А рванет он — интерес — уровне эдак на пятом, когда появятся соответствующие патроны. ammorequired — число патронов, расходующееся за один выстрел. firedelay — скорострельность. Самое страшное оружие, которое вы только можете создать в своей модификации, — снайперка, которой прикрутили автоматический режим, снабдили стопатронным магазином и увеличили скорострельность. Баланс — к черту, кровища — океаном. Впрочем, если увеличить число и скорость передвижения противников, то получится нечто сродни Serious Sam. Сердито и с мясом. А уж если и патчик, увеличивающий количество крови, выливающейся из артерий поверженных врагов, установить, то получится развлечение для настоящих игроманьяков. Следующие два параметра наличествуют только у гранат. maxchargetime — максимальный размах при броске вами гранаты. Увеличиваете это
Теперь эта пушка стреляет так, что одного попадания достаточно, чтобы отправить на тот свет любого врага, каким бы живучим он ни был. значение, и вот уже можно забрасывать гранаты в самые верхние этажи зданий. Если просто подстраиваете игру под себя, то это иногда спасет вам жизнь в городских разборках, когда враги засели на крыше. Ну а если создаете свой мод, то вот вам идейка. Ставите параметр на побольше и создаете уровень, заточенный исключительно под гранатные баталии. Пара окопов или развалины города и две партии, забрасывающие друг друга градом гранат. Феерия пламени и необходимость тактически мыслить, чтобы победить. Кажется, такого еще нигде не было. Идею — дарю, хотя мы ее в редакции уже опробовали, и нам понравилось. minchargetime — минимальный размах при броске гранаты. Специально для создателей мода "Симулятор камикадзе". Вбегаете в стан врага и швыряете гранату себе под ноги. Все умерли, но их больше, чем нас. "И в битве жестокой бобра с ослом побеждает бобро!" bulletrange — дальнобойность ствола. В самой игре не так уж много уровней, где какое-либо ваше оружие не может дострелить до видимой точки. Но кто сказал, что в вашей модификации не будет огромных открытых пространств, где данный параметр — ключевой? Оказывается, в открытом поле и воин с пистолетом кое на что способен, если пистолет может выстрелить на пару километров. Не хватает только снайперского прицела... bulletdamage — урон, наносимый снарядом данного оружия. bulletknockback — отдача, которую вы испытываете при ведении стрельбы из данного орудия убийства. Если вы творите сверхреалистичный мод, то не помешает увеличить отдачу у тяжелых видов оружия. Ну а если основная задача — создать чистой воды аркадное рубилово, то крутите счетчик к нулю и не "дрожите", когда дело доходит до стрельбы из тяжелой артиллерии. bulletspread — скорость полета пули, выпущенной из данного оружия. Возможность сделать из любого вида оружия эдакий рейлган. Пуля будет попадать в противника в момент нажатия на спусковой крючок. Но это для аркадников. А вот что можно посоветовать тем, кто пытается создать подобие OFP. Поройтесь в Сети, найдите характеристики различных видов оружия. Поэкспериментируйте и добейтесь соответствия игровой скорости полета пули реальной. Пара комментариев по ходу игры — и, возможно, ваша модификация станет популярна у служащих Российской Армии. Делают же на движке OFP настоящий военный тренажер! movementspeed — влияние веса оружия на скорость передвижения вооруженного им субъекта (на указанное здесь число умножается скорость героя, соответственно уменьшаясь или возрастая от этого). Как, ничего не замечаете?! Тогда слушайте внимательно. При значении, меньшем единицы, влияние имеет отрицательный характер.
Берете вы, например, в руки пистолет и... начинаете носиться как угорелый. Раньше единичкой не больно-то повоюешь. Но теперь, когда противникам сложнее в вас попасть... Такого же эффекта можно добиться и при создании мультиплеерных модификаций. Команда медленных, но тяжеловооруженных бойцов против снаряженных пистолетами, но очень быстро перемещающихся. А так ведь можно и различные классы создавать! tracerfrequency — частота трассирования пули, выпущенной из данного ствола. При значении, равном нулю, трассирование отсутствует. Если собираетесь создавать ночные баталии, то обязательно добавьте им зрелищности использованием трассирующих пуль. crosshair — тип прицела, красующегося на экране, когда вы вооружены данным оружием. Параметр принимает значения от нуля до трех. А вот выйдет редактор, тогда придет время и новые прицелы для снайперок рисовать. quiet — наличие строки с этим параметром свидетельствует о том, что данное оружие не производит при стрельбе никакого шума (как пистолет с глушителем). Присвойте это свойство стволу, обладающему большой убойной силой, и вы получите практически идеальное оружие — мощное и бесшумное. А поскольку оно такое крутое, желательно уменьшить количественную характеристику патронов, которые вы можете найти во время игры (о том, как это делается, читайте ниже), — тогда баланс будет соблюден. Если же вы творец мультиплеерного многоклассового мода, то бесшумное оружие можно вручить шпиону или разведчику. secondary firetype — снаряд, которым стреляет оружие при ведении альтернативного огня. К сожалению, заставить пистолет стрелять гранатами не получится, хотя бы потому, что у пистолета нет альтернативного огня. Но ряда интересных эффектов модификацией данного параметра добиться можно. Чуть-чуть смекалки, и ваш мод обретет свое запоминающееся ни на кого не похожее лицо. secondary ammotype — тип боеприпасов, используемых этим стволом при ведении альтернативной стрельбы. secondary ammorequired — число патронов, расходующееся за один выстрел при альтернативной стрельбе. secondary bulletrange — дальнобойность альтернативного огня. secondary bulletspread — скорость полета пули, выпущенной из данного оружия при альтернативной стрельбе. secondary bulletdamage — повреждение при альтернативной стрельбе. secondary bulletknockback — отдача при ведении альтернативной стрельбы. secondary quiet — наличие строки с этой характеристикой означает, что оружие не производит при альтернативной стрельбе никакого шума. После надписи DM Attributes идут те же параметры, только с приставкой dm, означающей, что они относятся к
deathmatch’евому режиму игры (например, показатель dmfiredelay устанавливает скорострельность оружия для deathmatch’а). Далее, после слова animations, начинается раздел файла, описывающий анимацию оружия. Если вы просто хотите немного изменить оригинальную игру, то редактировать содержимое этого модуля особого смысла не имеет. Но если вы решились полностью изменить игровые орудия убийства, не будет лишним заглянуть и сюда. Полезные вещички Оружие — не единственное, что поддается редактированию. Взять хотя бы "призы" (напомню, что им отведена папка \items в директории \models). Несмотря на то, что "призовые" *.tik-файлы не могут похвастаться обилием всяческих параметров, они, тем не менее, играют очень важную роль. Посредством их корректировки вы можете существенно повлиять на геймплей. Например, сильно понизив эффективность лечения вашего героя с помощью аптечек, вы делаете игру заметно сложнее. Увеличив количество патронов в боекомплекте, вы никогда не будете испытывать нехватку боеприпасов. И наоборот — ограничив запасы амуниции, вы вынуждаете играющего осторожничать и тратить патроны с умом в любой ситуации. По названию "призового" *.tik-файла несложно определить, какому предмету он соответствует. Файлы вида item_N_healthbox.tik посвящены аптечкам (в названиях таких файлов вместо N стоит число, указывающее, сколько здоровья прибавляет аптечка). Файлы, имеющие вид item_Y_ammobox, относятся к боеприпасам для различных видов вооружения, название которых указывается вместо Y. По большому счету, *.tik-файлы, относящиеся к "призам", построены по тому же принципу, что и их "оружейные" собратья. Так что с редактированием первых у вас не должно возникнуть проблем. Вот список характеристик. amount — количественная характеристика "приза" (например, у аптечки данный параметр определяет количество восстанавливаемого ею здоровья). dmamount — количественная характеристика "приза" для мультиплеера. pickupsound — звук, который вы слышите при взятии данного "приза". Средства передвижения Следующей нашей жертвой станут *.tik-файлы из папки \vehicles — те самые, что содержат характеристики встречающихся в игре средств передвижения. Обратите внимание на то, что некоторые местные *.tik-файлы посвящены не самим транспортным средствам, а установленным на них пушкам (в названиях таких файлов фигурирует слово "cannon"). Вот те немногие параметры, с которыми вы можете здесь встретиться. setsize — размеры данного средства передвижения. Здесь требуется указать через пробел размеры машины по осям X, Y и Z (к примеру, setsize "50 40 20"). И никто не помешает вам сделать из рядового "козла" настоящий "Хаммер". Или наоборот. Можно увеличить габариты танка, и он не сможет участвовать в городских битвах
В моей модификации танк способен одним точным выстрелом разнести на мелкие кусочки даже самую крепкую стену. — просто не пролезет на улицы. Или наоборот, заставить огромные махины просачиваться в самые узенькие закутки. Только не забывайте, что графика от изменения данного параметра не поменяется. Танк, визуально вполне вписывающийся в габариты улицы, но не способный проехать по мостовой, выглядит довольно забавно. В обратном случае полигоны техники будут проваливаться в стены. И вот тут уже игра может заартачиться и глюкнуть. Будьте внимательны! vehiclespeed — максимальная скорость, которую способно развивать данное средство передвижения. Для создателей футуристических модификаций очень важный параметр. Ничего не стоит заставить какую-нибудь танкетку носиться по уровню аки какой-нибудь ховерджет. vehiclemass — масса транспортного средства (влияет на скорость передвижения: чем меньше масса, тем выше скорость). vehicleradius — радиус колес. vehiclerollingresistance — сопротивление качению (чем выше, тем слабее машина будет подпрыгивать на ухабах). Можно немало позабавиться, установив значение данного параметра у какого-нибудь тяжеловесного танка, скажем, на отметку 0.1. Танк будет подпрыгивать на кочках, как мячик от пола. Понятно, что редактирование данного параметра — прямая дорога к созданию какого-нибудь шутовского мультиплеерного мода. turnrate — поворотливость. spawnturret — этим показателем определяется, оборудовано ли транспортное средство турелью (1 — да, 0 — нет). Если значение равно единице, рядом с ним указывается и путь к соответствующей пушке *.tik-файла. Например, spawnturret 1 "vehicles/tigercannon.tik". Заметьте, что можно оснастить турелями транспорты, на которых это оружие не предусмотрено. Что касается отведенных под турели *.tik-файлов, то список их характеристик практически полностью соответствует тому, что имеют игровые орудия убийства. Исключение составляет лишь параметр turnspeed, определяющий скорость поворота пушки. Поиграв с вышеперечисленными настройками у любой местной машины, вы можете превратить ее в принципиально новое транспортное средство. Оно может быть быстрым, бронированным, реалистичным, хорошо вооруженным — каким угодно. Главное, чтобы на нем было приятно кататься и чтобы оно хорошо вписывалось в ваш мод. Субъекты Что касается *.tik-файлов, поселившихся в папках \human и \posed, то
они отведены под характеристики игровых персонажей. Файлы, название которых начинается со слова "allied", посвящены вашим напарникам; файлы, в имени которых засветилась приставка "german_", соответствуют вашим противникам. Те же, что не имеют ни того, ни другого, относятся к мирным персонажам. Но независимо от категории все герои имеют следующие параметры: scale — габариты субъекта. При значениях, близких к единице, персонажи начинают страдать неизлечимым гигантизмом. Они перестают пролезать в двери, грудятся на площадях и вообще всячески "недомогают". В ряде случаев это может пригодиться при создании модов. Например, если нужно создать массовку на площади. radius — величина тени. При изменении габаритов персонажа не забудьте подкорректировать и его тень. Высший пилотаж — поиграть с тенями героев в закрытых помещениях с несколькими источниками света. Можно добиться весьма интересных эффектов. health — здоровье героя. weapon — вооружение. Изменяя эти характеристики у различных субъектов, можно добиться самых необычных и непредсказуемых результатов. Можете, например, сделать своих врагов карликами: тогда в них будет сложно попасть. Можете — наоборот, превратить их в мощных гигантов, наделив соответствующим росту здоровьем. Можно проделать подобное и со своими сослуживцами. Наконец, вы можете сильно повлиять на сложность игры, ослабляя или укрепляя здоровье ваших противников и меняя их оружейных арсенал. Сколько ниточка ни вейся... Архивы Pak1.pk3, Pak2.pk3, Pak3.pk3, Pak4.pk3 и Pak5.pk3 не могут сравниться с Pak0.pk3 по количеству полезных для нас файлов, но и они заслуживают внимания. Архивный файл Pak1.pk3
Видоизмененный экран героя. Внимание в правый верхний угол. содержит в себе лишь одну папку — \textures, которая имеет два подкаталога: \hud и \mohmenu. В первом из них собраны картинки формата *.tga, относящиеся к HUD’у (экрану героя). В их числе полоска здоровья, схематические изображения различных видов оружия и предметов, а также многое другое. При создании своего мода все это необходимо перерисовать с нуля, чтобы ничто не выдавало в вашем творении принадлежность к MoH. Что же касается подкаталога \mohmenu, то он содержит картинки оформительного характера для главного меню (они также имеют формат *.tga). Подстраивайте внешний вид меню под идею своей игры. В архиве pak2.pk3 хранятся текстуры, раскиданные по двум директориям: \env и \textures. В первой из них лежат текстуры для неба и заднего плана, во второй — все остальные (они рассортированы по подкаталогам). Все текстуры сохранены в форматах *.jpg и *.tga, так что вам не составит труда их перерисовать или заменить текстурами из других игр, а значит, и придать игре новый облик. В недрах архива Pak3.pk3 покоится папка \sound, где пребывает большая часть звуковых файлов игры, раскиданных по семи подкаталогам: \amb (здесь собраны звуковые эффекты, производимые окружением), \characters (звуки, издаваемые персонажами игры, — речь не в счет), \items (звуковые эффекты, раздающиеся при находке вами различных вещей), \mechanics ("механические" звуки), \menu (звуковое оформление меню), \vehicle (звуки, производимые транспортными средствами) и \weapons (выстрелы и взрывы). Если вы создаете серьезную модификацию, вам не обойтись без замены некоторых "старых" звуковых эффектов новыми. Вполне возможно, что вы решитесь полностью переозвучить игру. Тут уже встает проблема времени и сил. Но возможность есть, и это главное. Из архива Pak4.pk3 можно извлечь на свет каталог \dialogue, служащий пристанищем местным *.wav-файлам с речью различных персонажей игры. Если есть желание, можете переозвучить игровых персонажей или, как вариант, заменить немецкие ругательства русскими. Что же касается последнего архивного файла, Pak5.pk3, то он содержит игровые карты, каждой из которых соответствуют файлы с расширениями bsp (основной файл), min, pth и scr. К сожалению, новая версия Radiant’а, способная работать с этими файлами, еще не вышла, но, судя по всему, ждать ее выхода остается недолго. И последнее, о чем хочется сказать — это музыка. Она находится вне всяких архивов и размещается по адресу: <Каталог игры>\main\sound\music. Все музыкальные файлы имеют формат *.mp3, так что вы можете без труда их прослушать или заменить другими композициями. * * * Приведенной в статье информации более чем достаточно для создания полноценной модификации. Создавайте новые виды оружия и транспортных средств, усиливайте своих врагов, перерисовывайте текстуры, снабжайте игру новыми звуками. При удачном выполнении вами всех этих этапов модостроения игра преобразится. Когда все будет готово, запаковывайте измененные файлы в архивы и высылайте нам в редакцию (одновременно на два адреса: operKOT@igromania.ru и orange@igromania.ru). Наиболее удачные работы мы обязательно увековечим на нашем компакте. И не забудьте поместить в архив текстовичок с кратким описанием мода и инструкцией по установки вашей нетленки на игру.