• Страница 1 из 2
  • 1
  • 2
  • »
Архив - только для чтения
Модератор форума: FAN, V@Dik008  
создаем НОВОГО торговца
# 1
Вторник, 24.06.2008, 18:52:50

Ранг: Новичок
Сообщений: 67
Награды: 4
Репутация: 72 Регистрация: 30.05.2008 Город: Нижний Тагил    

Сейчас мы научимся создавать нового торговца - Петровича:
1.Для начала создадим нового NPC, к которому и привяжем функцию торговли.
Cоздадим описание нашего NPC, для этого в папке gamedata\config\gameplay создадим xml файл, содержащий описание нашего торговца. Назовем его к примеру
Character_unique_by_qwerty111.xml (вообще называть можно как угодно).
В нем пишем:
<?xml version='1.0' encoding="windows-1251"?>

<xml>
<specific_character id="petrovich_trader" team_default = "1">
<name>Петрович</name>
<icon>ui_npc_u_stalker_sv_balon_1</icon>
<map_icon x="1" y="4"></map_icon>
<bio>petrovich_trader</bio>

<class>petrovich_trader</class>
<community>stalker</community>
<money min="100000" max="110000" infinitive="1"></money>
<terrain_sect>stalker_terrain</terrain_sect>

<rank>730</rank>
<reputation>96</reputation>
<visual>actors\svoboda\stalker_sv_balon_1</visual>
<snd_config>characters_voice\human_02\freedom\</snd_config>
<crouch_type>-1</crouch_type>

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

<start_dialog>hello_dialog</start_dialog>
</specific_character>

</xml>

Если вы хотите поменять эти конфиги, то смотрите статью V@dik008 "Редактирование NPC".
За тем прописываем его в npc_profile.xml(gamedata\config\gameplay), т.е под строчкой Новые Профиля пишем:
<character id="petrovich_trader">
<class>petrovich_trader</class>
<specific_character>petrovich_trader</specific_character>
</character>
После этого регистрируем описание нашего торговца в файле gamedata\config\system.ltx
В секцию [profiles] дописываем в конец после запятой Character_unique_by_qwerty111.
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]
Если кому то не понятно можете посмотреть мой файл торговли: http://ifolder.ru/7099016

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

# 2
Среда, 25.06.2008, 03:17:36

Ранг: Охотник
Сообщений: 593
Награды: 12
Репутация: 268 Регистрация: 29.03.2008 Город: Пенза    

Поясню некоторые нюансы:
1.
<specific_character id="petrovich_trader" team_default = "1">
<name>Петрович</name>
<icon>ui_npc_u_stalker_sv_balon_1</icon>
<map_icon x="1" y="4"></map_icon>
<bio>petrovich_trader</bio>

<class>petrovich_trader</class>
<community>stalker</community> -- группировка, которая будет указана при разговоре с ним
<money min="100000" max="110000" infinitive="1"></money> -- деньги, на которые он покупает оружие и все, что принесет на продажу сам игрок
<terrain_sect>stalker_terrain</terrain_sect>

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

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

<start_dialog>hello_dialog</start_dialog>
</specific_character>

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

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

Т.е. дописываем название файла описания торговца (см. в 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. Здесь объяснять ничего не нужно, и так все ясно уже давно wink





Правила форума S.T.A.L.K.E.R. GSC
# 3
Пятница, 27.06.2008, 13:46:21

Ранг: Прибывший
Сообщений: 1622
Награды: 68
Репутация: 1320 Регистрация: 30.03.2008 Город: Евпатория    

блин... не могу найти
function give_wounded_flash(first_speaker,second_speaker)
в escape_dialog.script(gamedata\scripts\)
Подскажите, он в начале или в середине файла?


Администратор сказал "НАДО", модер ответил "ЕСТЬ"
Новости Чернобыльской Зоны Отчуждения [url=http://stalker-gsc.ru/forum/37-351-1]здесь[/url]
Новости спорта на сайте [url=http://stalker-gsc.ru/forum/25-251-1]здесь[/url]
Мальдини - в наших сердцах!!!
# 4
Пятница, 27.06.2008, 17:28:35

Ранг: Новичок
Сообщений: 67
Награды: 4
Репутация: 72 Регистрация: 30.05.2008 Город: Нижний Тагил    

FAN, введи просто give_wounded в поиске, тогда найдешь
# 5
Понедельник, 30.06.2008, 20:17:53

Ранг: Прибывший
Сообщений: 1622
Награды: 68
Репутация: 1320 Регистрация: 30.03.2008 Город: Евпатория    

Полный писец. Ароде зделал всё как есть, так игра вообще перестала запускаться!. Пришлось геймдату сносить


Администратор сказал "НАДО", модер ответил "ЕСТЬ"
Новости Чернобыльской Зоны Отчуждения [url=http://stalker-gsc.ru/forum/37-351-1]здесь[/url]
Новости спорта на сайте [url=http://stalker-gsc.ru/forum/25-251-1]здесь[/url]
Мальдини - в наших сердцах!!!
# 6
Вторник, 01.07.2008, 02:28:22

Ранг: Охотник
Сообщений: 593
Награды: 12
Репутация: 268 Регистрация: 29.03.2008 Город: Пенза    

FAN, надо делать на чистой версии сначала, а потом под моды подгонять. Скачай торговца готового, глянь ,что да как.




Правила форума S.T.A.L.K.E.R. GSC
# 7
Вторник, 01.07.2008, 19:55:05

Ранг: Прибывший
Сообщений: 1622
Награды: 68
Репутация: 1320 Регистрация: 30.03.2008 Город: Евпатория    

V@Dik008, Ни одного мода не было. перед этим распаковал Геймдату через андпакер.


Администратор сказал "НАДО", модер ответил "ЕСТЬ"
Новости Чернобыльской Зоны Отчуждения [url=http://stalker-gsc.ru/forum/37-351-1]здесь[/url]
Новости спорта на сайте [url=http://stalker-gsc.ru/forum/25-251-1]здесь[/url]
Мальдини - в наших сердцах!!!
# 8
Вторник, 01.07.2008, 20:29:01

Ранг: Сталкер
Сообщений: 289
Награды: 19
Репутация: 356 Регистрация: 14.06.2008 Город: Москва    

1? а внешний вид можно изменить?
# 9
Вторник, 01.07.2008, 23:37:24

Ранг: Охотник
Сообщений: 593
Награды: 12
Репутация: 268 Регистрация: 29.03.2008 Город: Пенза    

Quote (V@Dik008)
<visual>actors\svoboda\stalker_sv_balon_1</visual> --модель героя, можно поменять, указав путь другой модели

Ну написано же, можно менять модель, следовательно, визуал.




Правила форума S.T.A.L.K.E.R. GSC
# 10
Пятница, 22.08.2008, 20:22:29

Ранг: Прибывший
Сообщений: 1
Награды: 0
Репутация: 0 Регистрация: 22.08.2008 Город: Каменка    

У меня чё-то,, когда отдаю флешку Сидрычу, сразу вылетает... Чё я сделал нетак???
# 11
Понедельник, 25.08.2008, 18:02:47

Ранг: Разведчик
Сообщений: 160
Награды: 1
Репутация: 25 Регистрация: 06.07.2008 Город: Кривой Рог    

а ЭТ ЧТО получаеться если я тупо скопирую все што написал qwerty111,
то у мну получиться торговец новый да?
И где он будет тусить


Жизнь-это игра,плохо продуманая,но графика офигеная....
# 12
Вторник, 30.09.2008, 19:58:59

Ранг: Прибывший
Сообщений: 10
Награды: 1
Репутация: 12 Регистрация: 15.09.2008 Город: Омск    

Ща буду мастерить biggrin Спасибо за статью tongue


# 13
Понедельник, 10.11.2008, 21:16:00

Ранг: Прибывший
Сообщений: 1
Награды: 0
Репутация: 9 Регистрация: 10.11.2008 Город: Бобруйск    

Полезная инфа!СПС! B)


# 14
Вторник, 23.12.2008, 11:37:47

Ранг: Мастер
Сообщений: 2546
Награды: 237
Репутация: 2302 Регистрация: 11.12.2008 Город: Заполярье    

Полезная инфа. Спасибо модетаторам




-Он счастлив.
-Он мёртв.
# 15
Воскресенье, 04.01.2009, 12:12:27

Ранг: Прибывший
Награды: 2
Репутация: 69 Регистрация: 25.11.2008 Город: Купянск    

У меня тоже когда отдаешь флешку игра вылетает. Чё делать?


Багатого хабара вам сталкеры!!!

Н2О дивиз не наш
Наш С2Н5ОН!!!!!!!

# 16
Среда, 07.01.2009, 21:46:28

Ранг: Прибывший
Сообщений: 7
Награды: 0
Репутация: 2 Регистрация: 16.12.2008 Город: Moskau    

Кто создал,выложите скринов)Интересненько) :D


Служу ДОЛГу!Отдаю ДОЛГ!Умру за ДОЛГ!
# 17
Среда, 18.02.2009, 20:14:22

Ранг: Новичок
Сообщений: 40
Награды: 3
Репутация: 36 Регистрация: 06.02.2009 Город: Дейд-Сити    

У меня не получилось :( :( :'( :'(
# 18
Вторник, 03.03.2009, 10:45:26

Ранг: Мастер
Сообщений: 2546
Награды: 237
Репутация: 2302 Регистрация: 11.12.2008 Город: Заполярье    

:D Да-а-а я его создал......поместил в тоннель на Агропроме........и знаете ничего не вылетало........он у меня артефактами промышлял........ ;) вообщем круть скажу.........полезный материал ;)




-Он счастлив.
-Он мёртв.
# 19
Суббота, 07.03.2009, 15:06:59

Ранг: Новичок
Сообщений: 27
Награды: 0
Репутация: 17 Регистрация: 19.01.2009  

winter stalker что ты написал в escape dialog, или как ты это сделал???

Добавлено (07.03.2009, 15:06:59)
---------------------------------------------
ВНИМАНИЕ, УСТРАНЕНИЕ ВЫЛЕТА!!!
У[size=12] кого игра вылетает при разговоре с сидоровичем (когда пытаешься отдать флешку) перепишите my_spawns.script. После переписывания должно выглядеть так:
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
И тогда у вас будет новый торговец, стоящий возле выхода из бункера Сидоровича!!![color=red]



# 20
Среда, 25.03.2009, 06:07:58

Ранг: Разведчик
Сообщений: 426
Награды: 14
Репутация: 292 Регистрация: 07.06.2008  

Кстати, FAN, некоторые распаковщики(у меня даже оффициальный) файлы неккоректно распаковавают, поэтому и вылет происходит... Советую - сохранить в отдельном месте измененные файлы и папки с ними и снести геймдату и поставить те файлы(посмотри в модах типа АМК, там же не вся геймдата запакована а только часть, вот также и поступай - оставляй изменненные файлы в геймдате, неизмененные удаляй)


  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:
Вверх
Правила чата
Мини-чат
+Мини-чат
0