НПС

Материал из Mod Wiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 19:45, 9 марта 2009 (править)
ScRiPt (Обсуждение | вклад)
(Новая: == Вступление == Я сам ОЧЕНЬ долго и упорно искал эту статью. Спрашивал у друзей, лазил по разным сайтам (...)
← К предыдущему изменению
Текущая версия (16:13, 12 мая 2011) (править) (отменить)
ILdarKOrotkov (Обсуждение | вклад)

 
Строка 123: Строка 123:
А в файле сharacter_desc_escape.xml (gamedata/gameplay) находим нашего уже прописаного НПС и вставляем в секцию <name></name> (у нас в ней написано GENERATE_NAME_bandit) esc_unik_npc А в файле сharacter_desc_escape.xml (gamedata/gameplay) находим нашего уже прописаного НПС и вставляем в секцию <name></name> (у нас в ней написано GENERATE_NAME_bandit) esc_unik_npc
Всё :) Поздравляю) НПС Создан!!! УРА, ТОВАРИЩИ!!! Всё :) Поздравляю) НПС Создан!!! УРА, ТОВАРИЩИ!!!
 +[[Категория:Статьи участников]]

Текущая версия

Содержание

Вступление

Я сам ОЧЕНЬ долго и упорно искал эту статью. Спрашивал у друзей, лазил по разным сайтам (этот портал я облазил наверно раз 100) и вы представляете ГУГЛ!!! САМ ГУГЛ!!! Нашел эту статью только с раза 5 наверное. И, найдя этот материал, я решил поделиться им с вами!! (материал взят с сайта Сталкер-портал.ру)

Необходимые инструменты

Я пользовался очень малым количеством прог: Notepad++ Total Commander DB unpacker И Интернетом)))) Вот и все

Начало работы

Для этого нам понадобятся координаты нужного места, где и будет заспаунен наш 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) добавляем нашего НПС. Код:

 <!-- Escape -->
<character id="escape_trader"> 
<class>Trader</class>
<specific_character>escape_trader</specific_character>
</character>

<character id="esc_unik_npc">
<class>esc_unik_npc</class>
<specific_character>esc_unik_npc</specific_character>
</character> 

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

--------Escape--------------
--------neutrals------------

Создаём секцию. Код:

 [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 

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

 <game_information_portions>
  <info_portion id="storyline_actor_start">
    <task>storyline_eliminate_gunslinger</task> 

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

Код:

 <game_information_portions>
  <info_portion id="storyline_actor_start">
    <task>storyline_eliminate_gunslinger</task>
    <action>esc_unik_npc.esc_unik_npc</action>
  </info_portion> 

Создание снаряжения, иконки и др.

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

<!---------------------------------------esc_unik_npc----------------------------------------------------->
<specific_character id="esc_unik_npc" team_default = "1">
<name>GENERATE_NAME_bandit</name>
<icon>ui_npc_u_stalker_bandit_3</icon>
<bio>esc_wolf_bio</bio>

<class>esc_otbrosi_1</class>
<community>dolg</community> <terrain_sect>stalker_terrain</terrain_sect>

<rank>367</rank>
<reputation>-60</reputation>
<money min="600" max="2000" infinitive="1"/>

<snd_config>characters_voice\human_01\monolith\</snd_config>
<crouch_type>-1</crouch_type>

<visual>actors\bandit\stalker_bandit_3</visual>
<supplies>
[spawn] \n
         wpn_groza \n
ammo_9x39_pab9 \n
#include "gameplay\character_items.xml" \n
#include "gameplay\character_food.xml"
</supplies>

#include "gameplay\character_criticals_3.xml"

#include "gameplay\character_dialogs.xml" 
</specific_character> 

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

Но так же можно добавить нашему НПС диалог) Как добавлять диалоги написано неподалеку) Если хотяте сделать нашему НПС своё имя то в файле stable_bio_name.xml (gamedata/config/text/rus) добавляем: Код:

 <string id="esc_unik_npc">
<text>Факер-мазафакер</text>
</string> 

А в файле сharacter_desc_escape.xml (gamedata/gameplay) находим нашего уже прописаного НПС и вставляем в секцию <name></name> (у нас в ней написано GENERATE_NAME_bandit) esc_unik_npc Всё :) Поздравляю) НПС Создан!!! УРА, ТОВАРИЩИ!!!

Личные инструменты