Однотипные квесты

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

(Различия между версиями)
Перейти к: навигация, поиск
Версия 19:08, 21 июня 2007 (править)
BAC9-FLCL (Обсуждение | вклад)
(Квесты, работающие через task_manager)
← К предыдущему изменению
Версия 19:15, 21 июня 2007 (править) (отменить)
BAC9-FLCL (Обсуждение | вклад)
(Квесты, работающие через task_manager)
К следующему изменению →
Строка 22: Строка 22:
При получении задания информация об этом прописывается и в PDA, не забываем об этом. Информация добавляется с помощью файла: При получении задания информация об этом прописывается и в PDA, не забываем об этом. Информация добавляется с помощью файла:
-<pre>gamedata/config/gameplay/storyline_info_taskmanager.xml</pre>+<pre>gamedata\config\gameplay\storyline_info_taskmanager.xml</pre>
Описание задания хранится в файле: Описание задания хранится в файле:
-<pre>gamedata/config/text/rus/stable_task_manager.xml</pre>+<pre>gamedata\config\text\rus\stable_task_manager.xml</pre>
Всего существует шесть видов подобных заданий: Всего существует шесть видов подобных заданий:
Строка 39: Строка 39:
Для создания дополнительного квеста у Сидоровича нам понадобятся всего три файла: Для создания дополнительного квеста у Сидоровича нам понадобятся всего три файла:
-<pre>gamedata/config/gameplay/storyline_info_taskmanager.xml+<pre>gamedata\config\gameplay\storyline_info_taskmanager.xml
-gamedata/config/misc/task_manager.ltx+gamedata\config\misc\task_manager.ltx
-gamedata/config/text/rus/stable_task_manager.xml</pre>+gamedata\config\text\rus/stable_task_manager.xml</pre>
Открываем task_manager.ltx, в начале видим длинный список заданий, а уж потом сами задания и условия выполнения к ним. Т.е. cначала идет: Открываем task_manager.ltx, в начале видим длинный список заданий, а уж потом сами задания и условия выполнения к ним. Т.е. cначала идет:
Строка 105: Строка 105:
Не забываем про PDA. В файл: Не забываем про PDA. В файл:
-<pre>gamedata/config/gameplay/storyline_info_taskmanager.xml</pre>+<pre>gamedata\config\gameplay\storyline_info_taskmanager.xml</pre>
Добавляем следующие строки: Добавляем следующие строки:
Строка 115: Строка 115:
Текст на русском для задания нужен? Тогда открываем Текст на русском для задания нужен? Тогда открываем
-<pre>gamedata/config/text/rus/stable_task_manager.xml</pre>+<pre>gamedata\config\text\rus\stable_task_manager.xml</pre>
И туда вгоняем следующие строки: И туда вгоняем следующие строки:

Версия 19:15, 21 июня 2007

Описание

Как известно, при разговоре с некоторыми NPC (Сахаров, Бармен, Сидорович, Лукаш, Волк, Шустрый Долговец, Лысый, Охотник и Осведомитель) появляется ветка «есть ли для меня работа?». В целях упрощения создания однотипных квестов, выдаваемых через эту ветку, разработчики создали следующую схему...

Квесты, работающие через task_manager

Сами задания находятся в конфиге:

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>.

Вот и все, теперь у Сидоровича появился новый квест - "Убить Волка".

Личные инструменты