Что такое нпс в сталкере

Обновлено: 05.07.2024

вот расскажу как создать новых неписей в игру
Документ создал для: Военый СТАЛККЕР
Для того, чтобы создать нового НПС нам понадобятся координаты нужного места, где и будет заспаунен наш NPC. Возьмём Кордон, лагерь новичков. Можете снять координаты сами, а можете взять мною уже снятые: (-218.20,-20.2,-145.63),35362,47). Далее. Создаём файл в папке gamedata/scripts файл, скажем esc_unik_npc.script. В нём создаём функцию. Код: function esc_unik_npc () alife():create("esc_unik_npc",vector():set(-218.20,-20.2,-145.63),35362,47) end

Теперь мы в файле npc_profile.xml (в папке gameplay) добавляем нашего НПС. Код: Trader escape_trader

Копируем или создаём по образцу только нижний блок Второго торговца нам ненадо. Теперь создадим секцию нашего персонажа. В файле spawn_section.ltx (gamedata/config/creatures) в блоке:

Создаём секцию. Код: [esc_unik_npc]:stalker $spawn = "respawn\esc_unik_npc" character_profile = esc_unik_npc spec_rank = regular community = dolg

В строке community можете вместо долга вписать другую группировку. Однако если мы хотим, чтоба наш персонаж не гулял по Зоне, пока не наткнётся на первую аномалию, то пропишем чтобы он стоял на месте. Для этого под community вставляем: custom_data = scripts\esc_unik_npc.ltx Далее создаём в gamedata/config папку scripts в в папке создаём файл esc_unik_npc.ltx В наш созданный файл вставляем: Код: [logic] active = remark1 danger = danger_ignore

[danger_ignore] ignore_distance = 5

[remark1] no_move = true

Всё наш НПС будет стоять на месте своего спауна. Едем дальше. Нам надо активировать нашего персоонажа. для этого мы должны вставить строку: esc_unik_npc.esc_unik_npc Либо в диалог, либо в какой-нибудь квест. Давайте вставим строку в файл info_portions.xml (gamedata/gameplay) под Код:

Выглядеть это будет так:

Однако мы не прописали самого НПС, как личность В файле character_desc_escape.xml (gamedata/gameplay) добавляем: Код: GENERATE_NAME_bandit ui_npc_u_stalker_bandit_3 esc_wolf_bio

esc_otbrosi_1 dolg stalker_terrain

actors\bandit\stalker_bandit_3 [spawn] \n

1. include "gameplay\character_items.xml" \n
2. include "gameplay\character_food.xml"

1. include "gameplay\character_criticals_3.xml"

1. include "gameplay\character_dialogs.xml"

Правда тут получится у нас долговец в одежде бандита и говорящего голосом монолитовца xD Всё сохроняем. НПС готов.

Виды NPC

Поведение в бою


Перестрелка между войсками «Долга» и «Свободы»

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

Подкрадывание и стрельба из укрытий


Если NPC увидел врага, который его не замечает, то он пытается подкрасться к нему, чтоб выстрелить с как можно более ближнего расстояния. Если поблизости есть камни, деревья, ящики и прочие укрытия, то NPC могут спрятаться за ними, готовясь к атаке. Затем они высовываются из-за укрытий и стреляют. В некоторых случаях NPC могут стрелять и не выглядывая из укрытий, но тогда они вряд ли кого-то убьют. NPC-снайперы могут стрелять из положения лёжа (как, например, старший сержант Морозов), также обычные NPC изредка могут ложиться (например, в ЧН, во время квестов, взятых у безымянных сталкеров).

Ранение


Добивание раненого NPC


Бандит лечит своего товарища

Обыск трупов

В ЗП NPC могут обыскивать трупы. Увидев труп, NPC подходит к нему, говорит «коронную» фразу, например бандит может сказать: «А жмур он добрый, жмур ща со мной поделится, да?» и принимается за обыск. NPC садится на корточки, обыскивает труп секунд десять, и все вещи трупа переходят в его инвентарь. Если на трупе хабар небольшой, NPC также скажет фразу, например: «И с таким-то барахлом в Зону полез?». Есть небольшой баг: во время обыска NPC часто шарят мимо трупов. На процесс взятия вещей это не влияет, так как вещи добавляются благодаря скриптам, а анимация играет в этом процессе маловажную роль.

Баги и недочёты

Баг с костром

Во всех играх серии встречается неприятный баг: при спавне NPC может умереть, подобное случается даже с целыми отрядами. NPC умирают от костров и застревания в игровых объектах.

Репутация (reputation)

Каждый персонаж в игре имеет характеристику, называемую репутацией. Это его облик исходя их плохих (убил дружественного сталкера) и хороших (помог раненному) поступков. Репутация представляет собой целое число. Для наглядного отображения характеристики, репутация делится на категории.

Отношение репутаций (reputation_goodwill)

Характеристика, влияющая на отношения, но в финальной версии игры её возможности урезаны.

В секции [reputation_relations] построена таблица:

(приведена для сборки 2232, так как в финальной версии она менее наглядна).

Смысл этой характеристики в том, что репутация может как помочь дружбе (переход отношений выше порога дружественности), так и помешать, причём учитываются репутации обоих сторон. Например, два бандита, и оба с репутациями «ужасно», подружатся, причём гораздо легче, чем два же бандита, но один из них «плохо», а второй «очень плохо». Это реализует особенность взаимоотношений между людьми, пример: «-Ты меня уважаешь? —Да, а ты меня? —Всё, дружба.» (бандиты), или «—Хороший ты парень! Наш человек! —Спасибо, да и ты тоже неплохой. —Давай-ка дружить.»

В финальной версии таблица упрощена, и каждая строка в ней следующая: «-1000, −600, −300, 0, 300, 600, 1000». То есть отношение репутаций одностороннее, репутация игрока не учитывается, и «очень плохой» игрок никогда не подружится с «очень плохим» бандитом.

Содержание

S.T.A.L.K.E.R. Wiki: Zone Chronicles

Отношение (attitude)

Отношение NPC к ГГ складывается из:

  • Личного отношения персонажа к игроку ( personal_goodwill )
  • Отношения всей группировки к игроку ( community_goodwill )
  • Коэффициента стартовых взаимоотношений группировок ( community_to_community ), таблица из секции [communities_relations]
  • Отношения репутаций персонажа и игрока ( reputation_goodwill ), таблица из секции [reputation_relations]
  • Отношения рангов персонажа и игрока ( rank_goodwill ), таблица из секции [rank_relations]

Начальные взаимоотношения

Отношения группировок друг к другу по-умолчанию. Так, для любого сталкера изначально враждебен любой бандит («Все знают, что бандиты это враги»). Таблицы начальных взаимоотношений группировок приведены в статье Группировки.

Встречаемость

NPC появляются на абсолютно всех локациях. Больше всего их в лагерях и на базах, некоторые же просто бесцельно бродят по локациям небольшими группами или поодиночке. Единственной локацией, на которой нет NPC, является лаборатория X8, там присутствуют только мутанты, не являющиеся NPC.

Основные понятия

Взаимодействие с NPC

Взаимоотношения NPC и игрока

Редактор продолжает работу над этой статьёй, но временно отошёл попить чаю. Пожалуйста, не спешите с собственными правками.

На основании gamedata\configs\creatures\game_relations.ltx

Отношение применяется не обязательно ко всем представителям группировки сразу. На примере любого раненного нейтрального NPC, это видно чётко: как только ГГ его лечит, персонаж становится по отношению к нему дружественный. При этом прочие персонажи данной группировки дружественными не становятся. Дело в том, что меняются разные виды отношений, локальные (между отдельным NPC и ГГ), как в данном случае, и глобальные (между группировкой и ГГ), например, в случае вступления в неё игрока. И при расчёте личных взаимоотношений с конкретным NPC, учитываются вклады не только локальных/глобальных отношений, но ещё и параметров взаимоотношений между NPC и ГГ разных рангов и репутаций.

Поведение в свободное время

У NPC есть множество разных вариантов поведения в тех или иных ситуациях.

На базах

NPC играет на гитаре


Разминающий тело NPC

Вне лагерей

Подбор предметов

Увидев хорошее оружие, NPC может захотеть его подобрать. Тогда он ускорит шаг и пойдёт прямиком на этот предмет. Подняв его, NPC скорее всего экипирует его вместо своего базового снаряжения. Если этот предмет будет взят кем-то до того, как NPC дойдёт до него, то он просто остановится и пойдёт по своим делам. Следует заметить, что NPC не подбирают с земли ничего, кроме оружия.

В ТЧ специально идти к предмету неигровые персонажи не будут, но, в большинстве случаев, возьмут оружие, оказавшееся прямо под ними или выброшенное игроком прямо на них, если оно лучше, чем то, что у них уже есть.

Поиск артефактов

Находясь поблизости от аномалии, NPC может искать там артефакты. Тогда он достанет детектор, встанет у края аномалии и начнёт её аккуратно обследовать. При этом, NPC подбирает артефакты только вне радиуса зоны жизнедеятельности главного героя.

Содержание

Что такое нпс в сталкере

Обычные сталкеры, встречающиеся чаще всего в игре как в качестве противников, так и союзников. Не представляют особой сюжетной ценности во время выполнения игрового сюжета, однако являются неотъемлемой частью взаимодействия с игровым процессом.

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

Вблизи убежища, открыв огонь по NPC, стоящих недалеко от него, игрок лишится на время доступа в лагерь, поднимется тревога и отношение к протагонисту у людей внутри временно станет враждебным.

Функции и особенности

  • путешествие по локации
  • поиск и сбор артефактов
  • обыск трупов
  • информационная польза (можно опросить касательно некоторых проходимых квестов, на что NPC могут ответить полезной информацией в некоторых случаях, но если спросить ещё раз - сталкер скажет, что не знает
  • выходят на вылазку отрядом из трёх человек, пообщаться можно только с командиром
  • ночь проводят в лагере, там-же укрываясь от выброса
  • при ранении можно дать аптечку, вылечив и улучшив отношения с "вылеченным", так-же союзник раненного может оказать медицинскую помощь, а противник добить из пистолета
  • играют на гитаре, употребляют пищу и даже водку в свободное время
  • поднимают лежащее оружие, иногда броню, если увиденное NPC лучше его текущей экипировки

Примечание!

NPC атакуют друг-друга в зависимости от принадлежности к одной из группировок, информацию о них можно узнать здесь.

Симпатия (sympathy)

Это техническая реализация изменения отношения всех членов группировки к конкретному персонажу. Суть её заключается в том, что, после воздействия на персонажа из группировки, личное отношение персонажа к игроку (personal_goodwill) распространяется на всех членов группировки с умножением на коэффициент. Так как логично, что дружбу всех входящих в группировку персонажей надо заслужить дружбой со многими персонажами, коэффициент этот немного выше нуля и не превосходит 0,1.

Отношение к игроку

Уникальность NPC в данной игре объясняет так же и их отношение к нему.

Скрипты и взаимоотношения

В игре также имеются сцены, где взаимоотношения между группировками специально меняются скриптами, для обеспечения каких-либо сцен. Типичный пример это долговец и пленённый бандит в самом начале Тёмной Долины.

Ранг (rating, rank)

Каждый персонаж в игре имеет характеристику, называемую рейтингом, которая увеличивается в зависимости от его достижений (убийство враждебных NPC и монстров, причём увеличение рейтинга зависит напрямик от рейтинга убитого). По сути, это опыт, накапливаемый персонажем. Рейтинг представляет собой целое неотрицательное число. В игре существует разделение рейтинга на категории, называемые рангами.

Всего в игре 4 ранга. Новичок, опытный, ветеран, мастер. Далее приведён массив с границами рангов и их техническими наименованиями. Читать следует так: новичок до 300, от 300 до 600 опытный,… и так далее.

Отношение рангов (rank_goodwill)

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

Читайте также: