→ Модостроение → Модостроение
_715_Murad185 6 сен 2014
[ТЧ] Создание НПС в одной связке с логикой
Всем хай, с вами Dimak-stalker,сегодня я научу вас делать НПС в одной связке в многочисленном числе,но с настройкой логики,потому что некоторые спрашивают куда деваются НПСы.
1. Для начала создадим файл nps.script в папке gamedata\scripts и пишем туда:
--------Escape--------------
--------neutrals------------
Создаём секцию.
P.S. Способ модернезирован XOBAH
Также все НПСы при спавне будут отодвигаться друг от друга на минимальное расстояние чтобв не слипнутся.
1. Для начала создадим файл nps.script в папке gamedata\scripts и пишем туда:
function mp_stop ()
alife():create("mp_stop_stalker",vector():set(-218.20,-20.2,-145.63),35362,47)
alife():create("mp_stop_stalker",vector():set(-218.20,-20.2,-145.63),35362,47)
alife():create("mp_stop_stalker",vector():set(-218.20,-20.2,-145.63),35362,47)
alife():create("mp_stop_stalker",vector():set(-218.20,-20.2,-145.63),35362,47)
alife():create("mp_stop_stalker",vector():set(-218.20,-20.2,-145.63),35362,47)
end
2. Открываем файл npc_profile.xml (в папке gameplay) и добавляем наших НПС:<character id="mp_stop_stalker">
<class>mp_stop_stalker</class>
<specific_character>mp_stop_stalker</specific_character>
</character>
3.Теперь создадим секцию наших НПСов. В файле spawn_section.ltx (gamedata/config/creatures) в блоке:--------Escape--------------
--------neutrals------------
Создаём секцию.
[mp_stop_stalker]:stalker
$spawn = "respawn\mp_stop_stalker"
character_profile = mp_stop_stalker
spec_rank = regular
community = stalker
custom_data = scripts\stop.ltx
4. Далее создаём в gamedata/config папку scripts в в папке создаём файл stop.ltx В наш созданный файл вставляем:[logic]
active = remark1
danger = danger_ignore
[danger_ignore]
ignore_distance = 5
[remark1]
no_move = true
5. Далее вставим строку в файл info_portions.xml (gamedata/cofigs/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>nps.mp_stop</action>
</info_portion>
6. Пропишем личность в файле character_desc_escape.xml (gamedata/cofigs/gameplay): <specific_character id="mp_stop_stalker" team_default = "1">
<name>Стоячий сталкер</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
</supplies>
#include "gameplay\character_criticals_3.xml"
#include "gameplay\character_food.xml"
</specific_character>
Все НПСы будут стоять в Деревне новичков на Кордоне P.S. Способ модернезирован XOBAH
Также все НПСы при спавне будут отодвигаться друг от друга на минимальное расстояние чтобв не слипнутся.
0 2 0
Комментарии (9)
naxac
ответил root1997
Можно. Вместо esc_otbrosi_1 написать generate_name_bandit (или как-то так - посмотри в других характерах). Это генератор имён, он раздаст всем нпс случайные разные имена.
Для добавления комментариев необходимо авторизоваться
Братва
Здесь все по понятиям: отчаянные перестрелки...