Категория: Основное, Программы |
Мозги — по полочкам!
Первый этап — изучение содержимого игровой директории и подготовка к работе необходимых для взлома инструментов. Из всей массы папок, хранящихся в каталоге с игрой, нам могут пригодиться следующие: \Audio, \data, \models, \movies, \mp3, \skins, \Text и \txd.
В каталоге \Audio находятся звуковые файлы (некоторые из них содержат звуковые эффекты, другие — речь игровых персонажей), записанные в форматах .wav и .mp3, а также adf-файлы, соответствующие радиостанциям (см. врезку).
В каталоге \movies расположены игровые ролики: Logo.mpg — заставка с логотипами создателей игры, GTAtitles.mpg — начальный ролик с титрами. Их без труда можно заменить видеовставками собственного производства.
Папка \mp3 — место хранения mp3-файлов. Чтобы вставить в игру новые мелодии, просто положите в эту директорию любимые треки, и вы сможете прослушивать их во время игры (для этого при настройке радио выберите пункт "MP3 Player"). Можете даже открыть собственную радиостанцию, проигрывая на ней излюбленные песни, и, если есть микрофон, выступить в роли ди-джея.
В каталог \skins разработчики поместили лишь один файл — texture_guide.jpg, который представляет собой картинку со скином Томми Версетти — главного героя игры. Нужно ли говорить, что вам не составит труда сделать своему персонажу новую внешность? Тем более что авторы игры пошли нам навстречу и подписали каждую часть тела в "шкурке" Томми, максимально упростив процесс перевоплощения нашего героя. Перерисовать скин можно в любом графическом редакторе.
Что касается папки \Text, то в нее авторы вложили игровые тексты, представленные файлами формата .gxt. Всего таких файлов пять, и каждый из них несет в себе тексты на том или ином языке. Нас интересует файл american.gxt, содержащий тексты на английском. Для работы с последними нам пригодится утилита Vice City GXT Editor — текстовый редактор для Vice City.
Каталог \models содержит игровые текстуры и интерфейсные картинки, представленные txd-файлами (в каждом таком файле может размещаться по несколько картинок). Большая их часть — в том числе скины игровых персонажей и транспортных средств — помещена в архив gta3.img, остальные лежат в неупакованном виде. Те, что не упакованы, представлены следующими файлами: fonts.txd (отображение игровых шрифтов), fronten1.txd и fronten2.txd (картинки, используемые для оформления главного меню игры), generic.txd (текстуры ландшафта), hud.txd (графика для HUD — экрана героя), Misc.txd (текстуры колес), particle.txd (текстуры для поврежденных поверхностей и различных частиц — крови, дыма, пыли). Также ряд файлов формата .txd лежит в директории \txd — все они представляют собой рисунки, которые отображаются во время загрузки игры или перед началом скриптовых сценок. Для работы со всеми перечисленными выше графическими файлами нам понадобится утилита ViceTXD.
Малярные работы
Перейдем к рассмотрению содержимого директории \data, в которой хранятся файлы с игровыми параметрами, а также файлы (они лежат в подкаталоге \maps), определяющие местоположение на карте различных объектов. Нас прежде всего интересуют файлы форматов .dat, .cfg и .ide, находящиеся непосредственно в папке \data: carcols.dat, default.ide, fistfite.dat, handling.cfg, particle.cfg, pedstats.dat и weapon.dat. Все перечисленные файлы могут быть отредактированы в "Блокноте" и имеют довольно необычную структуру. Игровые параметры обозначаются латинскими буквами (расшифровка названий атрибутов дана в начале файла) и располагаются столбцами — название характеристики и ее значения. Все, что следует за знаками ";" или "#" — комментарии, которые на игру никак не влияют.
Начнем с редактирования файла carcols.dat, который определяет раскраску доступных в игре автомобилей.
Файл начинается со слова car. Под ним вы обнаружите список названий машин; через запятую после наименования авто следует перечень его возможных расцветок в виде числовых значений: 0 — черный цвет, 1 — белый, 2 — голубой, 3 — вишневый, 4 — синий, 5 — фиолетовый, 6 — желтый, 7 — ярко-синий, 8 — серый, 9 — светло-серый. Далее цвета распределяются так: с 10 по 20 — оттенки красного, 21-30 — оранжевого, 31-40 — желтого, 41-50 — зеленого, 51-60 — синего, 61-70 — фиолетового, 71-80 — серого.
Если между двумя числами стоит не пробел, а запятая, то это означает, что данная расцветка представляет собой комбинацию двух цветов (то есть часть машины покрашена одним цветом, часть — другим). Например, пожарной машине в этом файле соответствует строка firetruk, 3,1, означающая, что это транспортное средство окрашено в два цвета: красный и белый.
Зная все это, вы можете раскрасить игровые средства передвижения, как вам захочется. Возможны самые необычные и интересные сочетания.
Стрит-файтер
Вскроем файл fistfite.dat, в котором прописаны параметры, характеризующие различные виды ударов рукопашного боя. Файл условно поделен на несколько разделов, названия которых выделены с двух сторон знаком "#". Вот имена основных из них: frontal attacks — стандартный набор приемов, directional attacks — различные типы атаки в движении, special attacks — особый вид удара — атака лежащего на земле соперника (эти разделы посвящены исключительно ведению боя в исполнении Томми), responses (приемы, которыми пользуются ваши враги). В каждом разделе имеются следующие атрибуты (в скобках дано полное название параметра):
A (Move Name) — название приема. Так выглядят наименования основных движений: Knee —удар коленом, PunchHook — короткий боковой удар, Jab — прямой удар по корпусу, Punch — удар кулаком в лицо, LongKick — высокий удар ногой, RoundHouse — удар ногой с разворота.
E (Strike Radius) — радиус поражения.
D (Combo follow on time) — максимальная продолжительность комбинации ударов (измеряется в миллисекундах), начатой с данного типа атаки (то есть время, которое отводится вам после выполнения данного приема на продолжение атаки). При этом удары в связке следуют друг за другом в том порядке, в котором они представлены в файле (сверху вниз). Увеличьте значение этого параметра у основных типов ударов, и вы сможете совершать невероятные по длине комбо, состоящие из десятка мощных ударов.
G (Hit Level) — траектория удара (по высоте): L — низкая, M — средняя, H — высокая, G — удар на уровне земли.
H (Animation Name) — анимация приема. Данный параметр нельзя изменять!
I (Damage) — ущерб (в условных единицах здоровья), наносимый здоровью жертвы данным движением.
Если вы относитесь к числу тех, кто любит виртуально помахать руками и ногами, могу порекомендовать вам повысить силу всех типов атаки и продолжительность комбинаций ударов.
В прицеле — социум
Файл pedstats.dat содержит параметры, относящиеся к различным жителям Vice City. Рассмотрим перечень основных атрибутов.
A (PedStat type name) — кодовое обозначение категории людей. Приведу список обозначений основных игровых персонажей: STAT_COP — полицейский, STAT_MEDIC — медик, STAT_FIREMAN — пожарник, STAT_GANG*, где вместо "*" стоит число от 1 до 7 — представители различных банд, STAT_OLD_GUY — дед, STAT_OLD_GIRL — старушка, STAT_BEACH_GIRL — девушка в купальнике, STAT_TOURIST — турист, STAT_PROSTITUTE — проститутка, STAT_TAXIDRIVER — водитель такси, STAT_PSYCHO — псих, STAT_SHOPPER — продавец, STAT_SKATER — девушка на роликах.
B (Flee distance) — "дистанция бегства": когда данный персонаж отбежит от вас на это расстояние, он бесследно исчезает. Если хотите сделать игру более реалистичной, стоит повысить значение характеристики. Но учтите, что это может не лучшим образом сказаться на скорости игры.
D (Fear) — трусость персонажа (значение этого параметра, как и трех последующих, должно находиться в промежутке от 0 до 100). Ставьте 100, и люди будут разбегаться во все стороны при одном вашем виде. Довольно любопытного результата можно добиться, поставив полицейским максимальное значение. Тогда блюстители порядка не только перестанут вас преследовать за ваши злодеяния, но и будут сами делать ноги, едва завидев вашу персону.
E (Temper) — вспыльчивость. Люди с высоким значением данного показателя непременно ответят вам, если вы на них нападете или собьете, проезжая на машине; а те персонажи, у кого параметр стоит на значении 100, и вовсе могут нападать на вас без всякой видимой причины.
F (Lawfullness) — законопослушность пешехода. Те, у кого здесь стоит число поменьше (по замыслу авторов, это в основном члены различных банд и группировок), могут позволить себе открыть огонь по невинной жертве. Ставьте 0 для всех граждан — и улицы Vice City станут невольными свидетелями постоянных перестрелок, убийств и прочих преступлений. Опять же можете поиздеваться над копами, сделав их незаконопослушными гражданами, безнаказанно атакующими мирных жителей.
G (Sexiness) — сексуальность. Довольно любопытный показатель, смысл которого мне так до конца понять и не удалось. Наблюдения показали, что параметр заметно влияет лишь на походку персонажа. Особенно это хорошо видно на примере девушек Vice City: поставьте им значение 100, и они будут вилять бедрами при каждом шаге.
H (Attack strength) — сила представителя данной категории населения. Указанный параметр является великолепным инструментом регулирования сложности игры. Поднимите его значение у полицейских, и вы сделаете их еще более опасными для вас, а также у бандитов, которые будут теперь не слабее разъяренных копов. Если же вы являетесь начинающим игроком и испытываете большие трудности при прохождении игры, можете снизить значения параметров: игру будет пройти значительно проще.
I (Defend weakness) — здоровье. Регулируя этот параметр, также можно менять сложность игры.
Пятна крови на рукаве
Наша следующая жертва — файл particle.cfg. Файл отвечает за внешний вид разного рода частиц (дым, кровь, огненное пламя). Здесь вы найдете следующие характеристики:
A (Particle Type Name) — название частицы. Список наименований некоторых из них: SPARK — искры, BLOOD — большое пятно крови, BLOOD_SMALL — маленькое пятно крови, BLOOD_SPURT — струя крови, FLAME — огненное пламя, GUNFLASH — вспышка при выстреле, SMOKE — дым, RAINDROP — дождевые капли, RAIN_SPLASH — дождевые капли на камере, BLOODDROP — капли крови на камере, EXPLOSION_MEDIUM — небольшой взрыв, EXPLOSION_LARGE — сильный взрыв, TREE_LEAVES — опавшие листья, CAR_DUST — пыль из-под колес автомобиля, GUNSHELL — гильза патрона.
Параметры B, C и D (имеют общее название Render Colouring) определяют цвет частицы и задаются в системе RGB (Red Green Blue) — системе цветоделения, при которой каждый цвет складывается из трех составляющих: красный (соответствует характеристике B), зеленый (параметр C) и синий (D). Значение всех трех атрибутов представляет собой число (чем оно больше, тем сильнее влияние данного цвета на окраску частицы).
E (Default Initial Radius) — начальный радиус частицы. Увеличив радиус частиц BLOOD, BLOOD_SMALL, BLOOD_SPURT и BLOODDROP (только не переборщите с величиной значения — оно должно быть не больше 0.01, а то капли крови станут размером чуть ли не с человеческий рост), вы здорово поднимете кровавость игры.
F (Expansion Rate) — максимальный радиус, до которого может увеличиться частица (большинство частиц в игре увеличивают свой радиус со временем до указанного здесь значения).
GZR (Initial Z Radius) — радиус по оси Z. Данный параметр отвечает за "выпуклость" частицы. Например, капли крови.
J (Animation Speed) — скорость проигрывания анимации частицы (в миллисекундах).
M (Rotation Speed) — скорость вращения (при значении 0 вращение отсутствует).
N (Gravitational Acceleration) — ускорение свободного падения.
P (Default Life-Span of Particle) — продолжительность "жизни" частицы (в миллисекундах). Советую увеличить значение параметра для основных частиц. В первую очередь, это касается пятен крови, а то слишком уж быстро они исчезают. Это повысит реалистичность и эффектность игры, но может плохо отразиться на скорости, если у вас недостаточно мощный компьютер.
Корректируя значения указанных выше атрибутов, вы можете создавать очень красивые эффекты. В частности, очень просто добавить зрелищности взрывам — для этого нужно повысить продолжительность, радиус и максимальный "размер" взрыва.
Ex machina
Переходим к следующему файлу — default.ide, в котором представлены идентификационные номера игровых моделей, а также некоторые другие их характеристики. В начале файла располагается огромный комментарий — нас он мало интересует. Зато сразу за ним следует список моделей игровых персонажей со следующими атрибутами (этот раздел файла имеет нестандартную структуру: столбцы, соответствующие названиям параметров и их значениям, здесь никак не обозначаются):
modelId — идентификационный номер модели. Эта характеристика и ее значения занимают первый столбец, параметр ModelName — второй, TxdName — третий, и далее по списку.
ModelName — название модели.
TxdName — скин, а точнее название соответствующего ему txd-файла (без расширения), упакованного в архив gta3.img (о нем мы уже говорили).
Default pedtype — тип персонажа. Возможны следующие варианты: PLAYER1 — игрок (Томми), STAT_COP — блюстители порядка (копы, спецназовцы, ФБР, военные), EMERGENCY — медик, FIREMAN — пожарник, PROSTITUTE — проститутка, CRIMINAL — преступник, GANG* (где вместо "*" стоит число от 1 до 7) — представители различных банд, CIVMALE — мирный гражданин мужского пола, CIVFEMALE — женского.
animGroup — тип анимации. Возможные значения: sexywoman — сексуальная девушка, woman — обычная женщина, busywoman — деловая женщина, fatwoman — толстая женщина, oldwoman — старушка, man — обычный мужчина, fatman — толстяк, oldman — старик, shopping — продавец, gang1 и gang2 — бандит.
animfile — анимация героя.
Последние два показателя — radio1 и radio2 — определяют радиостанции, которые может слушать данный персонаж, находясь за рулем. Список возможных значений этих параметров дан в начале файла под заголовком radio stations.
Редактируя описанные выше характеристики, вы можете изменять внешность героев игры. Можно даже "присваивать" одним персонажам облик и анимацию других — например, на место полицейских поставить военных (в этом случае игра существенно прибавит в сложности) или даже представителей местных банд. Для этого скопируйте значения всех параметров кроме modelId первого персонажа поверх значений атрибутов второго. Единственная модель, с которой подобный фокус не пройдет, — Томми.
После надписи cars начинается раздел файла, посвященный транспортным средствам. В нем вы встретите следующие параметры:
Id — идентификационный номер модели данного средства передвижения.
Model name — название модели.
Txd name — скин. Задается по аналогии с одноименным атрибутом из раздела файла, посвященного жителям Vice City.
Type — тип транспортного средства: car — автомобиль, boat — лодка, heli — вертолет, plane — самолет, bike — мотоцикл.
Game name — название машины в игре. В качестве значения данного параметра указывается кодовое название (оно и содержит текст с наименованием транспортного средства), которое прописано в группе сообщений MAIN файла american.gxt. Думаю, ни для кого не секрет, что большинство игровых автомобилей (особенно это касается спортивных машин) являются практически полными копиями реальных тачек. В дорожном движении игры несложно разглядеть всевозможные "Порше", "Ламборджини" и прочие "Феррари". Никто не мешает назвать их так, как они называются в реальной жизни.
Anims — анимация. Не изменяйте данный параметр!
Frq — частота появления автомобиля на дорогах (минимальное значение — 0, максимальное — 10). Меняя значения данного атрибута, вы можете изменять частоту появления на трассах тех или иных машин. Ненужные, на ваш взгляд, тачки можно вообще убрать с дорог, поставив значение 0.
Чудеса на виражах
Файл handling.cfg содержит технические характеристики автомобилей и других транспортных средств. Основные параметры:
A (vehicle identifier) — название машины.
B (fMass) — масса средства передвижения (в килограммах). Может быть от 1 до 50000. Поставьте 20000, и выбранная тачка станет тяжелее танка, отбрасывая при езде других участников движения. Если же поставить параметр 100, то авто будет отлетать на несколько метров при каждом столкновении. Увеличение массы никак не отразится на скоростных качествах авто.
C (Dimensions.x) — ширина транспортного средства (в метрах). Значение этого, а также трех следующих показателей должно находиться в промежутке от 0 до 20.
D (Dimensions.y) — длина машины.
E (Dimensions.z) — высота. Обратите внимание на то, что на внешний вид средства передвижения изменение его габаритов никак не влияет: у машины лишь появляются невидимые области, которые занимают часть игрового пространства.
F (CentreOfMass.x) — отклонение центра тяжести от центра машины по оси X (по ширине автомобиля). Измеряется этот атрибут в метрах от -10 до 10. При минимальных значениях (от -1 до 1) автомобиль будет сильнее наклоняться в ту или иную сторону (в зависимости от того, какое значение — положительное или отрицательное) при резких поворотах. При больших значениях транспортное средство начинает вести себя неестественно.
G (CentreOfMass.y) — отклонение центра тяжести от центра по оси Y (по длине машины).
H (CentOfMass.z) — то же самое по оси Z (по высоте).
I (nPercentSubmerged) — параметр показывает, насколько данный тип транспорта может погружаться в воду (в процентах от высоты). Указанное здесь число должно быть больше 10, но меньше 120. Хотите, чтобы кары плавали, как лодки? Ставьте значение 20.
J (fTractionMultiplier) — умножитель для сцепления колес с дорогой (на заданное здесь число умножается значение следующего параметра, увеличивая или понижая его). Значение должно находиться в интервале от -2 до 2.
K (fTractionLoss) — сила сцепления колес с землей (от 0 до 1).
L (fTractionBias) — данная характеристика определяет, у какой пары колес отсутствует сцепление: 0 — у передней, 1 — у задней.
M (TransmissionData.nNumberOfGears) — количество передач у авто (от 1 до 5).
N (TransmissionData.fMaxVelocity) — максимальная скорость (в километрах в час), которую может развивать транспортное средство (должна быть больше 5, но меньше 300). Хотите жарких погонь на бешеных скоростях? Тогда просто повысьте значение показателя у основных средств передвижения.
O (TransmissionData.fEngineAcceleration) — быстрота набора скорости машиной (от 0.1 до 10). При максимальном значении параметра даже самые тяжелые тачки будут набирать скорость до максимума за считанные секунды.
P (TransmissionData.nDriveType) — параметр задает ведущую пару колес у автомобиля. Возможные значения: F — передние колеса, R — задние, 4 — обе пары.
Q (TransmissionData.nEngineType) — тип двигателя: P — бензиновый, D — дизельный, E — электрический. Данный параметр влияет только на силу рева мотора.
R (fBrakeDeceleration) — быстрота торможения транспорта (от 0.1 до 10.0).
S (fBrakeBias) — какой парой колес тормозит автомобиль. 1 — передней, 0 — задней, 0,5 — обеими парами. В последнем случае тормозная система тачки работает наиболее эффективно.
U (fSteeringLock) — максимальный угол поворота колес машины (в градусах). Оптимальное значение лежит в промежутке от 10 до 40. Данный параметр позволяет регулировать поворотливость авто. Если будете увеличивать значение атрибута TransmissionData.fMaxVelocity, обязательно повысьте и данное значение, иначе авто будут плохо управляться.
V (fSuspensionForceLevel) — "прыгучесть" тачки. Чем больше значение, тем сильнее будет подпрыгивать авто на кочках. При значении 0 машина превратится во что-то вроде танка и вообще перестанет прыгать. Поставьте 10, и автомобиль будет стремиться к небесам при каждом прыжке. Советую слегка повысить у всех видов транспорта.
W (fSuspensionDampingLevel) — жесткость подвески. Данный параметр лучше не изменять.
Y (fCollisionDamageMultiplier) — "хрупкость" транспортного средства. Характеристика принимает значения от 0 до 5 (чем ниже, тем "крепче" авто). При нуле автомобиль вообще не подвергается повреждениям. Ставьте 0.1, и машина получит танковую броню. Лично мне кажется разумным слегка "упрочнить" все транспортные средства, а то как-то слишком уж легко они взрываются.
Z (nMonetaryValue) — стоимость машины.
af (front lights) — свет от передних фар тачки (0 — дальний, 1 — ближний, 2 — сильный, 3 — вертикальный).
ag (rear lights) — свет от задних фар.
Все вышеперечисленные параметры помогут вам не только подправить технические характеристики транспортных средств, но и добавить в игру новые машины.
Несущие смерть
Разберем файл weapon.dat, который содержит описания оружия. Список представленных в файле характеристик выглядит следующим образом:
A (Weapon name) — название оружия.
B (Fire type) — тип оружия. Возможные следующие варианты: MELEE (оружие ближнего боя: нож, молоток, бейсбольная бита, бензопила), PROJECTILE (огнестрельное оружие, стреляющее разрывными снарядами), INSTANT_HIT (огнестрельное оружие, использующее обычные пули), AREA_EFFECT (огнемет).
E (Reload) — время, которое требуется на перезарядку ствола (в миллисекундах). У оружия ближнего боя данный атрибут показывает, сколько времени требуется Томми, чтобы нанести повторный удар.
H (Speed) — скорострельность (выстрелы в секунду).
I (Radius) — радиус поражения (в метрах).
J (Life span) — время (в миллисекундах), через которое сдетонирует снаряд после выстрела (или, если речь идет о гранатах, после броска). Имеет смысл менять значение этой характеристики только у оружия типа PROJECTILE.
K (Spread) — максимальное расстояние в метрах, на которое летит снаряд (только для оружия типа PROJECTILE).
P (animation to play) — анимация стрельбы из данного ствола. Не изменяйте данный параметр.
Теперь настало время создавать новые оригинальные орудия убийства, заменяя ими старые аналоги. Только не забывайте следить за балансом и, изобретая новый вид вооружения, обязательно посмотрите, как он вписывается в игру. Можете, например, смоделировать очень мощный и скорострельный ствол, сражающий своими пулями всех наповал, но с низким радиусом поражения и длительной перезарядкой.
Проголосуй | проголосовало: 18, а посмотрело: 135722 |