Мой сайт 
Воскресенье, 19.05.2024, 04:36

Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Категории
Активация артефактов [1]
Альтернативный способ связки локаций [1]
Аномалии не вошедшие в игру [1]
Аномалия на уровне [1]
Время трупов [1]
Вылет при создании карты [1]
Добавление модели [1]
Живой Гордон Фримен [1]
Изменение текстур [1]
Создание телепорта [1]
Создание нового торговца [1]
Освещение [1]
Оформление инвентаря [1]
Вычисление координат [1]
Создание нового и желательно уникального NPC [1]
Сигаретная зависимость [1]
часы на HUD [1]
Библиотека Вырезаных анимаций [1]
Анимации NPC которые вырезали при создании игры

Время

Набор Сталкеров
Гость




СТАЛКЕР!
Пошли со мной
я проведу тебя на базу
но прежде
введи данные о себе
Ввод данных

Войти


Книги
Свинцовый закат

168 руб.

[твердый переплёт]
Воины Зоны

143 руб.


S.T.A.L.K.E.R.

799 руб.

[коллекционное издание]
S.T.A.L.K.E.R.:
Чистое небо

1950 руб.

Коллекционное издание
Охотники на мутантов

143 руб.

[твердый переплёт]
Чистое небо
Спец. коллекционное издание

2175 руб.

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

168 руб.

[твердый переплёт]

Главная » Статьи » Модермейкерство » Создание нового и желательно уникального NPC

Как сделать нового и желательно уникального NPC
Нам понадобятся координаты нужного места, где и будет заспаунен наш NPC.
Возьмём Кордон, лагерь новичков. Можете снять координаты сами,
А можно нажать в консоли rs_stats on
а можете взять мною уже снятые: (-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>

Теперь cоздадим секцию нашего персоонажа. В файле spawn_sections.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>esc_unik_npc</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>
Категория: Создание нового и желательно уникального NPC | Добавил: Geka (15.04.2010)
Просмотров: 4180 | Комментарии: 5 | Рейтинг: 4.2/5
Всего комментариев: 4
4 Возрожденный  
0
Почему номер не отвечает?Ха-ха)А если честно этот способ не работает)))

3 cleabaply  
0
очень интересно, спасибо

2 Geka  
0
Все вопросы в форуме

1 Илья  
-1
А у меня нет файла info_portions.xml, где его взять???

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Музончег

Календарь

Наш опрос
Оцените мой сайт
Всего ответов: 105

Поиск

Друзья сайта
  • Gsc-mod
  • Amk-team
  • Stalker-Portal
  • S.T.A.L.K.E.R. Inside
  • Stalker-earth
  • Полезности на сталкер

  • Статистика

    Зарег. на сайте

    Всего: 49
    Новых за месяц: 0
    Новых за неделю: 0
    Новых вчера: 0
    Новых сегодня: 0


    Жизнь сайта

    Мини-Чат
    500

    Патчи
    S.T.A.L.K.E.R. COP


    S.T.A.L.K.E.R. CS


    S.T.A.L.K.E.R. SOC












                                                                                                    Сборка RaYzeR