на главную
об игре

Jagged Alliance: Back in Action - Модифицируем JA:BiA

Всем привет!

Итак, не так давно вышла довольно хорошая игра, продолжатель дела Jagged Alliance под название Jagged Alliance: Back in Action. Олдфаги восприняли игру не очень хорошо, но оно и понятно - довольно глупый AI, играть с которым интересно только под середину игры, медики, восстанавливающие даже мертвого мерка и много других упрощений. Для меня, как поклонника JA было интересно поиграть в новую версию и понять что потенциал у игры есть. Это видно и по патчам, которые разработчики выпускают день ото дня и докручивают AI (теперь он стал хотя бы чуточку слышать вас). Вот и пришла идея расковырять игру и посмотреть что там у нее внутри. Немного терпения и вот они, конфиг файлы для игры версии 1.06 (впоследствии может буду обновлять) (ссылка на народ): narod.ru/disk/40965321001/configs.zip.html

Итак, распаковываем папку configs в "каталог с игрой"bin_win32 и приступаем к осмотру. Большинство файлов представляют собой обычные текстовые фалы, которые открываются блокнотом. Давайте начнем с малого (тем более я сам до конца еще не изучил все файлы :) ) - изменим начальные характеристики мерков и начальную аммуницию.

Характеристики мерков и вообще всех персонажей в игре находятся в двух файлах: character_mercs.txt (здесь только мерки) и characters.txt (здесь солянка из мерков и остальных персонажей). Открываем файл characters.txt и смотрим:

1) Комментарии разработчиков - если вы владеете англ. языком, то впринципе можете дальше не читать :) Там расписанно почти все, о чем я буду говорить дальше.

2) Внутренний ид персонажа, имя и фракция - ид нужно только для движка игры, а фракция отвечает какой это персонаж, всего имеем 6 фракций: 0 - мерк, 1 - наша охрана для секторов, 2 - армия Дейдраны, 3 и 4 под вопросом, 5 - NPC жители.

3) Внешность - внешность я упущу в этом описании, т.к. не проверял изменения в игре. Дальше:

4) Характеристики - тут все понятно, начальные характеристики персонажа, перевод на русский:

Agility - скорость, Dexterity - ловкость, Strength - сила, Wisdom - интеллект, Perception - восприятие, Marksmanship - меткость, Mechanics - механика, Explosives - вхрывчатка, Medical - медицина, Sneak - скрытность.

5) Найм - подсказака от пользователя Antimandalajnah:

HiringDeathRate - количество убитых наемников на момент найма.
HiringReputation - минимальный процент отвоеванных территорий.

HiringFee - стоимость найма

6) Черты персонажа - новые черты добавляются так: ключевое слово Trait "имя черты" на новой строке, все черты с переводом:

ShotgunAdept - дробовики, ShotgunExpert - дробовики (эксперт) (вообще я опущу описание эксперта на оружие, добавляется он просто убиранием Adept из нужного владения оружия и добавление Expert), HandgunAdept - пистолеты, AssaultRifleAdept - автоматы, SniperRifleAdept - снайперки, MachineGunAdept - пулеметы, SubmachineGunAdept - пистолеты-пулеметы, ExplosivesAdept - взрыватка, MeleeAdept - ближний бой, Loner - одиночка, TeamPlayer - командный игрок, Macho - мачо, Amazon - амазонка, NightOps - ночные операции, Nightblind - ночная слепота, DeathWish - инстинкт смерти, Wimp - тряпка, Untouched - держится на расстоянии, ShortSighted - близорукость, Nudist - нудист, Tough - здоровяк, Runner - атлет, Overweight - толстяк, Chameleon - хамелеон, Gunslinger - быстрый стрелок, Bargainer - торгаш, Scavenger - падальщик, Scout - скаут, Pathfinder - следопыт.

В игре видно только 3 черты одновременно, остальные будут скрыты.

7) Отношения - выражает как персонаж относится к другим персонажам (обычно как мерк относится к другому мерку), строится так: ключевое слово Likes, потом цифра 0 (нравится) или 1 (не нравится) и имя персонажа в кавычках.

8) Аммуниция - определяет начальную экипировку персонажа. Строится так: ключевое слово AddItem и ид предмета. Где найти ид предмета? Все в тех же конфиг файлах. К примеру, давайте я добавлю Барри АК-47 и патроны к нему. Для этого я иду в файлы weapons.txt и ищу АК-47:

Все, ид АК у нас есть (это число 1), поэтому прописываем в characters.txt:

Теперь нам нужны патроны. Открываем файл ammunition.txt и ищем нужный нам тип патронов (5_45mm):

Ид патронов нам теперь тожно известно. Давайте добавим их в аммуницию Барри и немного понизим характеристики, например опустим меткость до 30, скорость до 50 и владение взрывчаткой до 55. Плюс изменим стоимость найма до 9000.

За сим все, ждите продолжения, спасибо за чтение!


Модифицируем оружие в JA:BiA

Итак, продолжаем потихоньку ковырять JA:BiA. Сегодня мы изменим характеристики оружия, в частности изменим АК-47. Приступим:

Начальные характеристики нашего любимого АК. Итак, открываем файл weapons.txt (где его взять, читаем выше) и ищем характеристики АК.

1) Ид предмета ( в данном случаи 1) и класс оружия. Сверху я немного ошибся, говоря что это тип оружия, так вот это - класс, всего их 5:

Launcher - пусковые установки, Rifle - ружья (автоматы, пулеметы, снайперки), HandGun - пистолеты, ПП, Knife - нож и None - ничего (да, просто ничего :) )

2) Масса в граммах (то есть делим величину на 1000 - получаем килограммы)

3) Цена (но похоже она плавающая, как изменяется, пока вопрос)

4) Урон

5) Лучшая дальность для этого оружия ( в метрах)

6) Модификатор точности для положения лежа - плюсуется со стандартным значением 1.0

7) Модификатор точности для положения ползком - плюсуется со стандартным значением 0.9

8) Модификатор точности для положения бегом - плюсуется со стандартным значением 0.3

9) Модификатор точности для положения прицельный режим стоя - плюсуется со стандартным значением 0.8

10) Режим очереди

11) Скорострельность

12) Размер магазина

13) Тип оружия - всего 6:

Shotgun - дробовик, Handgun - пистолет, AssaultRifle - автомат, SniperRifle - снайперка, MachineGun - пулемет, SubmachineGun - ПП

14) Тип боеприпасов (смотрим ammunition.txt)

15) Долговечность - каждая пуля, которая была выпущенна из оружия уменьшает долговечность на 1, когда доходит до 0 - оружие ломается

16) От юзера Hell_Archangel:

Deliverable - параметр указывает что этот предмет будет доступен в магазине

Вот впринципе основные характеристики. Измененный АК с пониженными характеристиками:

За сим все, спасибо за чтение!


Модифицируем патроны и изменяем описание в JA:BiA

Итак, продолжаем!

Сегодня изменим мы немного, так как времени хорошо поковырять игру у меня нет. Изменим патроны и описание на них, приступим:

Открываем файл ammunition.txt (где его взять, читаем выше) и ищем название патронов (я буду изменять патроны для АК - 5_45mm):

1) Ид - уже хорошо известное нам ид предмета

2) Цена - цена патронов ( похоже плавающая, как изменяется - вопрос)

3) Кол-во: количество патронов в 1 магазине

4) Вес (в граммах на одну пулю?)

5) Фактор брони - коэффициент, который показывает сколько урона от пули поглотит броня, чем больше, тем больше урона поглотит броня

Так, давайте для примера изменим количество патронов в магазине на 60. Все бы хорошо, но в описании к патронам в игре так и остается: "В этом магазине содержится 30 патронов калибра 5,45 мм, способных пробивать легкие бронежилеты. Благодаря металлической оболочке пуля может пробивать не только стены, но и несколько тел навылет. " То есть игра не понимает что там уже не 30 патронов, а 60 и мы должны помочь ей! :) Для этого нам понадобятся распакованные и раскриптованные файлы локализации interface (ссылка на народ, для патча 1.06): narod.ru/disk/41101432001/interface.zip.html

Распаковываем папку interface в "каталог с игрой"bin_win32. В папке у нас будут 6 txt файлов (помимо остальных фалов), в которых хранится вся локализованная часть. Открываем equipment.ctx.txt и ищем описание патронов:

Изменяем описание как нашей душе угодно :) После изменений запускаем pack.bat, немного ждем, и запускаем игру!

P.S. Если вы захотите впоследствии изменить локализацию еще раз, вам нужно будет снова распаковать файлы. Осуществляется это запуском unpack.bat (и не забудте после изменений снова запаковать их! - pack.bat)

За сим все, спасибо за чтение!


Модифицируем броню и предметы в JA:BiA

Продолжаем модификации? Сегодня изменим аптечку, легкий бронежилет и...джинсы! :) Приступим, оригинальные предметы:

Открываем файл clothings.txt в конфиг папке. Здесь находится вся одежда (включая бронь, маки, джинсы и т.д.) Для удобства поиска ид предметов разработчики разделил все предметы на классы:

1000 ид и выше - головной убор

2000 ид и выше - на торс

3000 ид и выше - на ноги

4000 ид и выше -бронь?

5000 ид и выше -обувь

6000 ид и выше - всякие разные плюшки :)

Итак, ищем джинсы:

1) Armor - защита

2) Weight - вес в граммах

3) Price - цена

Давайте добавим камуфляж:

CamoUrban - городской камуфляж (в процентах)

CamoWoods - лесной камуфляж (в процентах)

CamoDesert - пустынный камуфляж (в процентах)

CamoNight - ночной камуфляж (в процентах)

Также есть такая штука как Property, отвечает за финделюшки в броне:

Property 0 - добавляет ночное видение

Property 1 - добавляет защиту от газа

Добавим большую защиту для легкого бронежилета:

Изменения в игре:

А теперь приступим к аптечке. Открываем items.txt в папке конфигов и ищем аптечку:

1) Item (ид, класс предмета, визуал ид)

Классов предмета 5 штук: Medikit - аптечка, Grenade - граната, Mine - мина, Defuse - набор обезвреживания, Explosive - взрывчатка

2) Price - цена

3) Charges - кол-во использований в одном предмете

4) SubType - подтип предмета:

Для аптечек - 1 (восстанавливает только хп), 2 (восстанавливает хп + убирает кровотечение), 3 (восстанавливает хп + убирает раны (похоже раны - это то состояние когда мерка поднимают после смерти))

Для гранат (тип гранаты) - 1 (дымовая), 2 (стан граната), 3 ( осколочная ), 4 (газовая)

Для С4 - 1 (таймер?), 2 ( часть удаленного управления?), 3 (с4 с таймером), 4 (с4 с дистанционным управлением)

Для открывашек ( класс Openers ) - 1 (ключ), 2 ( лом ), 3  (отмычки)

5) Requirement - сколько навыка надо для использования предмета

6) Efficiency - эффективность, для аптечек показывает сколько здоровья будет восстановленно, для мин и гранат - сколько урона будет нанесено

7) Weight - вес (в граммах?)

Давайте понизим хар-ки аптечки, уменьшим кол-во восстанавливаемых хп до 20, повысим цену в 3 раза, сделаем кол-во использование равное одному, повысим требуемый навык до 60 и поставим восстановление только хп:

Изменения в игре:

P.S. Я так и не нашел, где убрать эту дурную функцию восстановление после смерти. Если кто нашел, отпишитесь, пожалуйста, в комментах.

За сим все, спасибо за чтение!


Процесс распаковки

Для распаковки файлов игры нам понадобится вот этот архив (ссылка на народ): narod.ru/disk/41278212001/quickbms.zip.html

Распаковываем в любое место на диске, туда же кидаем файлы из игры:

1) configs_win32.pak.crypt - конфиг файлы

2) interface_win32.pak.crypt - локализация игры

3) data_win32.pak, data1_win32.pak, data2_win32.pak, data3_win32.pak - текстурки и прочее фунделюшки (сильно не рассматривал)

Дальше, запускаем quickbms.exe, появится окно выбора файла, выбираем jagged_alliance_bia.bms (находится в той же папке где и quickbms.exe), жмем ОК, далее появится еще одно окно, выбираем нужный файл для распаковки (указаны выше), жмакаем ОК и наконец появляется третье окно, просящее указать папку для распакованных файлов. Выбираем папку, жмакаем ОК, ждем, в черном окне нажинаем Y и Enter, распакованные файлы перенести в "каталог с игрой"bin_win32.

Для конверта ctx файлов в txt файлы, получаемых после распаковки interface_win32.pak.crypt нам нужен будет ctx_magick который, ссылку на скачку которого можно найти выше, в разделе изменения патронов и изменения описания.

За сим все, спасибо за чтение!


Другая полезная информация

Новое обновление статьи, основанное на комментариях пользователей и собственно найденой информации, приступим:

1) в equipment.ctx (и других .ctx файлах) для примера ИД 4008 - это отображаемое название предмета, ИД 11009 - это отображаемое описание предмета, для всех предметов ИД описания получается приплюсовкой 7001, в примере:
4008 [ид предмета] + 7001 = 11009 [ид описания]

2) Как определяется картинка оружия (на примере АК):

В файле weapons.txt

Picture 1 3 4 3

первая цифра 1 - определяет в какой текстурке ui_equipment_pictures находится изображение (в данный момент ui_equipment_pictures_1.dds из папки textures/interface)
последующие цифры определяют где находится картинка, смысл такой, что вся текстурка разбита на квадраты 10х10 пример:

так вот первая цифра 3 определяет сколько отступов по колоннам надо сделать что дойти до искомой картинки
цифра 4 определяет сколько отступов по строчкам надо сделать что дойти до искомой картинки
последняя цифра 3 определяет сколько квадратов занимает картинка

3) У каждого врага есть свои навыки, с повышением которых можно достачно серьезно усилить их, к примеру есть такой навык как Perception (восприятие), который отвечает за слышимость и видимость врагов, в файле characters.txt его можно повысить до 99 и выше (максимум который я ставил было 999, как поведет себя игра выше этого значения - не знаю)

4) Формат файлов в игре:

pak - архивы игры
ctx - скомпилированный текст, хранит почти всю текстовую информацию игры
deg - хранит информацию о "decal" (деколи?)
cui - скомпилированный файл GUI хранит информацию об интерфейсе игры и его слоях
crf - скомпилированный ресурс файл, хранит 3D модели
caf - скомпилированные анимационные файлы

5) В файле percrption.txt расписанно числовое значение шума производимое наемниками при ходьбе, открывании дверей, взрывах и т.п.

Если повысить значения в 2 раза, то соответственно АИ будет слышить мерков в 2 раза лучше, если понизить - то наоборот.

6) Файл main_locations.txt отвечает за стратегическую карту игры, сколько дохода идет с локаций, сколько защитников находится на каждой локации и т.п. Примерная расшифровка:

Location ("depot_11", 29, 11) // похоже это склад оружия возле Грумма (не уверен)
{
//Area 491 1148 582 1202
Area 490 1121 603 1228 // координаты расположения на карте и еще что то (предположение)
Function Industry //похоже на функцию, относящуюся к скриптам
Income 100 // суточный доход с локации.
MilSlots 10 //максимальное количество милиции.
DefSlots 30 //максимальное количество защитников по умолчанию.
Defenders 0 0 5 20 5 // самое вкусное. Распределение защитников по уровням. 5 - 3го уровня, 20 - 4го уровня, 5 - 5го уровня.
//30 защитников всего. Может быть и меньше 30, и иметь ряд 5 5 5 5 5 - это значит, минимум 25 защитников по дефолту,
//+ игра добавит пятерых рендомных защитников, в зависимости от рейтинга игрока.


Description 646 //ID текстового описания
Picture 0 2 5 //ID картинки на карте.
}


Solianka Hard Mod

Хочу сообщить что тестовый мод превратился в полноценную солянку из 3 разных модов. Изменений достаточно много, вкратце о них:

  1. Тотальный ребаланс оружия
  2. Добавленно новое оружия и боеприпасы
  3. Изменен АИ ( лучше слышит, лучше одет, лучше стреляет)
  4. Изменено описание мерков, вооружения, добавленны оригинальные портреты мерков из JA2
  5. Пониженны аптечки
  6. Усиленна еда для восстановления энергии
  7. Удаленна ненужная одежда (маечки, футболочки, кепочки и т.д.)

И другие изменения, подробнее в реадми файле ( в файле прочти меня!.txt ) - ОБЯЗАТЕЛЬНО прочитайте его, чтобы избежать недоразумений и вопросов, касательно мода.

И в конце хочу выразить благодарность:

  1. R@S, Wilson and Confus за создание мода Blue Dawn Mod 0.1, который используется в солянке
  2. art of fighters за создание модов "Мод на изменение биографии наемников" и мод "Лица мерков из JA2", который используется в солянке
  3. Ну себя благодарить не буду :)

От себя: игра стала достаточно интересной и трудной, если в оригинале в начале игры можно было просто вырезать аэропорт и Драссен, то сейчас это сделать не так то просто :)

Удачи в игре, наслаждайтесь! :)

P.S. Обновил мод, добавил первый хотфикс - устраняет вылет при начале новой игры, после зачистки аэропорта

Добавил руссификатор для описания оружия от юзера haryok с форума АГ.ру

Спасибо ему! Я все собирался сделать, а русик уже сделали :)

P.S.S. Спрашивали много раз как продолжить сохраненную игру с модом. Основная проблема в том, что в сохранненой  игре на локации или в инвентаре у мерков находятся удаленные из игры предметы. Игра пытается прочитать их, естественно не видит и вылетает в панике. Поэтому попробуйте сделать следующее:

1) В локации найдите любой контейнер (значок зеленого чемондачика) и переложите все удаленные предметы из вашего инвентаря (даже те которые на вас одеты) в контейнер. Оставленная одежда в моде (которые должны у вас остаться):

Черная кепка
 Кепки из аддона
 Все шлемы
 Все беретки
 Черная майка и рубашка
 Вся униформа
 Черная куртка
 Все бронижелеты
 Кевларовые штаны и штаны Спектра всех рассветок
 Воинская обувь
 Все приспособления (очки ночного виделия, газовая маска и т.п.)

DLC рубашки и шлемы (Spec Ops)

2) После этого выходим на стратегическую карту и сохраняемся

3) Ставим мод, загружаемся, играем (замечу, что вся одежда которая была в контейнере исчезнет)

Ссылка на скачивание ( ссылка на народ ): narod.ru/disk/42444866001.8cabd7b6a99a0f0de984b4a284da193f/SoliankaHardMod.zip.html

Комментарии:  252
Ваш комментарий

Хей, народ! Может есть у кого какие-нибудь идеи для ребаланса оружия? Отписывайтесь, попробуем реализовать? Есть идея увелчить повреждения оружия в 2 раза и уменьшить точность для мерков и позиций стрельбы, тогда повышается вероятность одним хорошим выстрелом АИ по нам снести пол хп

Хорошо поработал... Твердая 5

http://narod.ru/disk/60155238001.078bec2af62f636a2c94cf79499d43a4/pak_magick.rar.html Помещаешь прогу в корневой каталог игры. Файл configs_win32.pak перетаскиваешь и как бы накладываешь сверху на нее. Появляется папка bin_win32, а в не папка configs. В ней все текстовые документы. Меняешь нужные параметры и папку так оставляешь. Надеюсь понятно написал).

А почему у меня может не быть configs_win32.pak?

А ты не находеил количество патронов в "пачке" в инвинтаре у персов ??? я так и не смог найти....

Долговечность шмоток кто-нибудь смог изменить?

Встречный вопрос.Господа кто знает где прописывается жизнь прдметов (брони и т.д.)? Диапозон около 10

Спасибо огромное автору, никогда не понимал откуда у людей столько терпения и желания?)) Ну да бог с ним пусть так и остаётся :) Вот такой вопрос у меня, я "счастливый" владелец лицухи от Steam. Соответственно игра последней версии, а я вижу уважаемый автор даёт выуженную папочку interface версии ниже чем у меня, поэтому все мои эксперименты с дескрипшоном игровых девайсов носят фатальный характер для игрули в целом оно и понятно разница версии и.т.д. что то добавлено что то убрано, у процесса паника, первое решение - в окно.. если бы в реальное, а он в windows.. Ну не суть, в общем мне нужно распаковать interface_win32.pak.crypt, и увидеть всех поганцев CTXов новой (моей версии), а так же их благородных и продажных на редактирование копий txt! 10 раз прочитал тему, но не как не внял как правильно вытаскивать эти .ctx только понял как унпак и пак делать уже злобно мною отредаченных засранцев через великолепные БАТники. Научите меня люди, а лучше автор! Да на пальцах если не лень, буду преблагодарен вам ;)

На кой хрен,такую дич писать?Меняй не меняй в игре все остается как было стандартным.Версия 1.13b в которой и так были доступны все эти текстовые файлы.

Опишите, пожалуйста, сам процесс распаковки.

ЗАГРУЗИТЬ ВСЕ КОММЕНТАРИИ