Диалоги в ЧН
Материал из 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