* Sb    * Магазин Текущее время: 22 дек 2024, 05:14

Часовой пояс: UTC + 2 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ 1 сообщение ] 
{ VISITS } Просмотры: 3534  Добавили в закладки Добавили в закладки: 0  Подписчиков Подписчиков: 0 
Автор Сообщение
СообщениеДобавлено: 05 мар 2011, 13:46 
Не в сети
Новичок
Новичок
Продвижение:
46.5%
Аватара пользователя

Зарегистрирован: 14 фев 2011, 15:26
В кошельке:
50.00

Сообщения: 93

Откуда: Минск
1) Надо создать наш диалог. Ищем файл stable_dialogs_bar(путь gamedata\config\text\rus) и в конце пищем два диалога примерно вот таких:

<string id="bar_ohran_propusk_0">
<text>Дружище послушай, у меня очень ценная информация для твоего командира, давай как-нибудь договоримся?</text>
</string>
<string id="bar_ohran_propusk_1">
<text>В принципе можно,но услуга за услугу.Дело у меня есть к тебе меченый.У меня клиент есть, хорошо платит но ему нужны только ценные артефакты. Сможешь мне принести артефакт Панцирь?</text>
</string>
<string id="bar_ohran_propusk_2">
<text>Ну ты и ... ладно жди достану тебе панцири, черепаха ты наша.</text>
</string>
<string id="bar_ohran_propusk_3">
<text>Ну ты и жлоб поглядывай за углами вдруг шальная пуля прилетит.</text>
</string>

<string id="bar_friend_propusk_0">
<text>Привет сержант не забыл наш уговор?.</text>
</string>
<string id="bar_friend_propusk_1">
<text>Да помню-помню было такое,долго же ты,а еще меня черепахой называл,а сам... ну ладно принес?.</text>
</string>
<string id="bar_friend_propusk_2">
<text>А как же держи,попотеть пришлось.</text>
</string>
<string id="bar_friend_propusk_3">
<text>Ну в нашем деле не без этого проходи че стоишь.</text>
</string>

Первый называется bar_ohran_propusk, а второй bar_friend_propusk. Учтите все диалоги должны начинаться со слов меченого.
2)Находим файл dialogs_bar(путь gamedata\config\gameplay) и составляем скелет нашего диалога опять же в конце файла:
<dialog id="bar_ohran_propusk">
<phrase_list>
<phrase id="0">
<text>bar_ohran_propusk_0</text>
<next>1</next>
</phrase>
<phrase id="1">
<text>bar_ohran_propusk_1</text>
<next>2</next>
<next>3</next>
</phrase>
<phrase id="2">
<text>bar_ohran_propusk_2</text>
</phrase>
<phrase id="3">
<text>bar_ohran_propusk_3</text>
<action>dialogs.break_dialog</action>
</phrase>
</phrase_list>
</dialog>
<dialog id="bar_friend_propusk">
<phrase_list>
<phrase id="0">
<text>bar_friend_propusk_0</text>
<next>1</next>
</phrase>
<phrase id="1">
<text>bar_friend_propusk_1</text>
<next>2</next>
</phrase>
<phrase id="2">
<text>bar_friend_propusk_2</text>
<next>3</next>
</phrase>
<phrase id="3">
<text>bar_friend_propusk_3</text>
</phrase>
</phrase_list>
</dialog>
Все у нас есть диалог. Вот эта строчка <action>dialogs.break_dialog</action> означает что из скриптового файла
dialogs вызывается функция break_dialog. Т.е. если мы откажемся нести арт Пличко то диалог прерывается.
Все если мы правильно сделали то сохраняем наши изменения.
3) Находим файл character_desc_bar и ищем Пличко(тот что нас не пускает к Воронину) и добавляем ему два диалога:

<actor_dialog>bar_ohran_propusk</actor_dialog>
<actor_dialog>bar_friend_propusk</actor_dialog> - это наши диалоги.
<start_dialog>bar_dolg_base_guard_start</start_dialog>
<actor_dialog>bar_dolg_base_guard_talk</actor_dialog>
<actor_dialog>bar_dolg_base_guard_story</actor_dialog>
<actor_dialog>bar_dolg_base_guard_rules</actor_dialog>
#include "gameplay\character_dialogs.xml"
Сохраняем наши изменения и запускаем игру если мы сделали все правильно то у него появиться два диалога.

Диалог мы сделали, но нам теперь нужно сделать так чтобы он нас пустил к Воронину т.е. приделать Пличко квест.
В папке gameplay есть много файлов таких как info_known_objects,info_l05dark_valley и т.д. Это все инфопоршни игры без них квест не получиться. Нам надо создать свои инфопоршни. Создадим свой файл где будут лежать наши инфопоршни.Я назвал сой файл info_dan_way(не забудь те прописать его в файле system т.е. добавить к остальным файлам с инфопоршними свой файл)
Внутри он будет выглядеть примерно так
<?xml version='1.0' encoding="windows-1251" ?>

<game_information_portions>

<info_portion id="bar_dolg_propusk_start"> это наши инфопоршень №1
<task>bar_dolg_propusk</task> это цель задания которая указывается в game_tasks
</info_portion>

<info_portion id="bar_dolg_propusk_have"></info_portion> это наши инфопоршень №2

<info_portion id="bar_dolg_propusk_done"></info_portion>это наши инфопоршень №3

</game_information_portions>

Дальше открываем game_tasks и после всех инклудов вписываем наш квест

<game_task id="bar_dolg_propusk">
<title>Принести арты Пличко</title>
<objective>
<text>Найти артефакт панцирь</text>
<icon>ui_iconsTotal_artefact</icon>
<infoportion_complete>bar_dolg_propusk_done</infoportion_complete>
</objective>
<objective>
<text>Найти артефакт панцирь</text>
<icon height="50" width="50" x="100" y="50">ui\ui_icons_task</icon>
<function_complete>dan_dialog.bar_dolg_propusk_have</function_complete>
<infoportion_set_complete>bar_dolg_propusk_have</infoportion_set_complete>
</objective>
<objective>
<text>Принести артефакт Пличко</text>
<map_location_type hint="Пличко">blue_location</map_location_type>
<object_story_id>bar_dolg_guard_commander</object_story_id>
<infoportion_complete>bar_dolg_propusk_done</infoportion_complete>
</objective>
</game_task>

Все теперь нам надо добавить инфопоршни в наш диалог, находим dialogs_bar ищем в нем наши диалоги и добавляем инфопоршни;
<dialog id="bar_ohran_propusk">
<dont_has_info>bar_dolg_propusk_start</dont_has_info> это значит что диалог не появиться у Пличко
<dont_has_info>bar_dolg_propusk_have</dont_has_info> если сработали наши инфопоршни т.е. чтобы
<dont_has_info>bar_dolg_propusk_done</dont_has_info> после выполнения задания диалог вновь не появлялся
<phrase_list>
<phrase id="0">
<text>bar_ohran_propusk_0</text>
<next>1</next>
</phrase>
<phrase id="1">
<text>bar_ohran_propusk_1</text>
<next>2</next>
<next>3</next>
</phrase>
<phrase id="2">
<text>bar_ohran_propusk_2</text>
<action>dan_dialog.bar_dolg_propusk_have</action> т.е. будет выполняться функция
<give_info>bar_dolg_propusk_start</give_info> bar_dolg_propusk_have из сриптового файла dan_dialog.
</phrase>
<phrase id="3">
<text>bar_ohran_propusk_3</text>
<give_info>bar_dolg_propusk_start</give_info> информации о получении первого инфопоршня.
<action>dialogs.break_dialog</action>
</phrase>
</phrase_list>
</dialog>

<dialog id="bar_friend_propusk">
<dont_has_info>bar_dolg_propusk_done</dont_has_info> не показывать после получения 3 инфопоршня
<has_info>bar_dolg_propusk_have</has_info> показывать если есть второй инфопоршень
<phrase_list>
<phrase id="0">
<text>bar_friend_propusk_0</text>
<next>1</next>
</phrase>
<phrase id="1">
<text>bar_friend_propusk_1</text>
<next>2</next>
</phrase>
<phrase id="2">
<text>bar_friend_propusk_2</text>
<action>dan_dialog.bar_dolg_propusk_done</action> вызывается функция bar_dolg_propusk_done
<give_info>bar_dolg_propusk_done</give_info> информация о получения 3 инфопоршня задание выполенено
<next>3</next>
</phrase>
<phrase id="3">
<text>bar_friend_propusk_3</text>
<give_info>bar_dolg_base_pass</give_info> это срабатывает инфопоршни о пропуске нас на базу долга.
<give_info>bar_dolg_community_start</give_info>
<give_info>bar_dolg_community_leader</give_info>
</phrase>
</phrase_list>
</dialog>
Теперь нам надо создать свой скриптовой файл и вписать 2 функции. Одна нужна для проверки наличия в инвентаре панциря и соответственно включения инфопоршня bar_dolg_propusk_have. Вторая для передачи Пличко
арта. Например dan_dialog и вписать наши функции.

function bar_dolg_propusk_have(task, objective) эта функция проверяет наличие арта
if db.actor ~= nil then
return db.actor:object("af_armor_3") ~= nil
end
return false
end

function bar_dolg_propusk_done(first_speaker, second_speaker) эта функция отдачи арта Пличко
dialogs.relocate_item_section(second_speaker, "af_armor_3", "out")
second_speaker:set_relation(game_object.friend, first_speaker) эта строчка делает Пличко другом.
end

Ну вот вроде все. Если сделали все правильно, то после того, как принесли арт Пличко, вас свободно пропустят на базу долга.

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
function bar_dolg_propusk_done(first_speaker, second_speaker) эта функция отдачи арта Пличко
dialogs.relocate_item_section(second_speaker, "af_armor_3", "out",)
second_speaker:set_relation(game_object.friend, first_speaker) эта строчка делает Пличко другом.
end

Нашел ошибку в этой функции. После слова "out" стоит запятая. Она здесь совсем не нужна.

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Хммм... С HTML имел дело?
Прислони к стене матрас ))

Файл "bar_dialogs.xml"
...
<phrase id="1"> -- открываем тело фразы
<text>text1</text> -- прописываем, что будет текстом фразы - ссылка на строку
<next>2</next> -- ссылка (идентификатор) на следующую фразу - пишем то, что в её параметре id
</phrase> -- закрыли тело фразы

<phrase id="2"> -- открываем тело фразы, на которую идёт ссылка из первой
<text>text2</text> -- ссылка на строку с текстом этой фразы
</phrase> -- закрыли тело фразы
...

Файл "stable_bar_dialogs.xml"

...
<string id="text1"> -- открываем тело строки
<text>Убейся апстену</text> -- забиваем в неё текст
</string> -- закрываем тело строки

<string id="text2">
<text>Акей , ток матрац давай гони :)</text>
</string>
...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

   Похожие темы   Автор   Ответы   Просмотры   Последнее сообщение 
В этой теме нет новых непрочитанных сообщений. Создание карты в ПДА (ТЕОРИЯ!) "ЗП" [в этом окне]

в форуме База знаний

DiGGeR225

0

4338

05 мар 2011, 13:29

DiGGeR225 Перейти к последнему сообщению [в этом окне]

В этой теме нет новых непрочитанных сообщений. Создание "перемещающихся" аномалий [в этом окне]

в форуме База знаний

KellWearm

0

4133

16 июн 2011, 16:04

KellWearm Перейти к последнему сообщению [в этом окне]

В этой теме нет новых непрочитанных сообщений. Создание новых веток разговоров с сталкерами ТЕОРИЯ! [в этом окне]

в форуме База знаний

DiGGeR225

0

3347

05 мар 2011, 13:54

DiGGeR225 Перейти к последнему сообщению [в этом окне]

В этой теме нет новых непрочитанных сообщений. Создание нового тайника в ЗП через all.spawn (ЗП) [в этом окне]

в форуме База знаний

DiGGeR225

1

5543

22 май 2015, 21:41

Han Viachko Перейти к последнему сообщению [в этом окне]

В этой теме нет новых непрочитанных сообщений. Использование twittera в фотошопе (создание исчезания) [в этом окне]

в форуме База знаний

DAEMONIKPL

0

4344

30 янв 2010, 15:36

DAEMONIKPL Перейти к последнему сообщению [в этом окне]

Часовой пояс: UTC + 2 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
cron

[Мобильная версия]

Создано на основе phpBB® Forum Software © phpBB Group
[ Time : 0.184s | 24 Queries | GZIP : On ]

PlayStation style by HighDefGeek