Создание НПС Автор : Сталкер 56 Приступим: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Пункт №1 пропись НПС ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ************************************* *************************************
И так вот те файлы которые нам нужны : npc_profile.xml character_desc_zaton.xml
character_desc_****.xml вместо *** название локации в нашем случае character_desc_zaton.xml
эти файлы находятся в дириктории: C:\Program Files\S.T.A.L.K.E.R. - Зов Припяти\gamedata\configs\gameplay\ ************************************* *************************************
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Пункт №1,1 создание НПС ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
открываем файл character_desc_zaton.xml
и в конце файла перед </xml> пишем :
;Чувак ;Это просто коментарий делать их можно для себя чтобы не путаться,перед коментарием обезательно ставим знак ; <specific_character id="new_nps_test" team_default = "1"> ;Айди перса (id должен отличаться от класса)(может быть любым) <name>Чувак</name> ;Имя нпс <icon>ui_inGame2_Soldier_3</icon> ;Иконка нпс (портрет при диалоге) <map_icon x="1" y="0"></map_icon> <bio>Опытный сталкер. Детальная информация отсутствует.</bio> <class>test_nps</class> ;Класс нпс(должен отличаться от айди)(может быть любым) <community>freedom</community> ;группировка нпс (у нас свобода) <terrain_sect>stalker_terrain</terrain_sect> <snd_config>characters_voice\human_02\military\</snd_config> <rank>40</rank> ;Его ранг <money min="5000" max="5000" infinitive="0"/> ;Сколько денег будит у нпс(min.max. ставим одинакывыми) <reputation>0</reputation> ;Его репутация <visual>actors\stalker_soldier\stalker_soldier_3</visual> ;Его визуал <supplies> ;Закрытие секции описание открытие секции SPAWN
[spawn] \n ;Секция SPAWN wpn_abakan = 1, scope \n ;Спавним абакан с прицелом ammo_5.45x39_ap = 1 \n ;Патроны wpn_binoc = 1 \n ;Для прикола бинокль detector_advanced = 1 \n ;Детектор артефактов самой 1 модели
</supplies> ;Закрытие секции спавна открытие секции добавления файлов и диалогов #include
"gameplay\character_food_army.xml" ;Добавляем файл
character_food_army.xml который в папке gameplay заметим что дириктория
начинается с папки configs схема добавления : #include "путь к
файлу\файл с расширением" это нужно для того чтобы каждому нпс по многу
раз непрописывать одно и тоже #include "gameplay\character_drugs_2.xml" ;Добавление файла #include "gameplay\character_drugs_mil.xml" ;Добавление файла <actor_dialog>actor_break_dialog</actor_dialog>
;Добавление диалога (точнее пропись айди диалога схема прописи:
<actor_dialog>айди диалога</actor_dialog>)
</specific_character> ;Завершение прописи НПС
Закрываем файл предвалительно его сохранив
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Пункт №1,2 создание НПС как личность ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Открываем файл npc_profile.xml и в конце перед </xml> пишем :
<character id="new_nps_test"> ;Айди нашего нпс <class>test_nps</class> ;Класс нашего нпс </character> Закрываем файл предвалительно его сохранив Всё пропись НПС закончена идём дальше...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Пункт №2 логика НПС ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ************************************* ************************************* дириктория: C:\Program Files\S.T.A.L.K.E.R. - Зов Припяти\gamedata\configs\scripts\ ************************************* ************************************* Создаём там файл скажем...test_nps_logik.ltx и пишем в него :
[logic] active = remark1 invulnerable = true inv_max_weight = 1 combat_ignore = combat_ignore danger = danger_ignore
[remark1] no_move = true
[danger_ignore] ignore_distance = 5
[meet]
use = true use_wpn = true meet_talk_enabled = true
Тут НПС будет тупо стоять (это логика идет как стандартная) Про логику можно почитать тут http://stalkerin.gameru.net/wiki/index.php/%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B8._%D0%A7%D0%B0%D1%81%D1%82%D1%8C_0
Сейчас мы прописали логику Закрываем файл предвалительно его сохранив
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Пункт №3 спавн НПС ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ************************************* ************************************* файлы : all.spawn После распаковки нам нужен будет файл alife_zaton.ltx Дириктория: C:\Program Files\S.T.A.L.K.E.R. - Зов Припяти\gamedata\spawns\ ************************************* ************************************* Приступим... Распаковываем all.spawn Распаковщик качаем сдесь http://stalkers-clan.3dn.ru/load/zov_pripjati/programmy/raspkovshhik_zapakovshhik_all_spawn/6-1-0-199 Для распаковщика нужна программа ActivePerl 5.8.8 качаем её отсюда http://download.chip.eu/ru/ActivePerl-for-Windows-5.8.8_42267.html И
так после распаковки открываем файл alife_zaton.ltx (Для снятия
кардинат используйте программу Stalkera 56 informer by stalker 56 ссылка
http://smk-team.3dn.ru/load/utility_ot_nashej_komandy/informer_by_stalker_56/1-1-0-6 После пишем туда в конец файла (в самый конец) это:
[1866]
;НОМЕР ОБЪЕКТА КОТОРЫЙ СПАВНИТСЯ. обязательно должени быть следуюшим!
на пример, 1 объект [1] за ним должен быть 2 объект [2] и так далее не
нарушая последовотельности ; cse_abstract properties section_name =
stalker ;что спавним сейчас у нас stalker это сначит что заспавнится
нпс а не мутант или стол или ещё там чтонибудь но это не группировка! name = new_nps_test ;айди нпс position = 124.706726074219,-7.32147789001465,178.627746582031 ;позиция спавна direction = 0.999868869781494,0,0.0161941237747669 ;это куда он смотрит тоесть градус яво поворота
; cse_alife_trader_abstract properties character_profile = new_nps_test ;айди нпс (не класс!)
; cse_alife_object properties game_vertex_id = 316 ;Вертекс игры distance = 0 ;дистанция на сколько метров появится объект от точки спавна level_vertex_id = 1180496 ;вертекс уровня object_flags = 0xfffffffb custom_data = <<END ;кустом дата (Ето логика) [logic] cfg = scripts\test_nps_logik.ltx ;ну вот впринцапи сам файл с логикой (наш файл) и указанный путь к нему [spawn] END
; cse_visual properties visual_name = actors\novice\green_stalker_2
; cse_alife_creature_abstract properties g_team = 0 g_squad = 0 g_group = 0 health = 2 dynamic_out_restrictions = dynamic_in_restrictions =
upd:health = 2 upd:timestamp = 0 upd:creature_flags = 0 upd:position
= 124.706726074219,-7.32147789001465,178.627746582031 ;тут необходимо
повторить позицию(это проверка если она не совпадёт с той что выше то
присвоит позиции вот ето значение) upd:o_model = 0 upd:o_torso = 0,0,0 upd:g_team = 0 upd:g_squad = 0 upd:g_group = 0
; cse_alife_monster_abstract properties
upd:next_game_vertex_id = 65535 upd:prev_game_vertex_id = 65535 upd:distance_from_point = 0 upd:distance_to_point = 0
; cse_alife_human_abstract properties predicate5 = 2,2,1,2,0 predicate4 = 2,2,1,2
; cse_ph_skeleton properties
upd:start_dialog =
; se_stalker properties
После таго как вы это прописали удаляем коментарии (это короче все слова после ; все это удоляем)
Вот впринцапи и всё сохраняем, закрываем файл и запаковываем all.spawn (там может появится all.spawn.new или new.spawn) Кидаем его в папку SPAWNS переименовываем в all.spawn
И пробуем запустить игру поидее наш нпс появится рядом с Бородой и он будет из свободы в армейском бронежелете.
|