Форум

Воскресенье, 29.06.2025, 21:50 Приветствую Вас Гость
Главная | Регистрация | Вход | RSS
[ Новые сообщения · Участники · Правила форума · Поиск ]
  • Страница 1 из 1
  • 1
Модератор форума: [Try]DiGGeR225  
Создание однотипных квестов ТЧ
[Try]DiGGeR225Дата: Воскресенье, 05.06.2011, 12:20 | Сообщение # 1
Прибывший
Группа: Администраторы
Сообщений: 501
Награды: 5
Репутация: 4
Статус:
Описание:
Как известно, при разговоре с некоторыми NPC (Сахаров, Бармен, Сидорович, Лукаш, Волк, Шустрый Долговец, Лысый, Охотник и Осведомитель) появляется ветка «есть ли для меня работа?». В целях упрощения создания однотипных квестов, выдаваемых через эту ветку, разработчики создали следующую схему...

Сами задания находятся в конфиге:
Code
gamedata\config\misc\task_manager.ltx

Цели квестов и условия их выполнения фиксируются в скрипте:
Code
gamedata\scripts\task_manager.script

Ветки диалогов, отвечающие за эти задания (например, у Сидоровича) выглядит так:
Code
<actor_dialog>tm_trader_dialog</actor_dialog>
<actor_dialog>tm_trader_reward</actor_dialog>

Где первый actor_dialog – диалог с выдачей задания, а второй - диалог по заданию и получению награды, либо отказа от выполнения оного. Никто нас насильно его выполнять не заставляет.

При получении задания информация об этом прописывается и в PDA, не забываем об этом. Информация добавляется с помощью файла:
Code
gamedata\config\gameplay\storyline_info_taskmanager.xml

Описание задания хранится в файле:
Code
gamedata\config\text\rus\stable_task_manager.xml

Всего существует шесть видов подобных заданий:

Создаем квест:
Для создания дополнительного квеста у Сидоровича нам понадобятся всего три файла:

Открываем task_manager.ltx, в начале видим длинный список заданий, а уж потом сами задания и условия выполнения к ним. Т.е. cначала идет:
Code
[...]
tm_kill_stalker_5
tm_kill_stalker_6
tm_kill_stalker_7
[...]

А затем то, что нам нужно:
Code
[...]
[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
[...]

Рассмотрим структуру этих записей, заодно создав новую:

Не забываем про PDA. В файл:
Code
gamedata\config\gameplay\storyline_info_taskmanager.xml


Добавляем следующие строки:
Code
<article id="tm_kill_stalker_7_descr" name="kill_stalker" article_type="task">
            <text>tm_kill_stalker_7_descr</text>
</article>

Текст на русском для задания нужен? Тогда открываем:
Code
gamedata\config\text\rus\stable_task_manager.xml

И туда вгоняем следующие строки:
Code
   <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>.

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



 
  • Страница 1 из 1
  • 1
Поиск:

Чат доступен только пользователям сайта
Зарегистрироваться

ТОП самых общительных:

[Try]DiGGeR225
Репутация:4
Постов: 501
Файлов: 43
Krendelyok
Репутация:0
Постов: 108
Файлов: 0
Sniper
Репутация:0
Постов: 82
Файлов: 0
Инквизитор
Репутация:0
Постов: 27
Файлов: 0
[K715]
Репутация:0
Постов: 22
Файлов: 0
Конструктор сайтовuCoz