Диалоги в ЧН

Материал из Mod Wiki.

Перейти к: навигация, поиск

Как добавить новую ветку диалога с торговцами в ЧН?

У каждого торговца есть свои диалоги; возьмём, например, бармена с базы Чистого Неба. В файле gamedata\configs\gameplay\character_desc_marsh.xml

<specific_character id="mar_csky_barman" team_default = "1"> 
<start_dialog>mar_csky_barman_hello_dialog</start_dialog> 
<actor_dialog>treasure_dialog</actor_dialog> 
</specific_character> 

после treasure_dialog ставишь (главное, с английскими буквами) что хочешь, ну типа barman_pivo.

Теперь создаём новую ветку текста. Создаёшь в папке gamedata\configs\gameplay любой файл (главное, с английскими буквами) в формате ".xml", например, timaxa007_dialogs.xml; в нём пишем

<dialog id="barman_pivo"> 
<phrase_list> 
<phrase id="0"> 
<text>barman_pivo_0</text> 
<next>1</next> 
</phrase> 
<phrase id="1"> 
<text>barman_pivo_1</text> 
<next>2</next> 
<next>4</next> 
</phrase> 
<phrase id="2"> 
<text>barman_pivo_2</text> 
<next>3</next> 
</phrase> 
<phrase id="3"> 
<text>barman_pivo_3</text> 
<next>5</next> 
</phrase> 
<phrase id="5"> 
<text>barman_pivo_5</text> 
<next>6</next> 
</phrase> 
<phrase id="4"> 
<text>barman_pivo_4</text> 
<next>6</next> 
</phrase> 
<phrase id="6"> 
<text>barman_pivo_6</text> 
<action>timaxa007_dialogs.pivo</action> 
</phrase> 
</phrase_list> 
</dialog>

Создаём файл в папке gamedata\configs\text\rus любой файл (главное, с английскими буквами) в формате ".xml", ну типа st_dialog_timaxa_mod, чтобы у нас получился текст: "Эй, Бармен, а у тебя какой-нибудь халявы нет случайно?" – а не "barman_pivo_1" во время игры. В новом файле пишем:

<string id="barman_pivo_0"> 
<text>Эй, Бармен, а у тебя какой-нибудь халявы нет случайно?</text> 
</string> 
<string id="barman_pivo_1"> 
<text>А… Ну… Ты когда-нибудь слышал о сталкере по имени "Spensor"?</text> 
</string> 
<string id="barman_pivo_2"> 
<text>Нет, никогда о нём не слышал… Кто он такой?</text> 
</string> 
<string id="barman_pivo_3"> 

<text>О, Шрам! Это единственный сталкер в Зоне, который помогает другим. Все деньги за хабар отдавал тем, кого бандиты ограбили, угощал здесь бесплатно. Однажды он пришел и оставил у меня все своё снаряжение и деньги. Сказал, если через неделю не вернется, на его имущество угощать сталкеров пивом. Ну вот я и угощаю.</text>

</string> 
<string id="barman_pivo_4"> 
<text>Мне, пофиг… А ну давай поживей сюда пиво неси!</text> 
</string> 
<string id="barman_pivo_5"> 
<text>Да, уважаю таких. Так давай выпьем по кружке пива, за этого сталкера!</text> 
</string> 
<string id="barman_pivo_6"> 
<text>Вот, держи.</text> 
</string> 

А теперь, чтобы он выдал халяву, в папке gamedata\scripts создаём любой файл (главное, с английскими буквами) в формате ".script", ну типа timaxa007_dialogs.script.

function pivo(first_speaker, second_speaker) 
dialogs.relocate_item_section(second_speaker,"pivo", "in") 
end

…и после всего, чтобы заработала ветка текста, надо в файле system.ltx из папки gamedata\configs под конец, где-то на 95 строке дописать:
[dialogs]
files = dialogs, dialogs_marsh, dialogs_escape, dialogs_garbadge, dialogs_darkvalley, dialogs_agroprom, dialogs_yantar, dialogs_redforest, dialogs_military, dialogs_limansk, timaxa007_dialogs

В файле localization.ltx вводим

files = st_dialog_timaxa_mod
Личные инструменты