..::STALKER.BY::.. http://stalker.by/forum/ |
|
Создание однотипных квестов http://stalker.by/forum/viewtopic.php?f=534&t=447 |
Страница 1 из 1 |
Автор: | Rain [ 01 фев 2010, 17:28 ] |
Заголовок сообщения: | Создание однотипных квестов |
Описание: Как известно, при разговоре с некоторыми NPC (Сахаров, Бармен, Сидорович, Лукаш, Волк, Шустрый Долговец, Лысый, Охотник и Осведомитель) появляется ветка «есть ли для меня работа?». В целях упрощения создания однотипных квестов, выдаваемых через эту ветку, разработчики создали следующую схему... Сами задания находятся в конфиге: Код: gamedata\config\misc\task_manager.ltx Цели квестов и условия их выполнения фиксируются в скрипте: Код: gamedata\scripts\task_manager.script Ветки диалогов, отвечающие за эти задания (например, у Сидоровича) выглядит так: Код: <actor_dialog>tm_trader_dialog</actor_dialog> <actor_dialog>tm_trader_reward</actor_dialog> Где первый actor_dialog – диалог с выдачей задания, а второй - диалог по заданию и получению награды, либо отказа от выполнения оного. Никто нас насильно его выполнять не заставляет. При получении задания информация об этом прописывается и в PDA, не забываем об этом. Информация добавляется с помощью файла: Код: gamedata\config\gameplay\storyline_info_taskmanager.xml Описание задания хранится в файле: Код: gamedata\config\text\rus\stable_task_manager.xml Всего существует шесть видов подобных заданий: Код: * eliminate_lager = уничтожить лагерь * defend_lager = защитить лагерь * kill_stalker = убить сталкер * artefact = найти артефакт * monster_part = найти часть монстра * find_item = найти предмет Создаем квест: Для создания дополнительного квеста у Сидоровича нам понадобятся всего три файла: Код: gamedata\config\gameplay\storyline_info_taskmanager.xml gamedata\config\misc\task_manager.ltx gamedata\config\text\rus\stable_task_manager.xml Открываем task_manager.ltx, в начале видим длинный список заданий, а уж потом сами задания и условия выполнения к ним. Т.е. cначала идет: Код: [...] tm_kill_stalker_5 tm_kill_stalker_6 tm_kill_stalker_7 [...] А затем то, что нам нужно: Код: [...] [tm_kill_stalker_6] type = kill_stalker community = actor text = tm_kill_stalker_6_text description = tm_kill_stalker_6_descr parent = trader target = sim_stalker_novice ;reward_money = 1000 reward_reputation = +3 reward_rank = 2 reward_item = af_vyvert, conserva time = 86400 prior = 1 [tm_kill_stalker_7] type = kill_stalker community = actor text = tm_kill_stalker_7_text description = tm_kill_stalker_7_descr parent = trader target = esc_wolf reward_money = 10000 reward_reputation = +3 reward_rank = 2 reward_item = vodka, conserva time = 86400 prior = 1 [...] Рассмотрим структуру этих записей, заодно создав новую: Код: * [tm_kill_stalker_7] – наше задание * type = kill_stalker – тип задания, в данном случае – убийство сталкера * community = actor – комьюнити, к которому принадлежит выполняющий задание (странный параметр, в игре используется - везде выставлен равным actor'у) * text = tm_kill_stalker_7_text – описание нашего задания в диалоге * description = tm_kill_stalker_7_descr – описание нашего задания в PDA * parent = trader - заказчик * target = esc_wolf – цель, в данном случае мы собираемся грохнуть Волка * reward_money = 10000 – сколько денег нам дадут за выполнение * reward_reputation = +3 – повышение/понижение репутации после выполнения задания * reward_rank = 2 – кличество очков ранга, выдаваемых за выполнение * reward_item = vodka, conserva – предметы, выдаваемые в награду за квест * time = 86400 – время выполнения квеста * prior = 1 – приоритет задания Не забываем про PDA. В файл: Код: gamedata\config\gameplay\storyline_info_taskmanager.xml Добавляем следующие строки: Код: <article id="tm_kill_stalker_7_descr" name="kill_stalker" article_type="task"> <text>tm_kill_stalker_7_descr</text> </article> Текст на русском для задания нужен? Тогда открываем Код: gamedata\config\text\rus\stable_task_manager.xml И туда вгоняем следующие строки: Код: <string id="tm_kill_stalker_7"> <text>Убить Волка</text> </string> <string id="tm_kill_stalker_7_text"> <text>Достал меня Волк! Понимаешь, достал! Ворует у меня водку, понимаешь, потом идет и клянчит деньги на тушенку, потому что новички его не слушают и есть ничего не дают, а вот сойти со своего места и пойти охотится на кабанов, он, видите ли, не хочет, ибо ЛЕНЬ! Грохни его, Меченый, я в долгу не останусь.</text> </string> <string id="tm_kill_stalker_7_descr"> <text>Сидрыч заказал убийство Волка</text> </string> Важно! Эти строки не должны выходить за пределы тегов <string_table> и </string_table>. Вот и все, теперь у Сидоровича появился новый квест - "Убить Волка". Статью создал: Arhet |
Страница 1 из 1 | Часовой пояс: UTC + 2 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |