Ну, первое что я могу сказать после беглого осмтра, квэсты теперь запускаются другим образом, т.к ни в одном инфо-конфиге разрабов нет вызова квэста как в ЧН. Надо дальше изучать.
Собственно говоря, квэсты активируются по другому.
Второе: Такс, разрабы теперь прописывают условия квэста в фаиле misc\tm_xxx.ltx
Вот кусок конфигов из свалки, как видно, здесь теперь прописаны и сужетные, смотри:
; Догнать диггера, который пошёл за Клыком
[gar_story_chase_digger]
type = storyline -- Тип квэста
task_type = storyline
icon = ui_mt_image_attack_tower -- Видимо иконка в ПДА
target_cond = true
prior = 3 -- Приоритет квэста
name = gar_story_chase_digger_name -- Название и
text = gar_story_chase_digger_text -- Описание квэста в ПДА
condlist_0 = {+gar_story_got_info_from_digger} complete -- Возможно это и есть --условия активации квэста!!!
target_story_ids = logic@work1, gar_smart_terrain_8_5 -- Какая то цель, прописана логика и имя Смарт-тераина, вобщем надо разбиратся, а это я оставляю на тебя
Потести, и отпишись.
auto_name = false
---ЦИТАТА---
А я все про квесты.... пытаюсь разобраться в струтуре но не выходит..... вот хоть убей не пойму как он активируется... хотя бы взять первый квест "ПОГОВОРИТЬ С БАРМЕНОМ"
ДАВАЙТЕ ВМЕСТЕ РЕШИМ ЭТУ ЗАДАЧУ!
---КОНЕЦ ЦИТАТЫ---
Посмотри скрипты вида lvl_xxx.script,
А лучше посмотри lvl_agroprom_start.script
Там есть функция вида
if level.name() == "agroprom" and not task_manager.get_task_manager().inited_tasks["csky_general_agr_no_task"] then
xr_effects.give_inited_task(nil, nil, {"storyline", "agr_no_task", "csky"})
Если я правильно перевёл, то это значит: Если нет такого квеста (какой то квэст от ЧН), тогда Получить такой то квэст (agr_no_task)
Ты скрипты писать умеешь? Попробуй вызвать квэст вручную, вставив вызов квэста в функцию получения вещей от суслова.
Я щас тоже попробую, отпишусь.
Вот сам кусок функции выдачи квэста:
function give_inited_task(actor, obj, p)
local task_type = p[1]
local target_name = p[2]
local faction_name = p[3]
...
Как вызывать?
xr_effects.give_inited_task(nil, nil, {"storyline", "agr_no_task", "csky"})
Смотри, эта функция предназначена для выдачей квестов из ЛОГИКИ, параметр obj и actor нам не нужны ...task(nil,nil,....)
Дальше надо составлять таблицу, смотри: {"storyline", "agr_no_task", "csky"}
Тоесть: local task_type = p[1] - это значит, что эта переменная будет равна первому значению из таблицы ("storyline" , эта видимо тип квэста указывается,
второе = походу имя квеста (такой квэст есть в папке misc).
Ну а 3 (p[3]) - это видимо кто выдал квэст, наверно влияет на репутацию после выполнения квэста.
Вобщем так, подставил Суслову, и он мне выдал задание на тайник Стрелка
Вобщем всё работает И это учти когда будешь выбирать тип задания, сужетное задание может только одно отображатся в ПДА (Там нет списка сужетных заданий, только текущее)