Elite Games - Свобода среди звезд!
.
  » НПЦ Крейсера | страница 1
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 1 из 1
 
Поиск в этой теме:
Канал Freelancer » МОДовый отсек: «НПЦ Крейсера»
Jeider
 535 EGP


Рейтинг канала: 5(198)
Репутация: 41
Сообщения: 2603
Откуда: Пенза
Зарегистрирован: 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
В рамках теста я бы рекомендовал поставить после этой строки комментарий [; ,который заблокирует генерацию остальных НПЦ в этой зоне.

В общем-то все и готово. Крейсер должен появляться в этой зоне.

ВНИМАНИЕ! Эта обучалка не опробована на практике и я мог совершить ошибки в описании!
Пишу по памяти или на примерах своего мода, но там все НПЦ свои
    Добавлено: 12:21 03-11-2013   
Канал Freelancer -> МОДовый отсек: «НПЦ Крейсера»
 
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Меняю стакан травы на обратный билет с Марса.

  » НПЦ Крейсера | страница 1
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18