YEP Quest Journal system

Quest Journal System

@author Yanfly Engine Plugins
@version: 1.01

Источник

Добавляет в игру систему квестового журнала.

Описание параметров плагина

Category Order — В таком порядке в меню будут отображаться следующие категории: доступно, выполнено, не выполнено, все, отмена. Структуру меню можно настроить вручную.

Default: ["available","completed","failed","all"]

Available Text — Как выглядит запись для категории «доступные». Можно использовать текстовые коды, чтобы отображать иконки и/или поменять цвета. %1 —позволит отобразить количество доступных квестов.

Default: \i[192]Available (%1)

Completed Text — Как выглядит запись для категории «завершено». Можно использовать текстовые коды, чтобы отображать иконки и/или поменять цвета. %1 —позволит отобразить количество завершенных квестов.

Default: \i[191]Completed (%1)

Failed Text — Как выглядит запись для категории «проваленные». Можно использовать текстовые коды, чтобы отображать иконки и/или поменять цвета. %1 —позволит отобразить количество проваленных квестов.

Default: \i[194]Failed (%1)

All Text — Как выглядит запись для категории «все». Можно использовать текстовые коды, чтобы отображать иконки и/или поменять цвета. %1 —позволит отобразить количество всех квестов.

Default: \i[189]All Quests (%1)

Cancel Text — Как выглядит запись для опции «Назад». Можно использовать текстовые коды, чтобы отображать иконки и/или поменять цвета. Нет дополнительных опций.

Default: \i[161]Close

Window Settings — Здесь можно настроить различные параметры. Однако имейте в виду, что, если не знакомы с JavaScript, то можете допустить ошибки, из-за которых плагин работать не будет.

Default:
X: 0
Y: 0
Width: Graphics.boxWidth/3
Height: this.fittingHeight(this.numVisibleRows())
Rows: 4
Columns: 1
Line Height: 36
Font Face: GameFont
Font Size: 28
Standard Padding: 18
Text Padding: 6
Text Alignment: left
Standard Opacity: 255
Back Opacity: 192
Window Skin: Window

Инструкция Настройка окна списка заданий

Параметр плагина ‘Quest List Window’ может быть изменен для отображения различных типов квестов. По умолчанию у плагина заданы следующие типы квестов:

Main Quests, Side Quests, Character Quests, and Tutorial Quests. (Основные квесты, побочные квесты, персональные квесты и обучающие квесты.) Вот что нужно знать об Quest List Window.

Show Types — Если этот параметр включен, в Quest List Window будут отображаться различные типы квестов. Если отключено, то типы квестов отображаться не будут, а все квесты будут выводиться без типа квеста в качестве отдельного заголовка.

Default: true

Type Order —порядок для типов в списке квестов, он также позволяет отображать типы, которые будут доступны в журнале квестов. Можно использовать текстовые коды, чтобы добавить иконки и/или цвета к типам квестов. Когда вводите имена типов квестов, можете пропустить коды \i[x] и \c[x], но все остальное должно быть в таким-же.

Default: ["\\c[6]Main Quests","\\c[4]Side Quests","\\c[3]Character Quests",
"\\c[5]Tutorial Quests"]

List Open Symbol — Символ, используемый для отображения открытого списка квестов.

Default: -

List Closed Symbol — Символ, используемый для отображения закрытого списка квестов.

Default: +

Type Text Format — Тип форматирования текста отображает типы квестов в Quest List Window. %1 будет ссылаться на символ открытия/закрытия. %2 название типа квеста. %3 покажет количество квестов, перечисленных под этим типом квестов.

Default: %1%2 (%3)

Quest Indent — Определяет отступ для обычных квестов, если показываются типы квестов. Это должно помочь игрокам отличать названия типов квестов от самих квестов, хотя в этом нет необходимости, если планируете использовать иконки в названии квестов.

Default: 0

Show Empty — Если включено, то будет отображать типы квестов в которых нет квестов.

Default: false

Read Quest — текст команды «Чтение квеста».

Default: \i[121]Read Quest

Cancel — текст команды «Отмена».

Default: \i[16]Cancel

Window Settings — Если хотите настроить окно категорий, тут можно настроить различные параметры. Однако имейте в виду, что, если не знакомы с JavaScript, то можете допустить ошибки, из-за которых плагин работать не будет.

Default:
X: 0
Y: Graphics.boxHeight - height
Width: Graphics.boxWidth/3
Height: Graphics.boxHeight - this.fittingHeight(4)
Line Height: 36
Font Face: GameFont
Font Size: 28
Standard Padding: 18
Text Padding: 6
Standard Opacity: 255
Back Opacity: 192
Type Alignment: left
Quest Alignment: left
Window Skin: Window

Инструкция Настройка окна заголовка квеста

No Quest Title — Если из списка квестов не выбран квест, этот текст будет отображаться в заголовке квеста. Тут можно использовать текстовые коды.

Default: \c[4]Quest Journal

Window Settings — Можно настроить различные параметры окна категорий. Однако имейте в виду, что, если не знакомы с JavaScript, то можете допустить ошибки, из-за которых плагин работать не будет.

X: Graphics.boxWidth - width
Y: 0
Width: Graphics.boxWidth2/3
Height: this.fittingHeight(1)
Line Height: 36
Font Face: GameFont
Font Size: 28
Standard Padding: 18
Text Padding: 6
Text Alignment: center
Standard Opacity: 255
Back Opacity: 192
Window Skin: Window

Инструкция Настройка окна данных квеста

Параметр плагина «Quest Data Window» может быть изменен для отображения различной информации, содержащейся в квесте. Эти данные позволяют понять, что требуется от игрока, для выполнения квеста. Настройки этого окна можно оставить как есть или изменить по шаблону:

No Data Text — Это текст, который будет отображаться в окне данных, когда не выбран ни один квест. Можно использовать текстовые команды.

Default:
Welcome to the \c[4]Quest Journal\c[0].
Here, you can review over the various
quests given to you by people from all
over the world.
Word Wrap Version (Requires YEP_MessageCore.js):
<WordWrap>Welcome to the \c[4]Quest Journal\c[0].
<br>
<br>Here, you can review over the various quests given to you by people from all over the world.

Quest Data Format — Задает параметры отображения данных квеста. Можно использовать различные текстовые коды. %1 будет ссылаться на заголовок без значков или цветовых текстовых кодов. %2 будет ссылаться на уровень сложности квеста. %3 отобразить от кого квест был получен. %4 покажет, из какой квест локации. %5 покажет текущее описание квеста, которое можно поменять в середине квеста. %6 покажет цели квеста. %7 покажет награды. И если есть, %8 покажет подтекст для квеста.

Default:
\{%1\}
\c[4]Level:\c[0] %2
\c[4]From:\c[0] %3
\c[4]Location:\c[0] %4
\c[4]Description:\c[0]
%5
\c[4]Objectives:\c[0]
%6
\c[4]Rewards:\c[0]
%7
%8
Word Wrap Version (Requires YEP_MessageCore.js):
<WordWrap>\{%1\}
<br>\c[4]Level:\c[0] %2
<br>\c[4]From:\c[0] %3
<br>\c[4]Location:\c[0] %4
<br>
<br>\c[4]Description:\c[0]
<br>%5
<br>
<br>\c[4]Objectives:\c[0]
<br>%6
<br>
<br>\c[4]Rewards:\c[0]
<br>%7
<br>
<br>%8

Uncleared Objective — Этот текст отображается для каждой задачи, которая не является ни завершенной, ни неудачной. %1 будет взят текст цели.

Default: \i[160]%1

Completed Objective — Если цель достигнута, то будет выведена в этом формате. %1 будет взят текст цели.

Default: \i[165]%1

Failed Objective — Если цель не достигнута, то будет выведена в этом формате. %1 будет взят текст цели.

Default: \i[162]%1

Unclaimed Reward — Этот текст отображается для каждого предмета вознаграждения, который не достигнут и не провален. %1 будет взят текст вознаграждения.

Default: \i[160]%1

Claimed Reward — Если награда стала доступна, то будет выведена в этом формате. %1 будет взят текст вознаграждения.

Default: \i[163]%1

Denied Reward — Если в награде было отказано, то будет выведена в этом формате. %1 будет взят текст вознаграждения.

Default: \i[161]%1

Load Delay —задержка загрузки данных в кадрах. Это должно предотвратить перегрузку игрового движка.

Default: 30

Window Settings — Если хотите настроить окно категории, то можете изменить эти параметры. Однако имейте в виду, что, если не знакомы с JavaScript, то можете допустить ошибки, из-за которых плагин работать не будет.

X: Graphics.boxWidth - width
Y: Graphics.boxHeight - height
Width: Graphics.boxWidth2/3
Height: Graphics.boxHeight - this.fittingHeight(1)
Line Height: 36
Font Face: GameFont
Font Size: 28
Standard Padding: 18
Text Padding: 6
Standard Opacity: 255
Back Opacity: 192
Window Skin: Window
Scroll Speed: 4

Инструкция Настройка новых квестов

Все квесты необходимо вводить вручную, пресетов нет. Описание параметров:

Title — Это название вашего квеста. Он будет отображаться в трех местах: список квестов, окно заголовка квеста, и, если укажите, в окне данных. Можно использовать текстовые коды, чтобы изменить цвет квеста или задать иконки.

Type — Это тип квеста. Если решите показывать типы квестов в окне списка. В шаблоне есть раскрывающееся окно для нескольких популярных типов квестов, но можно добавить свой собственный. Имейте в виду, что тип чувствителен к регистру и важно правильно ввести название типа. Однако можно добавить любой текстовый код \i[x] или \c[x].

Difficulty — Ни на что не влияет, кроме психики игрока. Просто для обозначения уровня сложности квеста. Здесь можно написать все что угодно.

From — Ни на что не влияет. Но может быть использовано для указания к кому возвращаться после выполнения квеста.

Location — Ни на что не влияет. Но может напомнить игроку в какой локации был взят квест.

Description — Ни на что не влияет. Используется для описания содержания квеста и размышлений о способах его выполнения. Можно создавать несколько описаний. Однако только первое описание будет отображаться по умолчанию. Если необходимо изменить описание, используйте команду плагина:

‘Quest x Change Description Entry To y’ изменить описание квеста х на y (номер этого описания)

Objectives List — Ни на что не влияет, но позволяет структурировать прохождение.

Visible Objectives — Это список целей, которые будут отображаться по умолчанию при добавлении квеста в журнал. Каждый номер относится к идентификатору цели (их порядковой позиции) из параметра плагина «Objectives List».

Rewards List Ни на что не влияет, но позволяет думать, что квест проходится не зря. Список наград должен показать, что игрок получит по завершении квеста. Можно указать несколько наград.

Visible Rewards — Это список из наград, которые будут отображаться по умолчанию, при добавлении квеста в журнал. Каждый номер относится к идентификатору награды (их порядковой позиции) из параметра плагина » Rewards List».

Subtext — Ни на что не влияет. Обычно используется в качестве примечаний к весту, можно ввести любой текст или не использовать вообще. Можно использовать несколько подтекстов, и изменять их в процессе игры.

Диспетчер главного меню — позиционирование команды журнала квестов

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

Name: Yanfly.Param.QuestCmdName
Symbol: quest
Show: $gameSystem.isShowQuest()
Enabled: $gameSystem.isEnableQuest()
Ext:
Main Bind: this.commandQuest.bind(this)
Actor Bind:

Вставьте вышеуказанные настройки в слот диспетчера главного меню. Будет работать при условии, что все скопируете правильно.

Не забудьте отключить «Auto Place Command» в параметре плагина.

Вызов скриптов

Для проверки хода выполнения квеста можно использовать вызов скриптов.

— Управление переменными из вызова скриптов —

$gameSystem.totalQuestsAvailable() — Устанавливает значение переменной числом доступных квестов.

$gameSystem.totalQuestsCompleted() — Устанавливает значение переменной числом выполненных квестов.

$gameSystem.totalQuestsFailed() — Устанавливает значение переменной числом проваленных квестов.

$gameSystem.totalQuestsKnown() — Устанавливает значение переменной общим количеством известных квестов.

$gameSystem.totalQuestsInGame() — Устанавливает значение переменной общим количеством квестов в игре.

$gameSystem.totalQuestTypes(category, type) — Замените ‘category’ обозначением категории ‘available’, ‘completed’, ‘failed’, ‘all’. замените ‘type’ типом квеста (т. е. ‘Main Quests’, ‘Side Quests’, ‘Character Quests’, и т. д.). Включая кавычки категории и типа.

Пример: $gameSystem.totalQuestTypes(‘all’, ‘Main Quests’)

$gameSystem.getQuestDescriptionIndex(questId) — Замените ‘questId’ ID требуемого квеста. Это установит значение переменной, номером описания, используемого в настоящее время.

Пример: $gameSystem.getQuestDescriptionIndex(50)

$gameSystem.totalVisibleQuestObjectives(questId) — Замените ‘questId’ ID требуемого квеста. Это установит значение переменной, количеством текущих целей.

Пример: $gameSystem.totalVisibleQuestObjectives(50)

$gameSystem.totalQuestObjectives(questId) — Замените ‘questId’ ID требуемого квеста. Это установит значение переменной, общим количеством целей квеста.

Пример: $gameSystem.totalQuestObjectives(50)

$gameSystem.totalVisibleQuestRewards(questId) — Замените ‘questId’ ID требуемого квеста. Это установит значение переменной, количеством отображаемых наград.

Пример: $gameSystem.totalVisibleQuestRewards(50)

$gameSystem.totalQuestRewards(questId) — Замените ‘questId’ ID требуемого квеста. Это установит значение переменной, общим количеством наград.

Пример: $gameSystem.totalQuestRewards(50)

$gameSystem.getQuestSubtextIndex(questId) — Замените ‘questId’ ID требуемого квеста. Это установит значение переменной, номером подтекста, используемого в настоящее время.

Пример: $gameSystem.getQuestSubtextIndex(50)

— Вызов скриптов в ветвлении условий —

$gameSystem.isQuestObjectiveCompleted(questId, objectiveId) — Замените ‘questId’ ID требуемого квеста. Замените ‘objectiveId’ ID цели, которую собираетесь проверить. Выполнение функции вернет (true) или (false).

Пример: $gameSystem.isQuestObjectiveCompleted(50, 1)

$gameSystem.isQuestObjectiveFailed(questId, objectiveId) — Замените ‘questId’ ID требуемого квеста. Замените ‘targetId’ на ID цели, которую собираетесь проверить. Выполнение функции вернет (true) или (false).

Пример: $gameSystem.isQuestObjectiveFailed(50, 1)

$gameSystem.isQuestObjectiveUncleared(questId, objectiveId) — Замените ‘questId’ ID требуемого квеста. Замените ‘objectiveId’ на ID цели, которую собираетесь проверить. Выполнение функции вернет (true) или (false).

Пример: $gameSystem.isQuestObjectiveUncleared(50, 1)

$gameSystem.isQuestRewardClaimed(questId, rewardId) — Замените ‘questId’ ID требуемого квеста. Замените ‘rewardId’ на ID награды, которую собираетесь проверить. Выполнение функции вернет (true) или (false).

Пример: $gameSystem.isQuestRewardClaimed(50, 1)

$gameSystem.isQuestRewardDenied(questId, rewardId) — Замените ‘questId’ ID требуемого квеста. Замените ‘rewardId’ на ID награды, которую собираетесь проверить. Выполнение функции вернет (true) или (false).

Пример: $gameSystem.isQuestRewardDenied(50, 1)

$gameSystem.isQuestRewardUnclaimed(questId, rewardId) — Замените ‘questId’ ID требуемого квеста. Замените ‘rewardId’ на ID награды, которую собираетесь проверить. Выполнение функции вернет (true) или (false).

Пример: $gameSystem.isQuestRewardUnclaimed(50, 1)

Команды плагина:

Quest Journal Open — Открывает окно квестового журнала без выбранного квеста.

Quest Journal Open To x — Замените ‘x’ на ID квеста, который хотите открыть. Если игроку не известен квест во время выполнения команды плагинов, то квест будет добавлен в журнал.

Quest Journal Show

Quest Journal Hide — Показать или скрыть опцию Quest Journal из главного меню.

Quest Journal Enable

Quest Journal Disable — Включить или отключить опцию Quest Journal в главном меню.

Quest Add x — Добавляет квест с id «х» в журнал квестов. И отобразит его в окне квестового журнала.

Quest Add x to y — Замените «х» и «у» диапазона ID квестов, для добавления множества квестов.

Quest Add x, x, x — Замените ‘x’ значениями ID квеста.

Quest Remove x — Удалит квест с ID ‘x’ из журнала квестов.

Quest Remove x to y — Замените «x» и «y» диапазона ID квестов, для удаления из журнала квестов.

Quest Remove x, x, x — Заменить «х» ID удаляемого квеста.

Quest Set Completed x

Quest Set Failed x

Quest Set Available x — Замените ‘x’ на ID квеста которому нужно изменить статус на ‘completed’, ‘failed’, или ‘available’.

Quest Set Completed x to y

Quest Set Failed x to y

Quest Set Available x to y — Замените ‘x’ и ‘y’ на диапазон ID квестов которые хотите установить статус ‘completed’, ‘failed’, или ‘available’.

Quest Set Completed x, x, x

Quest Set Failed x, x, x

Quest Set Available x, x, x — Замените ‘x’ на значения ID квестов которым хотите установить статус ‘completed’, ‘failed’, или ‘available’.

Quest x Change Description Entry To y — Замените ‘x’ на ID квеста которому хотите изменить описание. Замените ‘y’ на ID с описанием заменяемого квеста.

Quest x Show Objective y

Quest x Hide Objective y — Замените ‘x’ на ID квеста которому хотите изменить цель. Замените ‘y’ на ID цели, которую хотите сделать видимой/скрытой. Квесты могут показывать несколько целей одновременно.

Quest x Show Objective y to z

Quest x Hide Objective y to z — Замените ‘x’ на ID квеста которому хотите изменить цель. Замените ‘y’ и ‘z’ на ID диапазон целей, которые хотите сделать видимыми/скрытыми. Квесты могут показывать несколько целей одновременно.

Quest x Show Objective y, y, y

Quest x Hide Objective y, y, y — Замените ‘x’ на ID квеста которому хотите изменить цель. Замените ‘y’ на ID цели, которую хотите сделать видимой/скрытой. Квесты могут показывать несколько целей одновременно.

Quest X Show All Objectives

Quest X Hide All Objectives — Замените ‘x’ на ID квеста которому хотите изменить цели. Это покажет/скроет все цели квеста.

Quest x Complete Objective y

Quest x Fail Objective y

Quest x Normalize Objective y — Замените ‘x’ на ID квеста которому хотите изменить цель. Замените ‘y’ на ID цели которой хотите изменить статус. Использование «Complete» пометит цель как выполненную. Использование «Fail» пометит цель как проваленную. Использование «Normalize» установит статус цели как выполненная или не выполненная.

Quest x Complete Objective y to z

Quest x Fail Objective y to z

Quest x Normalize Objective y to z — Замените ‘x’ на ID квеста которому хотите изменить цель. Замените ‘y’ и ‘z’ на диапазон ID целей, которым хотите изменить статус. Использование «Complete» пометит цель как выполненную. Использование «Fail» пометит цель как проваленную. Использование «Normalize» установит статус цели как выполненная или не выполненная.

Quest x Complete Objective y, y, y

Quest x Fail Objective y, y, y

Quest x Normalize Objective y, y, y — Замените ‘x’ на ID квеста которому хотите изменить цель. Замените ‘y’ значениями ID целей, которым хотите изменить статус. Использование «Complete» пометит цель как выполненную. Использование «Fail» пометит цель как проваленную. Использование «Normalize» установит статус цели как выполненная или не выполненная.

Quest x Complete All Objectives

Quest x Fail All Objectives

Quest x Normalize All Objectives — Замените ‘x’ на ID квеста которому хотите изменить цель. Это завершит/провалит/нормализует все цели квеста.

Quest x Show Reward y

Quest x Hide Reward y — Замените ‘x’ на ID квеста хотите которому изменить награду. Замените ‘y’ на ID награды, которую хотите сделать видимой/скрытой. Квесты могут показывать несколько наград одновременно.

Quest x Show Reward y to z

Quest x Hide Reward y to z — Замените ‘x’ на ID квеста которому хотите изменить награду. Замените ‘y’ и ‘z’ на диапазон ID наград, которые хотите сделать видимыми/скрытыми. Квесты могут показать несколько наград одновременно.

Quest x Show Reward y, y, y

Quest x Hide Reward y, y, y — Замените ‘x’ на ID которому квеста хотите изменить награду. Замените ‘y’ на ID награды, которые хотите сделать видимыми/скрытыми. Квесты могут показать несколько наград одновременно.

Quest x Show All Rewards

Quest x Hide All Rewards — Замените ‘x’ на ID квеста которому хотите изменить награды. Это покажет/скроет все награды за квест.

Quest x Claim Reward y

Quest x Deny Reward y

Quest x Normalize Reward y — Замените ‘x’ на ID квеста которому хотите изменить награду. Замените ‘y’ на ID награды которой хотите изменить статус. Использование «Claim» помечает награду как доступную. Использование «Deny» пометит награду как не доступную. Использование «Normalize» установит статус награды как доступная, не доступная.

Quest x Claim Reward y to z

Quest x Deny Reward y to z

Quest x Normalize Reward y to z — Замените ‘x’ на ID квеста которому хотите изменить награду. Замените ‘y’ и ‘z’ на диапазон ID наград, которым хотите изменить статус. Использование «Claim» помечает награду как доступную. Использование «Deny» пометит награду как не доступную. Использование «Normalize» установит статус награды как доступная, не доступная.

Quest x Claim Reward y, y, y

Quest x Deny Reward y, y, y

Quest x Normalize Reward y, y, y — Замените ‘x’ на ID квеста которому хотите изменить награду. Замените ‘y’ на ID награды которой хотите изменить статус. Использование «Claim» помечает награду как доступную. Использование «Deny» пометит награду как не доступную. Использование «Normalize» установит статус награды как доступная, не доступная.

Quest x Claim All Rewards

Quest x Deny All Rewards

Quest x Normalize All Rewards — Замените ‘x’ на ID квеста которому хотите изменить награды. Это задаст статус всех наград на доступно/не доступно/нормальный.

Quest x Change Subtext Entry To y — Замените ‘x’ на ID квеста которому хотите изменить подтекст. Замените ‘y’ на ID подтекста. ‘y’ ID подтекста для квеста ‘x’. Используйте, когда хотите обновить подтекст во время игры.

Инструкция — Lunatic Mode

Параметр плагина «Lunatic Mode» предназначен для пользователей, знакомых с JavaScript. Эти параметры позволяют добавлять дополнительные строки кода к функциям всякий раз, когда соответствующая функция журнала квестов появляется в игре.

Before Create Windows
After Create Windows
Close Quest Menu
---
Quest Add
Quest Remove
Quest Complete
Quest Fail
Quest Available
---
Change Description
---
Show Objective
Hide Objective
Complete Objective
Fail Objective
Normalize Objective
---
Show Reward
Hide Reward
Claim Reward
Deny Reward
Normalize Reward
---
Change Subtext
---

Вот несколько правил:

1. Код будет выполняться для каждого измененного квеста или свойства квеста. Это означает, что, если использовалась команда плагина, которая изменяет группу квестов или свойства одновременно, код будет запускаться несколько раз для каждого квеста или свойства квеста.

2. Код будет выполняться только в том случае, если в квесте или свойстве произошли изменения. Например, если квест уже получил статус ‘Failed’, выполнение команды плагина для повторения статуса «проваленный» этого квеста не приведет к повторному запуску кода Lunatic Mode.

3. Когда задание добавляется первый раз, добавление любых свойств по умолчанию в квесте не вызовет запуск режима Lunatic. Например, если добавляемый квест имеет цели 1 и 2, уже видимые с самого начала, то код Lunatic Mode не будет выполняться для 1 и 2.

Убедитесь, что понимаете принцип работы этих правил, чтобы знать в каких случаях запускается пользовательский код.