Сталкер как сделать чтобы нпс обыскивали

Обновлено: 05.05.2024

Такой персонаж будет обозначен зелёной точкой на мини-карте. Не будет просить убрать оружие при разговоре, а проводник в ЧН будет брать с ГГ вдвое меньше денег. Первым другом в ТЧ может стать Толик или Лис, в ЧН это будет вся группировка «Чистое небо», а в ЗП — Петруха и Шило. Данный уровень отношений можно получить, дав аптечку раненому, вступив в группировку, повысив репутацию, выполнив квест, оказав помощь в отражении атаки врагов/монстров. После этого персонаж может понизить цены.

Нейтрал

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

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

Содержание

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

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

Создание и редактирование НПС

Все профили НПС прописываются в файлах character_desc_локация.
Для раскладывания по полочкам, возьмем профиль Волка:
И разложим все по полочкам.

Внутри этой конструкции располагается все остальное. id - идентификатор Волка, team_default не изменяйте.

Имя НПС, которое будет отображаться в игре. Здесь содержится ссылка на текст, но можно писать имя прямо здесь (если вы хотите, чтобы это был обычный непись с рандомным именем, то прописываете здесь: "GENERATE_NAME_нужная-группировка" (без кавычек).

Здесь указывается иконка НПС, которая будет отображаться в диалоге.

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

Класс НПС. Используется для респавна НПС. Для того, чтобы у нас не создавалось куча наших "уникальных" НПС, то мы создадим свой класс.

Группировка (stalker - одиночки, bandit - бандит, dolg - Долг и т.д.)

Ранг НПС (новичок, опытный и т.д.)

Количество денег, которое может быть у НПС. Соотвественно минимальное значение и максимальное. Если поставить infinitive="1", то у НПС будут бесконечные деньги (как у торговца).

Ссылка на папку с голосом и фразами НПС.

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

Ссылка на визуальную модель НПС. Но если указать к примеру визуал экзоскелета, то и защитными характеристиками НПС будет обладать, как у экзоскелета.

Здесь указывается список предметов, которые будут появлятся у НПС.

Ну а далее идут диалоги.
Используется, если нужно, чтобы диалог начинал НПС, а
если нужно, чтобы диалог начинал ГГ.

Итак, приступим к практике.

Откроем файл character_desc_escape и создадим профиль нашему НПС. Назовем его Викинг, id у него будет escape_viking, оденем в экзоскелет, группировка - одиночка, оружие - Винторез, класс - esc_viking, а так же пропишем диалоговую иконку НПС в экзоскелете:
Теперь нужно прописать нашего НПС в файле config/gameplay/npc_profile.xml:
Класс ОБЯЗАТЕЛЬНО должен совпадать с тем, который прописан в character_desc_escape, а specific_character должен совпадать с id нашего НПС в character_desc_escape.

Далее происываем нашего НПС в файле config/creatures/spawn_sections.ltx:
В квадратных скобках прописываете любое свое название, spawn ставите от любого НПС, с character_profile все понятно, spec_rank оставляйте regular, community тоже все ясно.

Задам вопрос - я сделал всё по инструкции, только спавнил не через ацдц и не через скрипт, а напрямую через СДК. Скомпилил, перенёс все необходимые файлы - игра вылетает и жалуется на отсутствие необходимой секции. Разберитесь пожалуйста

Эээ.
Ну статья и проверялась через скрипт и АСДС.
Можно поподробней как "напрямую через СДК" это делается, и непомешало бы название секции, а еще лучше - лог. Ибо по одному описанию я вряд ли чем то помогу (тебе ли модеру это не знать).

____________________
Я вроде как лог попросил.
Ну нет так нет.

Именно поэтому я не занимался пока сюжетом над модом. Но через СДК всё вроде нормально добавляется - при заполнении секции по инструкции появляется вещь в списке спавн-элементов. А вот в игре.

Ошибки которые нашел:
- У ворона была прописана группировка dark_stalker, хотя ты ее НЕ создал, так что пока заменил ее на одиночку.
- Если уж создал свой файл Character_desc_локация, то это еще не значит, что игра его прочитает. Его нужно прописывать в system.ltx, что я и сделал.
- Ты в spawn_sections прописал респавн у ворона свой, а не как в уроке от стандартного НПС. Я не знаю каким ты АСДС компилил спавн, поэтому не смог посмотреть создал ли ты респавнер, и прописал ли туда Ворона. Поэтому я заменил строчку респавнера, на ту, что из урока, ибо она от стандартного непися, то бишь рабочая.

ЗЫ: Без обид, но мне сейчас не для придумывания сюжета и квестов, уж звиняй. Работы и так хватает.
ЗЗЫ: давай все таки на "ты")))

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

Размышляющий над сущим

Такие вопросы:
1: Как сделать,так чтоб НПС смотрел/стоял лицом в нужном мне направлении? После прописывания мной координат спавна, НПС всё время смотрит/стоит лицом в одном и том же направлении. Какие строки за это отвечают?

2. Как сделать чтоб НПС стоял на месте в любом случае и вел огонь со своего места спавна (хочу сделать часового, как на вышках). Я, ПЫСУ прописал эти строки:

[logic]
active = remark1
danger = danger_ignore

[danger_ignore]
ignore_distance = 5

[remark1]
no_move = true,

Но, во время атаки этот НПС сходит с места и ломится всех врагов отстреливать.

3: Как прописать НПС путь по которому я хочу чтоб он ходил (рейд, как у военных между блок постом и деревней новичков)?

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

Только сейчас заметил проблему. Если сохраниться после того как НПС заспавнится, а потом загрузить это сохранение, игра вылетает со странным логом

J-DOG
Не находит файл . ltx. логики для НПС
Larry76,
1.Через аллспавн как правило спавнят уникальных НПС у которых квесты и т д
Пример в секции alife_zaton.ltx прописывается сам НПС

[593]
; cse_abstract properties
section_name = smart_cover
name = zat_a2_sc_zat_b7_sultan -- это Султан
position = 139.320007324219,-7.34000015258789,178.610000610352
direction = 0,-1.57079601287842,0

; cse_alife_object properties
game_vertex_id = 296
distance = 16.1000003814697
level_vertex_id = 1204862
object_flags = 0xffffffbf

; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 2

; cse_smart_cover properties
cse_smart_cover__unk1_sz = animpoint_sit_normal
cse_smart_cover__unk2_f32 = 0
enter_min_enemy_distance = 15
exit_min_enemy_distance = 10

; se_smart_cover properties
last_description = animpoint_sit_normal
loopholes = animpoint_sit_normal,1

в секции way_zaton.ltx прописывются пути хождения смотрения и другие действия

[zat_a1_a_look]
points = p0,p1
p0:name = wp00|a=threat|t=1000 - тут будет целится 1000 милисекунд
p0:flags = 0x1p0:position = 256.240051269531,19.8124237060547,550.824279785156 --первая точка куда будет смотреть НПС
p0:game_vertex_id = 292
p0:level_vertex_id = 1405060
p0:links = p1(1)
p1:name = wp01|a=threat|t=1000 -тут будет целится 1000 милисекунд
p1:flags = 0x1
p1:position = 125.961219787598,-7.31970977783203,178.054428100586 --вторая точка куда будет смотреть НПС
p1:game_vertex_id = 297
p1:level_vertex_id = 1182877
p1:links = p0(1)

[zat_a1_a_walk] тут одна точка движения,т е стоит на месте и целится смотрит в двух направлениях через определённое время
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = 356.438110351563,-1.82260000705719,296.487701416016
p0:game_vertex_id = 67
p0:level_vertex_id = 1558980

<actor_dialog>zat_b7_bandit_boss_sultan_b7_give_task_dialog</actor_dialog>
<actor_dialog>zat_b7_bandit_boss_sultan_b30_start_actor_dialog</actor_dialog>
<actor_dialog>zat_b7_bandit_boss_sultan_b30_detectors_actor_dialog</actor_dialog>
<actor_dialog>zat_b7_bandit_boss_sultan_b30_compass_actor_dialog</actor_dialog>
<actor_dialog>zat_b7_bandit_boss_sultan_b30_compass_give_actor_dialog</actor_dialog>
<actor_dialog>zat_b7_bandit_boss_sultan_b30_compass_revert_actor_dialog</actor_dialog>
<actor_dialog>zat_b7_bandit_boss_sultan_b30_ruin_actor_dialog</actor_dialog>
<actor_dialog>zat_b7_bandit_boss_sultan_b30_barmen_under_actor_dialog</actor_dialog>
<actor_dialog>zat_b7_bandit_boss_sultan_b52_about_snag</actor_dialog>
<actor_dialog>zat_b7_bandit_boss_sultan_b52_about_nimble</actor_dialog>
<actor_dialog>zat_b7_bandit_boss_sultan_about</actor_dialog>

<character /> <class>zat_b7_bandit_boss_sultan</class>
</character>
[zat_b7_bandit_boss_sultan_squad]:online_offline_group --это сквад Султана
faction = bandit
npc = zat_b7_bandit_boss_sultan
target_smart = zat_stalker_base_smart-- работа на Скадовске
story_id = zat_b7_bandit_boss_sultan_squad [zat_b7_bandit_boss_sultan_squad]:default_squad
sim_avail = false Приписываем сквад НПС к месту где он должен появится сразу или с каким то условием
;;;;;;;;;;;;;;;;;;;;;; FINAL ZATON ;;;;;;;;;;;;;;;;;;;;;;;;;
zat_b7_bandit_boss_sultan_squad = zat_stalker_base_smart --тут Скадовск

[animpoint@base]
use_camp = false
avail_animations = animpoint_sit_normal
cover_name = zat_a2_sc_zat_b7_sultan
;reach_distance = 1.5
meet = meet@base
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
out_restr = zat_a2_sr_noweap
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false

[meet@base]
close_snd_hello = zat_b7_bandit_boss_sultan_greeting
close_snd_bye = zat_b7_bandit_boss_sultan_farewell
close_anim = nil
close_victim = nil
far_anim = nil
far_victim = nil
close_distance = 0
far_distance = 0
use = false, true
trade_enable = false
allow_break = false
close_snd_distance = 3
meet_dialog = zat_b7_bandit_boss_sultan_intro, zat_b7_bandit_boss_sultan_b30_refuse_af_dialog, zat_b7_bandit_boss_sultan_b30_refuse_af_dialog, zat_b7_bandit_boss_sultan_b5_give_task_dialog
meet_on_talking = false

Далее топаем обратно в аллспавн
Создаём smart_terrain для сквада НПС в секциях алл.

[578]
; cse_abstract properties
section_name = smart_terrain
name = zat_stalker_base_smart--Это Скадовск
position = 123.900001525879,-7.34000015258789,183.559997558594
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = 297
distance = 7
level_vertex_id = 1179320
object_flags = 0xffffff3e
custom_data = <<END
[story_object]
story_id = zat_stalker_base_smart

; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 2.50760293006897

; cse_alife_space_restrictor properties
restrictor_type = 3

Фсякченские модЫфикации смАтреть тута пАд сполером

slayer_kch, Спасибо,но опять-таки ты привёл пример уже на действующем персонаже.
Напримере моего случая можно.
Условие: Имеем голую новую локацию escape( кордон)
1.В точке возле самого входа на локацию надо создать бойца(который просто встречает ГГ)

никуда ходить он не будет,будет просто тупо стоять на одном месте.
Итого файл alife_escape.ltx у нас естесственно есть

[593]
; cse_abstract properties
section_name = smart_cover что означает эта строка?
name = можно ли взять из файла припяти? pri_a17_military_sergeant_morozov или же придётся создать файл character_desc_escape где скопировать pri_a17_military_sergeant_morozov но назвать его esc_a17_military_sergeant_morozov .
position = 139.320007324219,-7.34000015258789,178.610000610352
direction = 0,-1.57079601287842,0

; cse_alife_object properties
game_vertex_id = 296
distance = 16.1000003814697
level_vertex_id = 1204862
object_flags = 0xffffffbf - это пока ясно координаты,направление взгляда и вертексы

; cse_shape properties - за что отвечает эта секция??
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 2

; cse_smart_cover properties
cse_smart_cover__unk1_sz = animpoint_sit_normal тут вроде понятно,что перс сидячий, а если он стоит??
cse_smart_cover__unk2_f32 = 0
enter_min_enemy_distance = 15
exit_min_enemy_distance = 10

; se_smart_cover properties
last_description = animpoint_sit_normal
loopholes = animpoint_sit_normal,1

[zat_a1_a_look]
points = p0,p1
p0:name = wp00|a=threat|t=1000 - тут будет целится 1000 милисекунд
p0:flags = 0x1p0:position = 256.240051269531,19.8124237060547,550.824279785156 --первая точка куда будет смотреть НПС
p0:game_vertex_id = 292
p0:level_vertex_id = 1405060
p0:links = p1(1)
p1:name = wp01|a=threat|t=1000 -тут будет целится 1000 милисекунд
p1:flags = 0x1
p1:position = 125.961219787598,-7.31970977783203,178.054428100586 --вторая точка куда будет смотреть НПС
p1:game_vertex_id = 297
p1:level_vertex_id = 1182877
p1:links = p0(1)

[zat_a1_a_walk] тут одна точка движения,т е стоит на месте и целится смотрит в двух направлениях через определённое время
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = 356.438110351563,-1.82260000705719,296.487701416016
p0:game_vertex_id = 67
p0:level_vertex_id = 1558980
Тут вроде тоже ясно,обзовём только секции esc_a1_a_look и esc_a1_a_walk ну и пропишем свои координаты и куда башкой крутить.
А вот из какого файла к этим секциям путь указать??

далее создаём файл spawn_sections_escape.ltx в нём пишем:
далее создаём файл character_desc_escape.xml и в нём пишем(тупо копируем всё из файлика припяти про этого вояку заменяя только название локации)

<actor_dialog>actor_break_dialog</actor_dialog> это понятно. диалог стандартный- привет-пока

<character /> <class>esc_a17_military_sergeant_morozov</class>
</character> Larry76,
Бысрее скриптом распаунить твоего НПС

if мой_spawn_nps.load_variable("мой_spawn_nps_p_",false)==false then
мой_spawn_nps.start_мой_spawn_nps()
мой_spawn_nps.save_variable("мой_spawn_nps_p_",true)
end
==================================================================================
Далее создаём в папке scripts создаём свой скрипт спавна НПС мой_spawn_nps.script
==================================================================================
Далее в мой_spawn_nps.script пишем функцию спавна
function start_мой_spawn_nps()
swm_spawn_nps_01()
end
function мой_spawn_nps_01()
alife():create("esc_a17_military_sergeant_morozov",vector():set(516.90234375,13.481066703796,589.25476074219),1797242,28)--тут позиция спавна НПС,левел-вертекс и гаме-вертекс спавна НПС
end

function save_variable(variable_name, value)
xr_logic.pstor_store(db.actor, variable_name, value)
end

[walker@esc_a17_military_sergeant_morozov]
path_walk = esc_a1_a_walk-путь брожения
path_look = esc_a1_a_look-куда смотрит
combat_ignore_cond = false
combat_ignore_keep_when_attacked = false
meet = meet
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
use_camp = false
def_state_standing = ward_noweap
def_state_moving1 = patrol
no_retreat = true
target = story | actor
wounded = wounded
danger = danger


[meet]
close_snd_hello = = nil
close_snd_bye = = nil
close_anim = guard_na
close_victim = actor
far_anim = nil
far_victim = nil
close_distance = 2
far_distance = 0
close_snd_distance = 3
abuse = false
use = false, true
allow_break = false
meet_on_talking = false

[wounded]
hp_state = 0|wounded_heavy@help_heavy
hp_state_see = 0|wounded_heavy@help_heavy
hp_victim = 0|nil
hp_fight = 0|false
hp_cover = 0|false

[danger]
ignore_distance = 0
ignore_distance_grenade = 0
ignore_distance_corpse = 0
ignore_distance_hit = 0
ignore_distance_sound = 0

Фсякченские модЫфикации смАтреть тута пАд сполером

«Чистое Небо»

Субъективный критерий убран, репутацией фактически обладает только ГГ. Отношение к нему измеряется заслугами перед той или иной группировкой, шкала взаимоотношений доступна в КПК в разделе «Статистика». Выполнение квеста, убийство союзного или враждебного сталкера, помощь раненому — всё это влияет на изменение отношения той или иной группировки в соответствующую сторону. Принципиальным фактором является принадлежность самого игрока к какой-либо из группировок.

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

Баг с костром

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

«Тень Чернобыля»

В этой части серии параметр «репутация» разделён на две ветви — общественное мнение о сталкере и отношение группировок.

Общественное мнение

В ТЧ репутацией обладает как ГГ, так и все NPC (даже зомбированные). Она измеряется по субъективному критерию — сложившемуся в Зоне мнению о личности персонажа в целом, причём наиболее весомым является мнение вольных сталкеров.

Существует семь показателей: ужасно, оч. плохо, плохо, нейтрал, хорошо, оч. хорошо, отлично. Практически все наёмники и бандиты в игре имеют плохую репутацию (но большинство наёмников в Мёртвом городе имели хорошую, а наёмники из отряда Волкодава имеют нейтральную), а зомбированные и монолитовцы — очень плохую. Репутация подавляющего большинства NPC (одиночек, членов «Свободы» и «Долга») нейтральная, у некоторых из них встречается хорошая и плохая. Большинство военных имеют нейтральную. Торговцы имеют хорошую репутацию. Очень хорошую репутацию имеют только Чучело, Отец Диодор, Мастер, Прут и Умник (в ранних версиях очень хорошую также имел Душман; примечательно то, что, при высоком уровне репутации, все они являются квестовыми жертвами). В свою очередь, репутация Кочерги и Фраера очень плохая.

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

Показатель репутации игрока имеет принципиальное значение при «ложной» концовке игры, если он будет загадывать у Монолита желание, но никак не влияет на «истинную» — с «О-Сознанием».

Ранее в игре должны были иметься различные отношения между сталкерами с разной репутацией. Но впоследствии это было отменено.

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

Отношение группировок меняется в основном от выполнения побочных заданий. Так, при посещении локации Армейские Склады и регулярно игнорируя задания, затрагивающие интересы противоборствующих группировок «Долг» и «Свобода», а выполняя остальные, после пяти посещений указанной локации можно обнаружить, что игрок стал «другом» обеим группировкам.

В игре есть возможность вступить в «Свободу». На общественное мнение это не повлияет, а вот отношение группировок изменится: бандиты и наёмники станут нейтральными, с ними можно будет поторговать и поговорить. Несмотря на это, у самой «Свободы» отношения с наёмниками негативные, однако отношения у ГГ как свободовца с ними нейтральное. Есть баг, из-за которого при попытке поговорить с тяжелораненным бандитом или наёмником, будучи с ним нейтралом, игра вылетает. Также в файлах есть третий вариант фракции ГГ как долговца, но в релизной версии возможность стать им так и не добавили.

Если убить кого-либо на территории Бара, то почти все сталкеры в этой локации станут врагами.

NPS они же "персы" (персонажи сборки)

Q: У меня подчти всех сюжетных поубивало, Беса, он вобже из-за ограждения вылез. Серого, Крота вертушка уже возле входа в подзимелье убила. с этим надо что-то делать, как-то их ограничить, чтоб под пули не лезьли

A: На данный момент в сборке многие квестовые и второстепенные НПС усилены, но по прежнему смертны, и беречь их теперь стОит, многие из них дают доп. квесты.
Ограничивать их, "чтоб под пули не лезли" не будут, так что, если хотите увидеть все сюрпризы сборки, проявляйте смекалку и терпение, чтобы сберечь им жизнь.

Q:Воскресают ли квестовые НПС?

A: Если погибнет Арни (зав. Арены), то через некоторое время его заменяет другой перс, и исполняет его функции.

Как вооружить НПС новым оружием (РК9+6)

Q: . раньше не обращал внимания, подскажите, сколько пулек у НПС по умолчанию? Есть смысл затаривать нужного перса патрончиками?
Непонятны "вкусы" НПС - сначала дашь ему FN, берет с радостью и видишь, что затвор уже передернул. Если следом дать АК, он его выбирает. FN по ходу круче.

A: 1. Продавать им разряженное оружие высоких классов(иначе НПС схватит подобраный обрез) , оптимально СВУ и Винтарез (более эфективны против мутантов, чем СВД и Гаусс)
2. Выкупить все небронебойные боеприпасы к проданому оружию, и впихнуть на пару перезарядок бронебойных (для большей эффективности). Израсходованный боезапас у НПС восстанавливается.
3. выкупать старые патроны ( от старого ствола )не нужно, если НПС при ранении потеряет "новое" оружие, то достанет старый ствол (которого в инвентаре не видно) и будет им пользоватся.

Q: По оружию: . но если у него обрез, то хоть , не поменяет ни на что, даже Сайга в таких случаях не катит

A: Заблуждение, 100%. Поэкспериментируй и понаблюдай: СВУ , СВД, Гаусс, Винтарез заменяют обрез. Если НПС не меняет сразу, то спровоцируй "тревогу", НПС сразу же "переключится" на любой из этих стволов. Но в ближнем бою может запросто достать АКСу (если был до этого) или обрез.

A(Artos):Неписям по барабану оптика/глушители/подствольники на стволах. Они, считай, их не замечают, не используют и не учитывают при выборе.
В игре на выбор неписью ствола влияет файл "mp_ranks.ltx", в котором в зависимости от ранга жестко прописаны предпочтения для оружия. Если новичок - то оружие попроще, навык есть - предпочтение отдается более навороченному. Условно, выбор неписью оружия идет не по крутости ствола, а по навыку с ним обращаться.
Все мы за компом считаем себя универсалами и готовыми сразу из любого, даже незнакомого, ствола палить в яблочко . в реалии совсем иначе и любой опытный стрелок выбирает оружие "под себя" и под ситуацию, а не по крутизне и стоимости. Отдадим неписям все же право выбора, хотя конечно то, как сделано в игре, далеко от совершенства. Уже есть мод, который занялся изменением этого несовершенства

Q: Не хватает возможности бесплатно вооружать "друзей". Кидать на землю костюмы и оружие не удобно, ибо не факт что их подберет тот кто нужно (если вообще подберет). Можно ли сделать чтото типа как в fallout торговля? Там можно выбирать: за бабло отдаешь, со скидкой или вообще бесплатно.

A(Artos):Движек игры предусматривает только "Торговать". "Чем" и "по чем" - жестко прописани в файлах-конфигах торговли. Для всех НЕ-торговцев все определяет файл trade_generic.ltx и каких-либо вариаций "подарить/дешево продать" не предусмотрено.Теоретически можно насоздавать различных секций, но они опять же будут не интерактивны, т.е. игрок не сможет определять сам "торговать или дарить" и отсутствует градация "свой/чужой/друг/недруг/. ".Мысли и желание сделать скриптами хоть какое-то подобие интерактивного диалога при выборе режима торговли/дарения давное есть, но пока это только наметки.

A:Поэкспериментируй так: 1) продал НПС патроны под оружие; 2) после этого становишся прямо перед НПС (1-2м), и выбрасываеш ствол в непись: хватают на лету))) Так же можно сплавлять "греховское" оружие. С костюмами пробуй так же, но не со всеми НПС такой номер проходит.

"Переодевание" НПС

Q: Народ вопрос вроде простой но я чёто недоперепонял - если НЕПИСЮ продаш оружие он его сразу в руки и на войну. А вот броники не одевают , да у денег не у всех хватает.

A: схема "тамагочи" (xrs_armor.script)
теперь NPC можно продать какой-нибудь костюм и если его устроит, то он его оденет. Так же можно кинуть под ноги - если устроит, то он поднимет.
Неписи очень стеснительные, поэтому переодеваются только тогда, когда ГГ их не видит и находится как минимум за 15 метров от них.
Кроме того введена система апгрейда брони - теперь NPC развиваются, вполне возможно встретить по прошествии времени NPC новичка, который обзавелся, например,
костюмом сталкера или даже СЕВОЙ. Система оттачивается, поэтому возможны курьезы. Не все НПС "переодеваются".

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

Всем, кто хочет "ассортимента" переодевания следует знать, что броники, которые доступны ГГ (которые могут быть в рюкзаке) являются объектами игры (аналогично колбасе, аптечке, . ), а броники надетые на неписей - это только визуалы, т.е. НЕ объекты игры, а одно из свойств модели неписи. Т.о. задача переодевания в 1-ю очередь сводится к преобразованию объекта-броника в свойство модели текущего непися. А свойства (в частности визуал) каждого непися ограничено всего несколькими вариантами.

В таблице соответствий броников бандитам прописаны все типы, т.е. они могут "использовать" визуалы броников от разных группировок (бандиты ведь . ). Новичкам и одиночкам дана тоже поблажка и могут надевать, например, и от долга и от свободы . Ну а, например, вояки и монолитовцы могут использовать ТОЛЬКО костюмы своих группировок.

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

Виды NPC

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

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

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

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

На базах

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


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

Вне лагерей

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

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

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

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

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

«Зов Припяти»

Здесь всё обстоит сложнее, чем в предыдущих играх. На репутацию игрока в большей степени влияют полученные им достижения, нежели его поступки в отношении других персонажей.

Общее мнение сталкеров об игроке

Если совершить убийство NPC (кроме зомби) у стен любого лагеря, то его двери на некоторое время заблокируются, а все, кто находится внутри, временно станут врагами. По истечении некоторого времени доступ в лагерь снова откроется, а его обитатели будут нейтральными к главному герою, вне зависимости от предшествующих отношений. Это легко объясняется как технически: враждебные друг другу сталкеры на территории одного лагеря с целью сохранения нейтралитета расцениваются игрой как члены одной группировки, отношение которой к игроку меняется соответственно его действиям; так и логически: лагерь объявлен общим, и его обитатели соблюдают пакт о взаимном ненападении на его территории, а нарушитель договора в любом случае подвергается порицанию со стороны обеих противоборствующих сторон.

Ни бандиты, ни одиночки в ЗП, в целом, никогда не будут врагами для игрока, за исключением единичных локальных отрядов. Дегтярёв может выполнить все квесты на «Скадовске» за вольных сталкеров, по пути убивая встречающихся бандитов десятками, но отношение бандитов к нему всё равно останется нейтральным. Равным образом наоборот: если стать другом бандитов и помочь им установить на «Скадовске» свои порядки, одиночки не станут по отношению к Дегтярёву врагами, хотя общаться с ним, безусловно, будут иначе. Но это как раз логично: технически Дегтярёв тоже вольный сталкер.

Военные в ЗП для игрока сначала нейтралы, а потом друзья, по мере выполнения игроком сюжетных квестов. Вообще, военные в этой части представлены не агрессорами и головорезами, а вполне хорошими людьми, заслуживающими симпатии и сочувствия. Их командир ищет помощи и поддержки у Дегтярёва и его товарищей; также у военных есть свой врач, готовый в ограниченном количестве поделиться медикаментами перед выполнением очередного задания Ковальского; имеется и свой техник, он же заведующий арсеналом, при любой репутации игрока ремонтирующий оружие бесплатно и снабжающий нужными боеприпасами (опять же, «в разумных пределах», выдаются перед выполнением очередного задания полковника), а при первом появлении Дегтярёва бесплатно выдаёт ему новый комплект брони («Булат» и шлем «Сфера М12»).

Конечно, такое поведение военных обусловлено в первую очередь безысходностью их положения, да ещё у Дегтярёва ко всему прочему при себе удостоверение офицера СБУ. Однако факт остаётся фактом: военные без разговоров пустили жить к себе на базу и одиночку Вано (который и сам был с ними приветлив, а потом даже помог), и проводника Гарика (который потом сообщил, что в Припять пришли наёмники, чем фактически спас операцию), и даже Бродягу (который тоже проявил лояльность, но почти сразу же исчез в неизвестном направлении).

Можно сделать так, что вся «Свобода» или весь «Долг» станут врагами по отношению к ГГ, если при выполнении квестов будет всегда отдавать предпочтение только одному «Долгу» или только одной «Свободе» и при этом не получит достижение «Охотник на мутантов» от Зверобоя. В ЗП это, как правило, связано с тем, что необходимо делиться с лидером одной из фракций информацией, компрометирующей противоборствующую группировку. Но подружиться со «Свободой» или «Долгом» вполне реально и с тем, что оппоненты останутся нейтральными, а не враждебными. Более того, в ЗП получить в лице целой группировки врага, гораздо сложнее, чем друга.

Взаимосвязь репутации игрока и полученных достижений

Достижение «Охотник на мутантов» имеет колоссальное влияние на репутацию ГГ: с его помощью можно подружиться и с «Долгом», и со «Свободой» одновременно. Для этого надо помочь сначала одному лагерю, а потом другому, после чего отчитаться Зверобою, что химера мертва.

Например, возникает такая ситуация: у Дегтярёва уже есть КПК Моргана (или Таченко) и он знает про злодеяния Флинта, но молчит. Химера по заданию Зверобоя уже мертва, но ГГ пока не отчитался об этом. Важен конкретный порядок действий.

  1. Сдать Флинта Локи или Шульге, либо отдать КПК. Группировка становится дружественной.
  2. Теперь нужно идти к их врагам и слить оставшуюся информацию (если одной стороне был сдан Флинт, то другой нужно продать КПК и наоборот). Теперь обе группировки снова нейтральны.
  3. Теперь нужно доложить Зверобою о выполнении квеста «Ночная охота», тем самым получив достижение «Охотник на мутантов».

Если все действия осуществлены точно в таком порядке, то обе группировки станут дружественными. Но, если доложить Зверобою о выполнении задания раньше, чем начать махинации с Флинтом и КПК, ничего не выйдет!

Замечание: если сохранить этот парадоксальный баланс, то перед концом игры большинство NPC в игре будут дружественны к ГГ — не каждая легенда Зоны может похвастаться таким мнением о себе среди сталкеров самых разных слоёв. Однако при этом появляется риск остаться без достижений «Сторонник равновесия» и «Лидер», потому что, хотя в этом случае Бродягу согласны принять оба клана, после его присоединения к одному из них противоборствующий лагерь снова станет нейтральным. С достижением «Лидер» не всё так однозначно — можно вовсе не выполнять квесты Зверобоя, поскольку есть всего четыре квеста, которые дают одинаковую репутацию (+250, с противоборствующей группировкой — −250), одной группировке нужно сдать, например, КПК Моргана и к ним же отвести Бродягу, а другим сдать Флинта и КПК Таченко. Остается выполнить один-два квеста за Зверобоя, и обе группировки (и «Свобода» и «Долг») будут друзьями. Если есть достижение «Дипломат», то вполне хватит выполнить одну миссию за Зверобоя, так как каждый выполненный у него квест даёт +200 к репутации к сталкерам, «Долгу» и «Свободе». Достижение «Дипломат» даёт +200 ещё и бандитам, что может в итоге дать дружбу с четырьмя группировками сразу (не затрагивая ученых и военных, так как получение с ними дружеских отношений не вызывает противоречия с другими группировками), даже если получить достижение «Авторитет» и выполнить все предыдущие квесты на них. Однако важно вначале выполнить все квесты за бандитов, не затрагивая сталкеров (в том числе квест Сыча «Заманчивый бизнес»), а уже потом помогая сталкерам. Если попробовать получить достижение «Друг сталкеров» или «Свой парень» и в итоге получить концовку, где бизнес Бороды процветает, то дружба с бандитами прекратится. Лучше всего просто отказаться приносить «Компас» лидерам обоих группировок, что потребует меньших усилий для налаживания отношений со сталкерами. Если есть желание быть ещё и другом наёмников и при этом не было совершено убийств наёмников на Затоне на цехах подстанции, то когда ученые лишатся охраны, можно предложить этим наёмникам поработать на ученых, а они, в свою очередь, станут по отношению к Дегтярёву друзьями. Профессору Герману без разницы, кто будет привлечён к обороне бункера — его награду и восхищение ГГ получит в любом случае. Правда, другом можно стать лишь для данного отряда. Единственные две группировки, всегда относящиеся к игроку враждебно — зомбированные и «Монолит» (кроме небольшой квестовой группы в ЗП).

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


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

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

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


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

Ранение


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


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

Обыск трупов

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

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