Перейти к содержимому


Переключение чата Чат Симбиона

Porfel : (26 дек. 2023 09:58) Немного есть :-D
Po)(yist : (23 дек. 2023 18:04) выжившие есть?
ovchar : (29 авг. 2023 07:52) Здравия, всех выживших ждём в нашей группе в Телеграмме - https://t.me/+E9gT3ULaSn5jNDli
sSer : (15 авг. 2023 23:20) Что как?
HorunziyA : (26 апр. 2023 21:26) Всем приветы!
ovchar : (24 дек. 2022 12:38) Здравия Всем. Сделали Группу в Телеге, Там уже Ларри с Порфелем, Артоса добавил (может подтянется). Велком - https://t.me/+E9gT3ULaSn5jNDli
sSer : (16 авг. 2022 03:41) Здрасьте, люди )
ovchar : (12 марта 2022 19:57) Здравия, Всем!
Porfel : (08 марта 2022 12:01) Привет! =)
CBO6OgA : (05 марта 2022 23:20) Вспомнил и ник и пароль от аккаунта... что бы казать вам Привет, ребята! Если вы помните меня ещё со времен сайта Stalker-portal. Саша "белый" на аватаре и странные рассказы о сталкерах. Чорт подери... сколько лет, сколько зим!
Porfel : (31 янв. 2022 16:41) Трям!
Lisaa : (05 июня 2021 18:49) Ёпрстблятьнахуйгдевсе?
Эт ни чо шо я по англицки ? )))
waran : (12 апр. 2021 08:09) не узнал со страху ))
waran : (12 апр. 2021 08:07) ёшкин кот !!! выругался мозгноневслух на полшаге согнутой нагой ,ёмаё ..протягивая руку для приветсвия
michey : (06 апр. 2021 23:23) *Неподалёку, за кустами, мелькнула всклокоченая борода. Над ветками орешника, на фоне брезентового бока огромного рюкзака промелькнула, в приветствии, темная ладонь.*
waran : (27 марта 2021 19:46) фиють)
waran : (26 марта 2021 21:03) Ъ ))
waran : (26 марта 2021 21:01) Larry76 мы тоже живы токо эт ( чешет за большим треугольным ухом) мутировали мы малость
tolanchi : (24 марта 2021 08:20) Привет!
Larry76 : (22 марта 2021 19:59) Я ЖИВ!! А ВЫ?
Изменить размеры окна чата

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


26 ответов в этой теме

#1 Отшель[НИК]

    СуперСтарожил!


  • сообщений 588
  • Имя:Серега
  • Пол:Мужчина
  • Город:Россия, Свердловская обл., г. Качканар
  • Группировка: Одиночка

Отправлено 04 Июнь 2009 - 17:39

В этой статье мы разберем как создать уникального/именного/квестового (называйте как хотите) НПС.

Все профили НПС прописываются в файлах character_desc_локация.
Для раскладывания по полочкам, возьмем профиль Волка:
<specific_character id="esc_wolf" team_default = "1">
	<name>esc_wolf_name</name>
	<icon>ui_npc_u_stalker_neytral_balon_1</icon>
	<bio>esc_wolf_bio</bio>

	<class>esc_wolf</class>
	<community>stalker</community> <terrain_sect>stalker_terrain</terrain_sect>
	
	<rank>434</rank>
	<reputation>5</reputation>
	<money min="600" max="2000" infinitive="0"/>
	
	<snd_config>characters_voice\human_01\stalker\</snd_config>
	<crouch_type>-1</crouch_type>

	<visual>actors\neytral\stalker_neytral_balon_1</visual>
	<supplies>
		[spawn] \n
		wpn_pm \n
		ammo_9x18_fmj = 1 \n
		wpn_ak74u \n
		ammo_5.45x39_fmj \n
		device_torch \n
		hand_radio \n
	</supplies>
	
#include "gameplay\character_criticals_4.xml"

		<start_dialog>escape_lager_volk_talk</start_dialog>
		<start_dialog>dm_hello_dialog</start_dialog>
		<actor_dialog>dm_cool_info_dialog</actor_dialog>
		<actor_dialog>dm_help_wounded_medkit_dialog</actor_dialog>
		<actor_dialog>tm_wolf_dialog</actor_dialog>
		<actor_dialog>tm_wolf_reward</actor_dialog>
		<actor_dialog>escape_lager_volk_story</actor_dialog>
		<actor_dialog>escape_lager_volk_story2</actor_dialog>
	</specific_character>
И разложим все по полочкам.

<specific_character id="esc_wolf" team_default = "1">
</specific_character>
Внутри этой конструкции располагается все остальное. id - идентификатор Волка, team_default не изменяйте.

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

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

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

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

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

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

<reputation>5</reputation>
Репутация.

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

<snd_config>characters_voice\human_01\stalker\</snd_config>
Ссылка на папку с голосом и фразами НПС.

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

<visual>actors\neytral\stalker_neytral_balon_1</visual>
Ссылка на визуальную модель НПС. Но если указать к примеру визуал экзоскелета, то и защитными характеристиками НПС будет обладать, как у экзоскелета.

<supplies>
	[spawn] \n
	wpn_pm \n
	ammo_9x18_fmj = 1 \n
	wpn_ak74u \n
	ammo_5.45x39_fmj \n
	device_torch \n
	hand_radio \n
</supplies>
Здесь указывается список предметов, которые будут появлятся у НПС.

Ну а далее идут диалоги.
<start_dialog>escape_lager_volk_talk</start_dialog>
Используется, если нужно, чтобы диалог начинал НПС, а
<actor_dialog>dm_cool_info_dialog</actor_dialog>
если нужно, чтобы диалог начинал ГГ.

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

Откроем файл character_desc_escape и создадим профиль нашему НПС. Назовем его Викинг, id у него будет escape_viking, оденем в экзоскелет, группировка - одиночка, оружие - Винторез, класс - esc_viking, а так же пропишем диалоговую иконку НПС в экзоскелете:
<specific_character id="escape_viking" team_default = "1">
	<name>Викинг</name>
	<icon>ui_npc_u_stalker_mo_exo</icon>
	<bio>esc_wolf_bio</bio>
	
	<class>esc_viking</class>
	<community>stalker</community>
	<terrain_sect>stalker_terrain</terrain_sect>
	
	<rank>434</rank>
	<reputation>5</reputation>
	<money min="600" max="25000" infinitive="0"/>
	<panic_treshold>0</panic_treshold>
	
	<snd_config>characters_voice\human_01\stalker\</snd_config>
	<crouch_type>-1</crouch_type>
	
	<visual>actors\monolit\stalker_mo_exo</visual>
	<supplies>
		[spawn] \n
		wpn_vintorez \n
		ammo_9x39_pab9 = 10 \n
	</supplies>
	
</specific_character>
Теперь нужно прописать нашего НПС в файле config/gameplay/npc_profile.xml:
<character id="escape_viking">
	<class>esc_viking</class>
	<specific_character>escape_viking</specific_character>
</character>
Класс ОБЯЗАТЕЛЬНО должен совпадать с тем, который прописан в character_desc_escape, а specific_character должен совпадать с id нашего НПС в character_desc_escape.

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

НПС мы уже по сути создали, но мы не прописали ему логику. Без логики его будет подхватывать алайф и наш НПС пойдет бродить по Зоне куда глаза глядят.
Создадим логику при которой НПС будет стоять на месте, но при этом будет атаковать врагов, а после перестрелки возвращаться на свое место.
Создадим в папке config/scripts (ВНИМАНИЕ! НЕ gamedata/scripts, а именно config/scripts!!!) новый ltx файл, назовем его logic_viking и добавим туда такую логику:
[logic] 
active = remark1 
danger = danger_ignore

[danger_ignore] 
ignore_distance = 5

[remark1] 
no_move = true
Теперь снова откроем spawn_sections.ltx и добавим в секцию нашего нового НПС путь к логике:
[escape_viking]:stalker
$spawn 								= "respawn\agr2_respawn_factory"
character_profile 		= escape_viking
spec_rank 						= regular
community 						= stalker
custom_data = scripts\logic_viking.ltx
Все. Создание НПС мы закончили, но теперь нам нужно его заспавнить. Для проверки нашей работы гораздо быстрее и удобней будет сделать спавн через скрипт. Как? Смотрите в этой статье.

#2 Эээ...

    Проводник


  • сообщений 109
  • Пол:Мужчина
  • Город:Эээ...
  • Группировка: Одиночка

Отправлено 05 Август 2009 - 18:28

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

#3 Отшель[НИК]

    СуперСтарожил!


  • сообщений 588
  • Имя:Серега
  • Пол:Мужчина
  • Город:Россия, Свердловская обл., г. Качканар
  • Группировка: Одиночка

Отправлено 05 Август 2009 - 18:33

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

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

Сообщение изменено: Отшель[НИК] (05 Август 2009 - 19:52)


#4 Эээ...

    Проводник


  • сообщений 109
  • Пол:Мужчина
  • Город:Эээ...
  • Группировка: Одиночка

Отправлено 05 Август 2009 - 18:49

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

#5 Эээ...

    Проводник


  • сообщений 109
  • Пол:Мужчина
  • Город:Эээ...
  • Группировка: Одиночка

Отправлено 07 Август 2009 - 10:20

Вот исходник:
http://khabar.ifolder.ru/13440236
Исправьте мои ошибки, чтобы шло на версии 1.0006

#6 Отшель[НИК]

    СуперСтарожил!


  • сообщений 588
  • Имя:Серега
  • Пол:Мужчина
  • Город:Россия, Свердловская обл., г. Качканар
  • Группировка: Одиночка

Отправлено 07 Август 2009 - 11:46

Держи: http://webfile.ru/3824831
То что нашел - исправил.
Сейчас ругается на то, что не может найти модель ворона, которую ты мне не скинул.
Вполне возможно еще остались ошибки. Проверь, если вылетит - то скинь всю геймдату.

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

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

#7 Эээ...

    Проводник


  • сообщений 109
  • Пол:Мужчина
  • Город:Эээ...
  • Группировка: Одиночка

Отправлено 07 Август 2009 - 12:07

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

#8 Уьу

    Вновь прибывший


  • сообщений 2
  • Имя:Maxim
  • Группировка: Ученые

Отправлено 13 Январь 2010 - 17:14

Народ, игра вылетает, без лога.
Может я что-то пропустил?
http://narod.ru/disk...ich777.rar.html :zombie:

Говорю с сидором и уже "Пока сидор!" (срабатывать должна команда) вылетает игра!

Сообщение изменено: Уьу (13 Январь 2010 - 17:19)


#9 Atioz

    Проводник


  • сообщений 113
  • Имя:Unnamed
  • Пол:Мужчина
  • Город:/dev/null/
  • Группировка: Наемники

Отправлено 15 Январь 2010 - 04:47

Лог выложи, нет возможности скачать.

#10 Уьу

    Вновь прибывший


  • сообщений 2
  • Имя:Maxim
  • Группировка: Ученые

Отправлено 15 Январь 2010 - 15:16

Лога нет, просто закрывается игра, без церемоний. :scare:

#11 Atioz

    Проводник


  • сообщений 113
  • Имя:Unnamed
  • Пол:Мужчина
  • Город:/dev/null/
  • Группировка: Наемники

Отправлено 16 Январь 2010 - 01:03

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

#12 Zhekcon

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


  • сообщений 1 418
  • Имя:Жекон
  • Пол:Мужчина
  • Город:Че...
  • Группировка: Плюшкины

Отправлено 15 Февраль 2010 - 13:52

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

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

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

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

Сообщение изменено: Zhekcon (25 Март 2010 - 10:28)

Размещенное изображение


#13 Arist

    Вновь прибывший


  • сообщений 2
  • Имя:Борис
  • Группировка: Одиночка

Отправлено 21 Февраль 2010 - 23:56

Статья,просто супер!Но возникло пара вопросов.1)Как прописать НПСю логику снайпера?2)Как заспавнить НПСя не создавая новый профиль,на базе существуещего?3)Нельзя ли,таким-же простым языком,
написать статью по созданию бюррера или химеры?

#14 J-DOG

    Вновь прибывший


  • сообщений 1
  • Имя:Max
  • Группировка: Долг

Отправлено 01 Май 2010 - 21:14

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

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

Expression : hFile>0
Function : FileDownload
File : E:\stalker\sources\trunk\xrCore\FS.cpp
Line : 106
Description : c:\program files\gsc world publishing\s.t.a.l.k.e.r\gamedata\config\


В чём проблема?

Сообщение изменено: J-DOG (01 Май 2010 - 19:20)


#15 slayer_kch

    СуперСтарожил!


  • сообщений 1 859
  • Имя:Вячеслав
  • Пол:Мужчина
  • Город:НАША РАША KCH
  • Группировка: Призрачные волки

Отправлено 10 Май 2010 - 05:37

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

Далее идём в creatures\spawn_sections_zaton.ltx
Создаём своего НПС

Пример
Далее идём в gameplay\character_desc_zaton.xml
прописываем своего НПС
Пример
Далее идём в gameplay\npc_profile.xml
Пример
далее идём в text\st_characters.xml
Даём имя НПС
Пример
Далее идём в misc\squad_descr_zaton.ltx
Создаём сквад своего НПС
Пример

Далее идём в misc\simulation_objects_props.ltx
Регистрируем свой сквад НПС
Пример

Далее идём в misc\simulation.ltx
Пример

Далее топаем в scripts\zaton\smart
Выбираем любой смарт где должен появится НПС
Прописываем своего НПС и путь к логике НПС
Пример
Далее создаём фаил логики для НПС
Пример
Далее топаем обратно в аллспавн
Создаём smart_terrain для сквада НПС в секциях алл...
Пример


#16 Larry76

    Боевой Кошаг!


  • сообщений 2 876
  • Имя:Валерий
  • Пол:Мужчина
  • Город:Усть-Каман.
  • Группировка: Порождения Зоны

Отправлено 10 Май 2010 - 08:00

slayer_kch, Спасибо,но опять-таки ты привёл пример уже на действующем персонаже.
Скрытый текст

Intel Core Duo 3.0Ghz GT250(512Mb) DDR2-6Gb
Симба ТЧ RС11 +фиксы , Slayer_mod_beta_0.18+свои правки\sigerous mod 1.6
Бесполезно бегать от снайпера - умрёшь уставшим...

#17 slayer_kch

    СуперСтарожил!


  • сообщений 1 859
  • Имя:Вячеслав
  • Пол:Мужчина
  • Город:НАША РАША KCH
  • Группировка: Призрачные волки

Отправлено 10 Май 2010 - 10:23

Larry76,
Бысрее скриптом распаунить твоего НПС
Пример


#18 Larry76

    Боевой Кошаг!


  • сообщений 2 876
  • Имя:Валерий
  • Пол:Мужчина
  • Город:Усть-Каман.
  • Группировка: Порождения Зоны

Отправлено 10 Май 2010 - 13:34

А можно файл way_escape.ltx не трогать???
Скрытый текст

Сообщение изменено: Larry76 (11 Май 2010 - 04:31)

Intel Core Duo 3.0Ghz GT250(512Mb) DDR2-6Gb
Симба ТЧ RС11 +фиксы , Slayer_mod_beta_0.18+свои правки\sigerous mod 1.6
Бесполезно бегать от снайпера - умрёшь уставшим...

#19 Atioz

    Проводник


  • сообщений 113
  • Имя:Unnamed
  • Пол:Мужчина
  • Город:/dev/null/
  • Группировка: Наемники

Отправлено 11 Май 2010 - 00:20

Ребята быстренько все под спойлер" :morning1:
ты где-то не поставил либо скобку либо енд забыл... :angry:

#20 Larry76

    Боевой Кошаг!


  • сообщений 2 876
  • Имя:Валерий
  • Пол:Мужчина
  • Город:Усть-Каман.
  • Группировка: Порождения Зоны

Отправлено 27 Май 2010 - 20:02

Заспавнил НПС через скрипт , взял непися из припяти "pri_a17_military_sergeant_morozov", переименовав его в "esc_a17_military_sergeant_morozov"

Но!! Если в файлах character_desc_escape.xml и npc_profile.xml строку класса пишу как <class>pri_a17_military_sergeant_morozov</class>
То НПС спавнится,но тупо уходит куда глаза глядят.(Припять наверное искать... :crazy: )
если же прописываю <class>esc_a17_military_sergeant_morozov</class> то получаю вылет:
"лог"
Скрытый текст
Что я сделал не так?? :help:

Все-таки у меня получилось!!!
Спасибо nuklia за его совет-
Цитата

Цитата

файл зарегистрировать в gamedata\configs\system.ltx строка - specific_characters_files =

А я файл character_desc_escape.xml" не зарегил,вот и вылетал))))
Но!!! НПС всё равно уходит бродить.Хотя в логике я ему прописал-
"esc_a17_military_sergeant_morozov.ltx"
Скрытый текст
Вопрос- Может ли это из-за того,что я не привязал его к "точкам пути"? Может надо всё равно в файле way_escape.ltx прописать путь состоящий из одной точки р0 и "привязать " НПС к нему??
Intel Core Duo 3.0Ghz GT250(512Mb) DDR2-6Gb
Симба ТЧ RС11 +фиксы , Slayer_mod_beta_0.18+свои правки\sigerous mod 1.6
Бесполезно бегать от снайпера - умрёшь уставшим...





2 посетителей читают эту тему

0 пользователей, 2 гостей, 0 скрытых