Новые спасители человечества
Темный узкий коридор. На полу лежит несколько стонущих людей, среди них подруга Томми — Джен. Изголодавшиеся инопланетяне окружают умирающих, готовясь наброситься на них. Вот мерзкое существо уже наклоняется к Джен… Вдруг один из монстров начинает палить из кислотной пушки по своим собратьям, сжигая их в пепел. Думаете, инопланетяне просто не поделили добычу? Вовсе нет! Просто в монстра на этот раз перевоплотился хитрющий Томми.
Сегодня мы сделаем мод для Prey , который позволит вам залезть в шкуру любой инопланетной твари… И не только! Вы сможете пройти игру за Джен и даже за дедушку Томми. Всего несколько минут правки программного кода — и вот вы уже примеряете «шкурку» нового персонажа.
Дела модельные
Прежде чем приступить непосредственно к созданию мода, позвольте сориентировать вас в пространстве игровых директорий. Все интересные ресурсы собраны в подкаталоге \base. В нем вы обнаружите файлы с расширением pk4 — это самые обычные ZIP-архивы.
Архив pak000.pk4 содержит конфигурационные файлы, pak001.pk4 и pak004.pk4 — текстуры (в первом случае расширения dds , во втором — более традиционного tga ), pak002.pk4 — модели (имеют расширение md5mesh ) и их скины ( .tga ), pak003.pk4 — звуковые эффекты (расширения wav и ogg ).
В pak000.pk4 нас больше всего интересует папка \def , в которой находится огромное количество файлов, интересных для модостроителя. Все они имеют расширение def и могут быть отредактированы в стандартном «Блокноте». Каждый файл поделен на блоки (разделы). Содержимое раздела заключается в фигурные скобки, а название располагается строкой выше. Блоки содержат различные параметры. Слева указывается название атрибута, справа — значение (при этом и то, и другое выделено кавычками).
Сегодня мы будем править только один файл — player.def. В нем собраны характеристики главного героя. Для того чтобы какой-нибудь игровой персонаж подменил Томми на поле боя, вам понадобится немного поработать над параметрами модели.
Начнем с головы. Вслед за комментарием Head stuff (закомментированному, то есть не учитывающемуся игрой тексту, предшествуют символы « // ») идет параметр model_head. Исправляя значение, вы заменяете голову персонажу. Вот наиболее интересные из возможных вариантов (далее слева указывается значение атрибута, справа — чьей голове оно соответствует):
head_grandfather — дедушка Томми;
head_jenny — Джен (подруга Томми);
head_girlfriend_blonde — Джен со светлыми волосами;
head_girlfriend_spirit — возлюбленная Домаси в обличии призрака;
head_hider — индеец;
head_hider2 — еще один индеец;
head_princess — принцесса;
head_bob — персонаж по имени Боб;
head_paul — персонаж по имени Пол;
head_ted — Тэд;
head_mutilatedhuman — изуродованный (мутированный) человек.
Что касается остальных частей тела, то за них отвечает атрибут model из раздела entityDef player_tommy. Наиболее интересные значения следующие:
model_character_grandfather — модель дедушки;
model_character_girlfriend — Джен;
Следующие шесть наименований значений также соответствуют подруге Томми в различных ее ипостасях (на разных картах выглядит она по-разному), отличия лишь в деталях: model_character_girlfriend_slab , model_character_girlfriend_roadhouse , model_character_girlfriend_lotae , model_character_girlfriend_biolabs , model_character_girlfriend_feedinga , model_character_girlfriend_feedingc.
model_character_hider — индеец;
model_character_princess — принцесса;
model_character_hiderprincess — еще одна принцесса;
model_character_bob — Боб;
model_character_paul — Пол;
head_ted — Тэд;
model_monster_keeper — Хранитель.
model_monster_mutilated_human — мутант.
Чтобы сыграть за любого персонажа, нужно просто присвоить параметрам model_head и model значения, соответствующие моделям головы и туловища необходимого героя. Однако можно и экспериментировать. Например, голову одного героя приделать к телу другого. Забавно выглядит, например, Томми с головой монстра (добиться такой мутации можно, присвоив первому атрибуту значение head_mutilatedhuman ) или монстр с лицом Джен (здесь нужно будет использовать, соответственно, сочетание head_jenny и model_monster_mutilated_human ).
Рабочий материал
Можно, конечно, ограничиться одним лишь изменением внешности главного героя, но можно пойти дальше и изменить практически все его характеристики. Перед тем как редактировать файл player.def , обязательно сделайте его резервную копию, чтобы всегда можно было вернуть Томми на роль главного героя. После того как вы создадите нового персонажа, также сделайте копию файла player.def : вы сможете легко переключаться между героями, копируя в игровую директорию (точнее, в каталог \def архива pak000.pk4 ) соответствующий вариант файла.
Основные (преимущественно физиологические и боевые) параметры вашего персонажа собраны в разделе entityDef player_base. Ознакомимся с основными атрибутами:
pm_jumpheight — высота прыжка;
pm_stepsize — дальность шага;
pm_crouchspeed — скорость передвижения в приседе;
pm_walkspeed и pm_noclipspeed — быстрота ходьбы с оружием в руках и без оного;
pm_minviewpitch — насколько высоко персонаж может поднимать голову;
pm_maxviewpitch — насколько низко игрок может опускать голову;
pm_stamina — выносливость;
pm_crouchrate — быстрота перехода из положения стоя в положение сидя и наоборот;
health — здоровье на старте уровня;
maxhealth — максимальное количество здоровья.
Следующие восемь атрибутов определяют максимальное число патронов, предназначенных для следующих видов вооружения:
max_ammo_rifle — винтовка;
max_ammo_sniper — снайперская винтовка (винтовка в режиме альтернативной стрельбы);
max_ammo_crawler — жук;
max_ammo_autocannon — пулемет;
max_ammo_autocannon_grenade — гранаты к пулемету;
max_ammo_acid — кислотный распылитель;
max_ammo_crawler_red — гранатомет;
max_ammo_energy — плазмомет в «энергетическом» режиме стрельбы;
rifleAmmoRechargeRate — скорость восстановления заряда (ограничивается отметкой, определяемой настройкой rifleAmmoRechargeMax ) для винтовки;
healthRechargeRate — скорость регенерации (до уровня здоровья, заданного показателем healthRecharge ). В оригинале регенерация начинается, когда у игрока меньше 25% здоровья;
healthRechargeDelay — задержка (в миллисекундах) перед началом регенерации;
max_ammo_spiritpower — максимальное количество ментальной энергии.
Указанные далее шесть атрибутов описывают игрока в мире духов:
minResurrectHealth — минимальное количество здоровья, с которым игрок может вернуться с того света;
deathWraithHealthAmount — прибавка к здоровью за убийство красного существа;
deathWraithSpiritAmount — бонус к ментальной энергии за убийство синей твари;
deathWalkMaxWraiths — максимальное количество существ (красных и синих), которое вы можете увидеть и подстрелить на небесах потустороннего мира за одно посещение;
deathWalkWraithDamage — количество ментальной энергии, теряемое игроком, когда в него попадает существо;
deathWalkMinTime — минимальная длительность (в миллисекундах) пребывания игрока в потустороннем мире;
damage_scale head — множитель урона, применяемый, если главному герою выстрелили точно в голову.
Кто на новенького?
С назначением настроек разобрались, приступаем к модостроительным работам. Они позволят добавить в игру четырех новых спасителей планеты.
Джен
Первый новичок в представлении не нуждается. Это возлюбленная Домаси — Джен. Чтобы сделать ее главным героем, первым делом измените модель. Для этого задайте атрибуту model_head значение head_jenny , head_girlfriend_blonde или head_girlfriend_spirit , а настройке model — model_character_girlfriend.
С внешностью закончили, приступаем к правке прочих характеристик. Поскольку Джен стройная и легкая, то логично будет сделать ее прыгучей и быстрой. Для этого атрибутам pm_jumpheight , pm_walkspeed и pm_noclipspeed присвойте значения 75 , 210 и 230 соответственно. Теперь девушка передвигается прямо-таки молниеносно.
Характеристике pm_stamina пропишите число 8 , чтобы уменьшить выносливость. А параметры health и maxhealth сделайте равными 90 , слегка уменьшив тем самым запас жизненных сил у Джен.
Героиня, по логике, не сможет носить на своих хрупких плечах запасы амуниции в тех же объемах, что и Томми. Поэтому показателям max_ammo_crawler , max_ammo_autocannon , max_ammo_autocannon_grenade , max_ammo_acid и max_ammo_crawler_red присвойте значения 10 , 375 , 8 , 20 и 22. Повысьте значения атрибутов rifleAmmoRechargeMax и rifleAmmoRechargeRate до 50 и 0.75 соответственно.
Дедушка Томми
После Джен геройствовать в мире Prey будет дедушка Томми. Чтобы примерить «шкуру» старика, задайте атрибуту model_head значение head_grandfather, а model — model_character_grandfather. В скорости дедок не может тягаться с продолжателем рода, поэтому числа, относящиеся к параметрам pm_crouchspeed, pm_walkspeed , pm_noclipspeed и pm_crouchrate , следует исправить, соответственно, на 50 , 160 , 185 и 0.75.
То же самое — с шагом, выносливостью и высотой прыжка. Значения атрибутов pm_stepsize , pm_jumpheight и pm_stamina понизьте до отметок: 12 , 55 и 7.
Затем измените значения параметров ammo_rifle , max_ammo_sniper , max_ammo_autocannon_grenade , ammo_crawler_red и max_ammo_energy на 120 , 10 , 10 , 20 и 50. Старый индеец, как и подруга Томми, не сможет таскать с собой большое количество боеприпасов. ~~~~
Несмотря на всю свою медлительность, дед Томми будет весьма опасен для монстров. Для этого параметру max_ammo_spiritpower пропишите значение 150. Показателям minResurrectHealth , deathWraithHealthAmount , deathWraithSpiritAmount и deathWalkWraithDamage задайте значения 70 , 15 , 30 и 5. Это позволит старику получить важнейшее преимущество по сравнению со своим внуком: в мире духов он будет чувствовать себя как рыба в воде. Теперь мудрый и опытный старец возвращается с того света с багажом как минимум 70% здоровья (в отличие от Томми, у которого сохраняется только половина энергии).
* * *
Выбирайте для себя наиболее подходящего вам персонажа из четырех предложенных или создавайте какого-то иного на свой вкус. Благо примеров мы разобрали достаточно, да и со всеми основными параметрами игрока вы теперь хорошо знакомы.
Не забывайте, что в любой момент вы можете скопировать нужный вам файл с именем player.def в папку \def архива pak000.pk4 и продолжить игру за другого персонажа. Ведь новобранцы отличаются не только внешне, но и другими характеристиками, одни уровни проще проходить Джен, другие — дедом Томми, а некоторые — в обличье мутанта. Хрупкая и изящная Джен — это скорость и увертливость. Дед получает льготы при посещении мира духов и большой запас ментальной энергии. Выбор за вами!