Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
Обучалка "Как заставить Крейсера летать вместе с другими кораблями во фриле". Легко! Начинаем-с.
Шаг 1 - находим крейсер.
Для этого открываем файл DATA\MISSIONS\npcships.ini. Крейсер найти не трудно. Например:
Код: |
[NPCShipArch]
nickname = li_n_cruiser_d22 ;>>Никнейм, на который будем ссылаться
loadout = li_n_li_cruiser ;>>Обвес корабля, пушки и т.п.
level = d22 ;>>Уровень. Для нас он для красоты
ship_archetype = li_cruiser ;>>Корабль из shiparch.ini
pilot = cruiser_default ;>>Пилот из pilots_population.ini
state_graph = CRUISER ;>>Тип иконки в списке целей
npc_class = lawful, CRUISER, d22 ;>>Классовые характеристки. Нам они тоже не интересны |
Шаг 2 - подключаем НПЦ к фракции.
Игра сможет заставить летать того или ного НПЦ за какую-либо фракцию, только если он есть у нее в специальном списке. Открываем faction_prop.ini, берем самую первую фракцию - Военный флот Либерти - и мы должны удостовериться, что данный NPC есть в списке npc_ship у этой фракции. К нашему счастью, он есть!
Код: |
[FactionProps]
affiliation = li_n_grp
legality = lawful
nickname_plurality = singular
msg_id_prefix = gcs_refer_faction_li_n
jump_preference = jumpgate
npc_ship = li_n_li_elite_d1-3
npc_ship = li_n_li_elite_d4
npc_ship = li_n_li_elite_d5
npc_ship = li_n_li_elite_d6
npc_ship = li_n_li_elite_d7
npc_ship = li_n_li_elite_d8
npc_ship = li_n_li_elite_d9
npc_ship = li_n_li_elite_d10
npc_ship = li_n_li_elite_d11-19
npc_ship = li_n_cruiser_d22
npc_ship = li_n_dreadnought_d25
... |
Шаг 3 - создаем Encounter с нужным кораблем
Вот тут начинается самое скучное и замудренное. Все НПЦ создаются из Encounter'ов - специальных правил появления одной группы НПЦ во фриле. И тут я хочу предупредить - моя обучалка будет построена не по КЛАССовому принципу, а по прнципу КОНКРЕТНОГО КОРАБЛЯ, конкретного НПЦ. Он заложен во фриле и в этом нет ничего страшного. Делать НПЦ по этому принципу одно удовольствие, хоть и придется переделывать под каждый кораблик.
Отличия между оригинальными поклассовыми Encounter'ами и другой версией можно посмотреть в файле DATA\MISSIONS\ENCOUNTERS\new_encounter_example.ini.
Создадим Encounter с нужным крейсером. Для этого назовем его mod_li_cruiser.ini и разместим в папке DATA\MISSIONS\ENCOUNTERS. Содержимое его должно быть таким:
Код: |
[EncounterFormation]
ship_by_npc_arch = 1, 1, li_n_cruiser_d22 ;>>Вот тут наш крейсер. Циферки 1 и 1 я сам точно уж не понял, но если хотите 2 крейсера, то пишите 2, 2
pilot_job = defend_leader_job ;>>"Работа" корабля. Лучше использовать только существующие
make_class = wanderer
formation_by_class = fighters
behavior = wander
arrival = all, -tradelane, -object_jump_gate ;>>С чем может дочиться?
allow_simultaneous_creation = yes
zone_creation_distance = 0
times_to_create = infinite
[Creation]
permutation = 0, 3 |
С таким Encounter'ом у нас крейсер будет создан на 100% без всяких связей с классами и т.п.
Шаг 4 - объявляем Encounter в системе
Берем, как всегда, систему Li01 - Нью-Йорк. Находим место, где лежат объявления [EncounterParameters] и создаем свой:
Код: |
[EncounterParameters]
nickname = area_li_cruiser
filename = missions\encounters\mod_li_cruiser.ini |
Шаг 5 - добавляем НПЦ в зону
Для примера - зона у Линкора Миссури. Имя базы у линкора - Li01_03, значит ищем зону с этим кораблем, а чуть ниже будет зона Zone_Li01_015_Station_Li01_07, в которую мы и поставим наших НПЦ.
После строчки density_restriction = 4, unlawfuls добавляем данный код:
Код: |
encounter = area_li_cruiser, 1, 0.070000
faction = li_n_grp, 1.0 |
В рамках теста я бы рекомендовал поставить после этой строки комментарий [; ,который заблокирует генерацию остальных НПЦ в этой зоне.
В общем-то все и готово. Крейсер должен появляться в этой зоне.
ВНИМАНИЕ! Эта обучалка не опробована на практике и я мог совершить ошибки в описании!
Пишу по памяти или на примерах своего мода, но там все НПЦ свои
|