Получить информацию о состоянии конкретного задания, находящегося в журнале заданий аватара.
-- библиотека avatar -- объявление: function GetQuestProgress( questId ) -- параметры questId: QuestId -- идентификатор квеста -- возвращаемые значения: nil или таблица с описанием задания вида: id: QuestId - идентификатор квеста state: number (enum QUEST_XXX) - состояние квеста QUEST_IN_PROGRESS QUEST_READY_TO_RETURN QUEST_COMPLETED QUEST_FAILED timerDurationMs: number (int) / nil - продолжительность таймера (nil если таймер отсуствует или неактивен) timerTimeLeftMs: number (int) / nil - оставшееся время таймера (nil если таймер отсуствует или неактивен) objectives: table of objective - список (индекс с 0) целей квеста. Каждая цель описана объектом objective: name: WString sysDebugName: string - дебажный строковый идентификатор (путь к файлу) progress: number (int) - текущее значение счетчика (например, сколько уже собрано предметов на квест) required: number (int) - целевое значение счетчика (например, сколько надо собрать предметов на квест) isInternal: boolean - счётчик внутренний и вообще не должен быть показан пользователю type: number (enum QUEST_COUNT_...) - тип квестового задания, см. ниже showCounterValue: boolean - нужно показывать пользователю прогресс (цифры progress и required) -- objective type QUEST_COUNT_KILL QUEST_COUNT_ITEM QUEST_COUNT_SPECIAL QUEST_COUNT_HONOR QUEST_COUNT_KILL_AVATAR QUEST_COUNT_MONEY QUEST_COUNT_SHIP_UPGRADE_MONEY QUEST_COUNT_UPGRADABLE_SHIP
Пример:
local progress = avatar.GetQuestProgress( questId ) if progress then common.LogInfo( "Quest Progress: " ) common.LogInfo( " quest.id: "..progress.id ); common.LogInfo( " quest.state: "..progress.state ); local objectives = progress.objectives; for index, objective in objectives do common.LogInfo( " index: "..index ) common.LogInfo( " objective.id: "..objective.id ) common.LogInfo( " objective.name: "..objective.name ) common.LogInfo( " objective.progress: "..objective.progress ) common.LogInfo( " objective.required: "..objective.required ) end end