[27.05.2014] Вопросы ... ( Мастер)
[16.08.2011] N.M.K ( Digefal)
[15.08.2011] Набор мо... ( ☺[Super]Nub4ik☺)
[15.08.2011] Набор ад... ( ☺[Super]Nub4ik☺)
[15.08.2011] Вышел N.... ( ☺[Super]Nub4ik☺)
[14.08.2011] Hud для ... ( ☺[Super]Nub4ik☺)
[13.08.2011] Тип заяв... ( ☺[Super]Nub4ik☺)
[13.08.2011] Тип заяв... ( ☺[Super]Nub4ik☺)
[11.08.2011] Набор ср... ( ☺[Super]Nub4ik☺)
[10.08.2011] N.M.K MP... ( ☺[Super]Nub4ik☺)
[10.08.2011] Звуки ор... ( ☺[Super]Nub4ik☺)
[10.08.2011] Текстуры... ( ☺[Super]Nub4ik☺)
[10.08.2011] Оружие и... ( ☺[Super]Nub4ik☺)
[10.08.2011] Квесты ( ☺[Super]Nub4ik☺)
[10.08.2011] Нпс ( ☺[Super]Nub4ik☺)
    [17.08.2011] HARDWAR ... ( 0)
[17.08.2011] PostScri... ( 0)
[17.08.2011] Old Good... ( 0)
[17.08.2011] Depressi... ( 0)
[17.08.2011] Killers ... ( 0)
[17.08.2011] Graphic ... ( 0)
[17.08.2011] Новая бр... ( 1)
[17.08.2011] S.T.A.L.... ( 0)
[15.08.2011] Чит для ... ( 0)
[15.08.2011] Чит для ... ( 0)
[15.08.2011] Чит для ... ( 0)
[15.08.2011] Чит для ... ( 0)
[15.08.2011] Чит для ... ( 0)
[15.08.2011] Чит для ... ( 0)
[15.08.2011] Читы для... ( 0)
[15.08.2011] Вступлен... ( 0)
[15.08.2011] Изменяем... ( 0)
[15.08.2011] Создание... ( 0)
[15.08.2011] Добавлен... ( 0)
[15.08.2011] Создание... ( 0)
[15.08.2011] Возвраще... ( 0)
[15.08.2011] Обзор от... ( 0)
[13.08.2011] Создаём ... ( 0)
[13.08.2011] Как реда... ( 0)
[13.08.2011] Как сдел... ( 0)
[13.08.2011] Гармошка ( 0)
[13.08.2011] Изменени... ( 0)
[13.08.2011] Невидимы... ( 0)
[13.08.2011] увеличен... ( 0)
[13.08.2011] Как пове... ( 0)
Что хотите увидеть в моде N.M.K V1.0?
Всего ответов: 101
Чтото ваше
Главная » Статьи » Модостроение » Модостроение Тень Чернобыля

Сейчас мы научимся создавать нового торговца - Петровича:
Сейчас мы научимся создавать нового торговца - Петровича:
1.Для начала создадим нового NPC, к которому и привяжем функцию торговли.
Cоздадим описание нашего NPC, для этого в папке gamedata\config\gameplay создадим xml файл, содержащий описание нашего торговца. Назовем его к примеру
character_by_escape.xml (вообще называть можно как угодно).
В нем пишем:




Петрович
ui_npc_u_stalker_sv_balon_1

petrovich_trader

petrovich_trader
stalker

stalker_terrain

730
96
actors\svoboda\stalker_sv_balon_1
characters_voice\human_02\freedom\
-1


[spawn] \n
wpn_sig220 \n
ammo_11.43x23_hydro = 1 \n
wpn_sig550 \n
ammo_5.56x45_ap = 1 \n


hello_dialog




За тем прописываем его в npc_profile.xml(gamedata\config\gameplay), т.е под строчкой Новые Профиля пишем:

petrovich_trader
petrovich_trader

После этого регистрируем описание нашего торговца в файле gamedata\config\system.ltx
В секцию [profiles] дописываем в конец после запятой character_by_escape.
3.Чтобы персонаж появился, нужно его заспавнить, для этого:
В папке gamedata\config\creatures есть замечательный файл spawn_sections.ltx
Будем править его.
Дабы не путаться потом, в самое его начало пишем:

[petrovich_trader_spawn]:stalker_trader
character_profile = petrovich_trader
spec_rank = veteran
community = stalker
use_single_item_rule = off
can_select_items = off
custom_data = scripts\petrovich_trader.ltx
Далее создаем скрипт с названием, например my_spawns.script в папке gamedata\scripts\
Прописываем в него функцию:

function petrovich_trader_spwn1()
local obj
local a = vector() -- Задаем тип переменной
local dir = db.actor:direction()

a.x = -246.51 -- координата X
a.y = -19.52 -- высота Y
a.z = -144.60 -- координата Z

obj = alife():create("petrovich_trader_spawn",a,13193,8,65535)
alife():create_ammo("ammo_9x18_fmj",
obj.position,
obj.m_level_vertex_id,
obj.m_game_vertex_id,
obj.id,
20) -- число патронов, которые будут спавнится при убиистве Петровича
end

Открываем блокнотом escape_dialog.script(gamedata\scripts\) и там в диалоге с Сидоровичем, например, после квеста с флешкой Шустрого,
функция: "function give_wounded_flash(first_speaker,second_speaker)"
(Можно впринципе в любой диалог)
вставляем:

my_spawns.petrovich_trader_spwn1()

вот так будет выглядеть разговор с Сидером:

function give_wounded_flash(first_speaker, second_speaker)
dialogs.relocate_item_section(second_speaker, "esc_wounded_flash", "out")
dialogs.relocate_money(second_speaker, 1500, "in" )
my_spawns.petrovich_trader_spwn1() -- Вызов Петровича
end
Т.е наш персонаж появится только после выполнения задания с флешкой Шустрого, и когда Сидорович выдаст вам деньги за это задание, а торговец появляется по нашим координатам рядом с лагерем новичков.
4.Теперь в папке \gamedata\config\scripts создаем файл petrovich_trader.ltx
Этот файл является проводником к файлу торговли и логикой персонажа.
И в нем пишем:
[logic]
trade = misc\trade_petrovich.ltx
active = remark

[remark]
anim = wait

5.Теперь создаем в папке \gamedata\config\misc файл trade_petrovich.ltx
Это и есть файл торговли.
И в начале пишем:
[trader]
buy_condition = petrovich_generic_buy
sell_condition = petrovich_start_sell
buy_supplies = supplies_start

и потом как у других торговцев,т.е у бармена например [barman_generic_buy], а у нас будет [petrovich_generic_buy]
Если кому то не понятно можете посмотреть мой файл торговли: [Гости не могут видеть ссылки,регистрация не отнимет много времени smile ]

Все, торговец создан.
Спасибо за материал по созданию NPC - Pereiro
За все остальное - участникам форума http://sdk.stalker-game.com/
И лично мне

Поясню некоторые нюансы:
1.

Петрович
ui_npc_u_stalker_sv_balon_1

petrovich_trader

petrovich_trader
stalker -- группировка, которая будет указана при разговоре с ним
-- деньги, на которые он покупает оружие и все, что принесет на продажу сам игрок
stalker_terrain

730
96
actors\svoboda\stalker_sv_balon_1 --модель героя, можно поменять, указав путь другой модели
characters_voice\human_02\freedom\ -- озвучка, тоже можно заменить на другую
-1 --оставлять также, не трогать


[spawn] \n
wpn_sig220 \n
ammo_11.43x23_hydro = 1 \n
wpn_sig550 \n
ammo_5.56x45_ap = 1 \n


hello_dialog


2.
--id указывайте тот, который указан в созданном файле описания торговца (предыдущий пункт), т.е. можно назвать как угодно торговца, но id сохранять в каждом файле
petrovich_trader
petrovich_trader


Quote
В секцию [profiles] дописываем в конец после запятой character_by_escape

Т.е. дописываем название файла описания торговца (см. в 1 пункте)

3.
[petrovich_trader_spawn]:stalker_trader
character_profile = petrovich_trader -- это наш id, который будет использоваться в файлах как ссылка на нашего персонажа, типа, связки
spec_rank = veteran
community = stalker
use_single_item_rule = off
can_select_items = off
custom_data = scripts\petrovich_trader.ltx

Quote (qwerty111)
Далее создаем скрипт с названием, например my_spawns.script в папке gamedata\scripts\

Называйте как угодно, главное потом в файле escape_dialog.script(gamedata\scripts\) укажите в функции function give_wounded_flash(first_speaker,second_speaker) ссылку на ваш скрипт. Например, в указанном здесь my_spawns.petrovich_trader_spwn1() , где my_spawns. - наш созданный скрипт, а petrovich_trader_spwn1() - выполнение функции в этом скрипте.

4.
[logic]
trade = misc\trade_petrovich.ltx --указываем на созданный файл торговца (где и будет находится ассортимент оружия)
active = remark

[remark]
anim = wait

5. Здесь объяснять ничего не нужно, и так все ясно уже давно
Категория: Модостроение Тень Чернобыля | Добавил: ☺[Super]Nub4ik☺ (01.08.2011)
Просмотров: 690
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
   

СТАЛКЕР!
Я всегда рад видеть
еще одну живую душу!
Но я незнаю кто ты?
Регистрация
Вход!
Модостроение Тень Чернобыля [66]
Модостроение Чистое Небо [14]
Модостроение Зов Припяти [19]
Общее [13]
Чтото ваше

В зоне всего: 1
Врагов: 1
Друзей 0

______________________

   









  Хостинг от uCoz