Форум настоящего Сталкера, фрпг Сталкер, моддинг Сталкер | StalkerMods.ru
Страница 1 из 11
Форум настоящего сталкера » Вселенная S.T.A.L.K.E.R. (серия игр) » Сталкер моды, помощь, разработка » Создаём новых (добавляем новых) NPC в Сталкер Зов Припяти
Создаём новых (добавляем новых) NPC в Сталкер Зов Припяти
Дата: Четверг (19.01.2012) | Время: 12:53 | Сообщение № 1
Ген. Директор



Сообщений: 2134
Награды: 115
Репутация:
Статус:


Группировка в ФРПГ:


Нам нужны следующие файлы:
- \configs\creatures\spawn_sections_zaton.ltx
- \configs\gameplay\npc_profile.ltx
- \Configs\gameplay\charecter_desc_zaton.ltx
- \scripts\db.script
И создадим сами файлы
- \scripts\npc.script
- \configs\sripts\snaiper_lg.ltx

- Для начала создадим нашему неписю логику(( после мы её сможем часто пользоваться).

- Для этого заходим в \configs\sripts\snaiper_lg.ltx
И там вбиваем следующие строки:

[logic]
active = remark1
danger = danger_ignore
anim = desk_idle

[danger_ignore]
ignore_distance = 5

[remark1]
invulnerable = true
no_move = true
meet = meet_guide

[meet_guide]
close_anim = nil
close_victim = nil
far_anim = nil
far_victim = nil
close_distance = 0
far_distance = 0
close_snd_distance = 3
abuse = false
use = {=actor_enemy} false, true
allow_break = false
meet_on_talking = false
meet_on_talking = false

Теперь всё по порядку:
[[logic]– обозночает, что это функция логики
active = remark1- функция его действий
danger = danger_ignore – можно ли рядом достать оружие
anim = desk_idle- анимка, но вроде не влияет

[danger_ignore]
ignore_distance = 5 – на сколько близко можно махать стволом

[remark1]
invulnerable = true - бессмерте. True-бессмертный, false- смертный
no_move = true (будет стоять на месте) или false что б ходил
meet = meet_guide название функции

[meet_guide] сама функция
close_anim = nil- анимка при прощании
close_victim = nil- вроде анимка при встречи
far_anim = nil
far_victim = nil
close_distance = 0
far_distance = 0
close_snd_distance = 3- на каком расстоянии будет слышен звук приветствия
abuse = false- вроде разрешение говорить
use = {=actor_enemy} false, true- ?
allow_break = false- ?
meet_on_talking = false –говорить можно(диалог)
meet_on_talking = false- говорить можно(диалог)

Теперь заходим в \configs\creatures\spawn_sections_zaton.ltx
После

[test_body_5]:stalker
$spawn = "respawn\test_body_5"
;character_profile = zat_a2_stalker_mechanic
community = stalker
;story_id = test_body_5
custom_data = scripts\test_cfg5.ltx

прописываем это:

[snaiper]:stalker
$spawn = "respawn\snaiper"
character_profile = snaiper
spec_rank = master
community = stalker
custom_data = scripts\snaiper_lg.ltx
story_id = stalker_snaiper

где

[snaiper]:stalker название функции

$spawn = "respawn\snaiper"- респавн
character_profile = snaiper
spec_rank = master ранг
community = stalker группировка( здесь роли не играет
custom_data = scripts\snaiper_lg.ltx Логика, которую мы создали
story_id = stalker_snaiper - уникальный ID , не знаю но вроде что-то про квесты

Тепрь заходим в
- \configs\gameplay\npc_profile.ltx
И в самый конец ( перед хмл)пишем


snaiper
snaiper


Должно получиться примерно так:


jup_b6_freedom_stalker_1



snaiper
snaiper




Теперь по порядку:
ID

snaiper - сласс , это типа метки
snaiper- ID
- массив закрыт

Теперь создадим профиль для нашего непися. Заходим в
- \Configs\gameplay\charecter_desc_zaton.ltx
И в самый конец (перед ) прописываем


Дрюня
ui_inGame2_merc_4


Опытный сталкер. Детальная информация отсутствует.

snaiper
stalker
stalker_terrain
characters_voice\human_01\bandit\

40

0

actors\stalker_soldier\stalker_soldier_1


[spawn] \n
wpn_svd \n
ammo_9x39_ap = 1 \n
wpn_beretta \n
ammo_9x19_fmj = 1 \n
grenade_rgd5 = 2 \n
#include "gameplay\character_items.xml"
#include "gameplay\character_food.xml"
#include "gameplay\character_drugs.xml"

#include "gameplay\character_criticals_4.xml"

zat_b215_stalker_guide_start

zat_b215_stalker_guide_leave_zone
zat_b215_stalker_guide_maps
zat_b215_stalker_guide_to_pripyat_no_way
zat_b215_stalker_guide_to_pripyat
zat_b215_stalker_guide_to_jupiter
zat_b215_stalker_guide_to_zaton
zat_b215_stalker_guide_where_to
zat_b215_stalker_guide_about_himself
zat_b215_stalker_guide_about_anomalies
zat_b215_stalker_guide_about_surge

actor_break_dialog


Где:
- ID
Дрюня -имя
ui_inGame2_merc_4- иконка
- иконка на карте
-?
Опытный сталкер. Детальная информация отсутствует. в игре не используется

snaiper сласс типа метка
stalker группировка
stalker_terrain - ?
characters_voice\human_01\bandit\ -голос

40 - ранг( не используется в игре)
Колличество денег. infinitive="1"- бесконечные, infinitive="0"- заканчивающиеся
0 репутация

actors\stalker_soldier\stalker_soldier_1 модель непися


[spawn] \n- вещи в рюкзаке
wpn_svd \n
ammo_9x39_ap = 1 \n
wpn_beretta \n
ammo_9x19_fmj = 1 \n
grenade_rgd5 = 2 \n
#include "gameplay\character_items.xml"- случайный спавн вещей в рюкзаке
#include "gameplay\character_food.xml"
#include "gameplay\character_drugs.xml"

#include "gameplay\character_criticals_4.xml"

zat_b215_stalker_guide_start- диалоги. В нашем случае диалоги лоцмана

zat_b215_stalker_guide_leave_zone
zat_b215_stalker_guide_maps
zat_b215_stalker_guide_to_pripyat_no_way
zat_b215_stalker_guide_to_pripyat
zat_b215_stalker_guide_to_jupiter
zat_b215_stalker_guide_to_zaton
zat_b215_stalker_guide_where_to
zat_b215_stalker_guide_about_himself
zat_b215_stalker_guide_about_anomalies
zat_b215_stalker_guide_about_surge

actor_break_dialog


Теперь создаём скрипт спавна
- \scripts\npc.script
Вбиваем в него

function snaiper ()
if not db.actor:has_info("spawn_snaiper")
then

alife():create("snaiper",vector():set(116.238,2.250,183.199),1165999,316)
db.actor:give_info_po rtion("spawn_snaiper")
end
end

Строчка alife():create("snaiper",vector():set(116.238,2.250,183.199),1165999,316) отвечает за координаты, на которых спавнится объект. В нашем случае- непись. Подробнее о них:
Pos- 116.238,2.250,183.199
Ivid- 1165999
Gvid- 316

Чтобы их получить качаем позишн информер Отсюда
- И последнее- регестрация скрипта в \scripts\db.script
Открываем дБ скрипт. Находим строки

function add_actor( obj )
actor = obj
actor_proxy:net_spawn( obj )
add_obj( obj )
end

И меняем на такие
function add_actor( obj )
actor = obj
actor_proxy:net_spawn( obj )
add_obj( obj )
npc.snaiper()
end


Лишь мертвые дождались конца этой войны
| Страна: RU
Дата: Вторник (07.08.2012) | Время: 15:47 | Сообщение № 2
RES
Рядовой



Сообщений: 11
Награды: 0
Репутация:
Статус:

Извините, а где появляется непись?

http://www.stalkermods.ru/vasiliy-help-anim-350-30.gif
| Страна: UA
Дата: Среда (08.08.2012) | Время: 14:39 | Сообщение № 3
Сержант



Сообщений: 21
Награды: 4
Репутация:
Статус:

У меня вопрос: как работать с векторами x, y, z? Говорят для этого программа есть, чтобы ставить НПС по координатам, по которым ты хочешь.


| Страна: UA
Форум настоящего сталкера » Вселенная S.T.A.L.K.E.R. (серия игр) » Сталкер моды, помощь, разработка » Создаём новых (добавляем новых) NPC в Сталкер Зов Припяти
Страница 1 из 11
Поиск: