Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
rukovodstvo_upd3.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
4.55 Mб
Скачать

Примечание:

Информация об ошибках, обнаруженных игрой, пишется в файл warnings.log, ближе к концу файла. В начале идет техническая информация, которая нас не интересует, а ближе к концу лога пишется уже причина падения игры, или просто ошибки.

Если мод по каким-либо причинам не хочет запускаться, а игру запустить надо, можно вручную

изменить текущую модификацию в файле Local.ini в корневой папке игры.

Строка currentmoddc= указывает папку текущего мода.

Для нашего мода currentmoddc=example_mod (регистр букв не имеет значения).

4

Собственно распаковываются файлы в папку мода. В нашем случае это Example_Mod\Data и

далее по иерархии.

Игра использует два типа файлов: LUA и RGD. Поэтому все файлы продублированы в двух

форматах в случае установки официальных модтулзов (это будет наша рабочая версия :)). У

некоторых lua-файлов не будет.

LUA-файлы находятся в текстовом формате, а RGD-файлы — в компилированном виде. Это

означает, что lua можно редактировать текстовым редактором, а rgd — нет. Но работать игра

может только с rgd, что позволяет нам о lua забыть, ведь редактор как раз на rgd и рассчитан.

Однако ссылки в редакторе всегда идут на lua-файлы, даже если таковых не существует. В

редакторе ссылки должны быть именно на lua, хотя игра будет брать данные из rgd.

То есть работать мы будем с rgd-файлами. Они имеют точно такую же структуру как и архивы. При изменении исходного файла или создании нового в существующей структуре редактор

помечет их красным цветом.

В данном примере исходные данные скаута были отредактированы. Вдобавок, в моде существует

некий scout_marine_new.rgd, являющийся новым юнитом.

Заметьте, lua-файл скаута остался синим — так и должно быть, т. к. работаем мы с rgd.

Удалить добавленные или измененные файлы из редактора нельзя. Придется закрыть редактор, удалить их из соответствующей папки, а потом снова запустить редактор.

Эту операцию нельзя делать при открытом редакторе, ибо это вызовет ошибку (редактор знает, что файл был, а найти его не может).

Ниже приведено окно непосредственного редактирования. Как видно, файл иерархичен. Если есть ветка данных, то она имеет родительский объект, указанный в Reference. Изменения должны фиксироваться кнопкой Save внизу редактора. При переходе на более высокий уровень иерархии несохраненные данные теряются. Так что внимательней! :)

Примечание:

Можно существенно облегчить работу в редакторе, если грамотно использовать встроенные

функции копирования и вставки.

Можно копировать целые ветви между разными файлами, ибо редактор копирует не только

содержимое, но и структуру копируемой ветви.

Если есть несколько однотипных ветвей, можно копировать и вставлять информацию между ними

целиком. Если имеется ветвь weapon_01 и weapon_02, и мы хотим полностью скопировать

информацию из первой во вторую, то щелкаем правой кнопой по первой, выбираем Copy, а на

второй выбираем Paste. И вуаля — информация скопирована, при этом названия ветвей

сохранились!

Также имеется возможность удаления (Delete) и вставки на уровень ниже (Paste Into).

Не бойся экспериментировать!

5

6

Пожалуй, на этом с основными элементами интерфейса редактора закончим. Можно приступать к работе. А работы будет много :)

По большей части работать придется с юнитами и сквадами, а здесь есть несколько нюансов. Во-первых, что же такое сквад и чем он отличается от юнита?

Юнитом считается любая единица прописанная в ebps \ races \ название_расы \ troops. Это такая хреновина, имеющая собственные параметры, модельку и анимацию. Собственно из юнитов и состоят сквады (отряды). Сквадом называется файл, находящийся в sbps \ races \ название_расы. Сквад может состоять из одного юнита (например, командиры) или нескольких (любые отряды пехоты). Сквад имеет базовый юнит, на основе которого строится сквад. Более того, есть понятие сквад-лидера. Сквад-лидер — это тоже юнит, но совсем необязательно имеющий собственный сквад-файл (не является базовым юнитом для какого-либо сквада). Яркий пример — сержанты Космодесанта. Они являются лидерами отряда, но при этом отдельно от отряда не существуют. Сквад-лидеров может быть несколько видов — отряд Воинов Огня (FW) имеет на выбор ветеранов Шас'Уи либо защитных дронов. Причем можно как комбинировать разных сквад-лидеров, так и весь лимит заполнить одним типом лидера.

При этом, если жив хотя бы один базовый юнит или сквад-лидер, он может реинфорсить (пополнять) отряд и базовым юнитом, и лидером. Поэтому единица и называется сквадом. Здоровье, броня, вооружение, зрение — параметры юнита.

Лимит на количество, невидимость, возможность захватывать стратегические позиции, мораль — параметры сквада.

Я постараюсь построить изложение от простого к сложному так, чтобы новичок не пугался

страшных объемов информации, которую нужно переварить.

Для начала разберемся с простым редактированием параметров. Возьмем для примера скаутов

Космодесанта. Открываем редактор и добираемся до ветки ebps \ races \ space_marines \ troops, в

которой нас интересует файл scout_marine.rgd. Даблкликаем по файлу и смотрим на обилие

параметров.

Редактируем стоимость юнита и время постройки

Ветка cost_ext \ time_cost \ time_seconds позволяет изменить время постройки.

Важно помнить, что время постройки будет складываться. В отряде скаутов 2 юнита, каждый

строиться 6 секунд, следовательно, весь отряд построится за 12 секунд.

Ветка cost_ext \ time_cost \ cost \ power (requisition, population) изменяет стоимость в ресурсах.

Не забываем сохранить файл на каждом этапе.

Если сейчас запустить игру и выбрать свой мод в списке, можно опробовать нововведения.

Если мы все изменили на нули, теперь скауты строятся мгновенно и бесплатно. Но посмотрим на

кнопку реинфрса — почему-то за новых бойцов предлагают заплатить ресурсы, да еще и придется

ждать. Нестыковочка получается, да?

А все потому, что реинфорс — привилегия сквада, а не юнита.

Смело ползем в

sbps \ races \ space_marines \ space_marine_squad_scout.rgd \ squad_reinforce_ext, где

находим аналогичную ветку cost. Редактируем в соответствии с нашими запросами. Зануляем там

все, что уж мелочиться!

Теперь в игре все работает прекрасно — отряд бесплатный, реинфорс тоже.

7

Редактируем количество юнитов в скваде

В корневой ветке сквада ищем ветку squad_loadout_ext, где параметры unit_min и unit_max

изменяют начальный (сколько произведется) и конечный (максимальное число в скваде)

количественный состав подразделения.

Качественный же состав, то есть базовый юнит сквада, определяется параметром trooper_base \

type. Не спеши запихивать туда терминаторов, камрад — успеется :)

Следует обратить внимание, что ссылка стоит на юнитов из ebps.

Редактируем лимит на количество пехоты/техники, занимаемый сквадом

В корневой ветке сквада ищем ветку squad_cap_ext, в которой параметры squad_cap_usage и

support_cap_usage определяют лимит пехоты и техники соответственно.

Теперь все знают, как заспамить вражину бесконечными скаутами. На этом, скорее всего,

большинство злобных читеров, жаждущих абсолютной власти, отсеялось :)

Многие уже задумались, а не заспамит ли МЕНЯ железный болван? И я отвечу: заспамит так, что будешь меня обзывать гадкими словами.

Для этой ситуации нам пригодится свой юнит, о котором скрипты искусственного интеллекта ничего не знают, а, значит, и не смогут построить.

Создаем свой юнит на базе существующего

Ищем файл юнита в ebps и правой кнопкой крысы вызываем контекстное меню, третий пункт

которого Make a copy of this file решает все вопросы. Даем название типа scout_marine_my.rgd.

Я вообще рекомендую приписывать к названию некую удобоваримую комбинацию букв (навроде

ника), чтобы не путаться потом. Да и ссылки на этот файл удобней перекраивать на свой лад

будет.

Теперь в sbps ищем файл сквада скаутов и дублируем с новым именем. Здесь же меняем базовый

юнит с обычных скаутов на наших, читерских :)

Сейчас можно закрыть редактор и в папке мода по адресу:

Data\attrib\ebps\races\space_marines\troops\scout_marine.rgd находится старый файл скаута — его

нужно удалить, больше он не нужен. А рядом лежит наш родной.

Аналогичная операция производится в Data\attrib\sbps\races\space_marines.

Однако теперь мы не можем наш отряд построить, ибо негде.

Исправляем сие упущение в редакторе, найти нужно

ebps\races\space_marines\structures\space_marine_hq.rgd

Здесь в ветке spawner_ext\squad_table прописать наш сквад, главное опечатку не сделать.

Эстетическое отступление

В ebps у юнита есть параметр ui_ext\ui_index_hint. Он отвечает за позиционирование иконки

юнита. Если место занято, игра ищет следующее свободное место. Иногда в такиииие места, что

потом найти уже не может :)

Так что лучше вручную проконторолировать. Нумерация идет слева сверху, тремя строками по

четыре иконки (первая строка — 1, 2, 3, 4; вторая — 5, 6, 7, 8; третья — 9, 10, 11, 12).

Теперь гнусный комп не сможет их строить, а ты — легко.

ВНИМАНИЕ!

С этого момента я буду использовать следующую терминологию для удобства и скорости. Если я говорю «у юнита», то заползаем в ebps и там ищем файл юнита. Если я говорю «у сквада», то работаем в sbps. Иначе повествование затягивается без пользы.

8

Редактируем параметры перемещения юнита

За скорость отвечает ветка moving_ext у юнита, где полезными для нас будут три параметра:

rotation_rate — отвечает за скорость вращения юнита. У большинства пехотных юнитов

вращение мгновенное, толстый кнарлок у Тау топчется полчаса.

speed_max — скорость передвижения, тут все ясно.

turning_behavior_template — тип шасси, если так можно выразиться. Влияет на тип

перемешения.

Бывает infantry (пехота), squiggoth (монстры), hovercraft (воздушная подушка), default

(стандартный, у огромного количества юнитов), walker (шагающие боевые машины), tank (танки

и бэтры).

Влияет на скорость преодоления дифтеррейна (труднопроходимых участков типа воронок),

возможность использования укрытий.

Редактируем параметры здоровья и брони юнита

За здоровье отвечает важная ветка health_ext у юнита, где полезны следующие параметры:

can_be_repaired — может ли юнит быть отремонтирован. Как правило, технику ремонтируют, а

пехоту — нет.

hitpoints — тут понятно, чем больше, тем жирнее юнит.

regeneration_rate — скорость регенерации. Пехота обычно регенерирует, техника — нет.

За броню отвечает ветка type_ext.

Параметры:

type_armour — первичный тип брони юнита.

type_armour_2 — тип брони, используемый при апгрейде всей брони (у Тау, например).

Всего есть следующие типы брони:

tp_infantry_med, tp_infantry_high, tp_infantry_heavy_med, tp_infantry_heavy_high — пехота;

tp_vehicle_low, tp_vehicle_med, tp_vehicle_high — техника;

tp_monster_med, tp_monster_high — демоны;

tp_commander — командирская;

tp_building_low, tp_building_med, tp_building_high — здания.

Броня — исключительно важный параметр. Боевая система устроена так, что у каждого типа

оружия своя пробивная способность против каждого типа брони.

Можно ставить тысячи хитпоинтов для tp_infantry_med, но они все равно будут дохнуть как

мухи.

Именно так реализована различная эффективность оружия против разных юнитов.

Редактируем зрение юнита

За зрение отвечает ветка sight_ext.

Параметры:

sight_radius — дальность обзора юнита.

keen_sight_radius — дальность обнаружения невидимых юнитов.

Редактируем массу юнита

Влияет на подверженность разного рода раскидывающим спецатакам и взрывам.

За массу отвечает ветка special_attack_physics_ext.

Параметры:

mass — масса юнита. Чем тяжелее, тем лучше. Никак не влияет на скорость.

get_up_time — время, за которое юнит поднимается после падения.

9

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]