Создание Plot-файлов
Что такое Plot-файл
Plot-файл — это система флагов, обозначающих прогресс игрока в игровом мире. Обычно плот-файлы используют, чтоб управлять журналом игрока.
СозданиеPlot-файла
Для начала, создайте новый плот-файл. Откроется окно. Там вы увидите поле Journal Text. Это поле предназначено для текста, который появится в журнале после появления флага. Каждый плот-файл содержит одну единственную тему. Все флаги изменяющие её должны быть указаны в том же плот-файле. К примеру одно из заданий основной компании включает в себя две темы. «Найти священную урну» и «Вылечить эрла Эамона». Каждая тема включает в себя определённое количество флагов. Например тема «Убить монстров» включает в себя следующее флаги:
1)FOUND_VILLAGE: Карл дал вам задание расчистить деревню. Теперь вам надо найти деревню.
2)VILLAGE_FOUND: Вы нашли деревню. Теперь вам надо убить всех монстров в ней.
3)YOUR_LOST: Вы проиграли. Монстров было слишком много. Карл вас подставил. Убейте Карла.
4)YOU_KILL_KARL: Вы убили Карла.
Каждая новая запись в таком плот-файле заменяет предыдущую. Если вы хотите, чтоб записи писались пошагово — создайте подчинённые плот-файлы (Subplot-файлы). Если столбец «Final» в этом флаге установлен как «Yes», то тема журнала перемещается на вкладку завершённых заданий.
Кодекс
Записи кодекса — это специальный вид плот-фалйов, в которых содержится информация про окружающий мир. Если вы хотите превратить обычный плот-файл в кодексовую запись, то в окне “Object Inspector”, в поле ”Entry Type” укажите требуемый вам тип кодекса. Это создаст новую ячейку в кодексе игры. Нельзя удалить ячейки, принадлежащие к основной компании, но в отдельном моде они будут пусты и не будут заполняться. Записи в кодексе про существ будут добавляться при первом убийстве этих существ. Используемые плот-файлы и флаги написаны в столбцах ”CodexPlot” и ”CodexFlag” (столбцы CT и CU) 2DA-файла ”APR_base”. То есть вы должны добавить туда плот-файлы и флаги, касающиеся записи про ваше существо. Если же вы хотите создать ячейку, которая заполняется при активации объекта, то вы должны просто установить переменные ”PLC_CODEX_PLOT” и ”PLC_CODEX_FLAG”.
Выдержки из истории
Если вы хотите, чтоб плот-файл использовался как короткие выдержки из истории при загрузке сохранённой игры, то вам необходимо в поле ”Entry Type” выбрать ”Story Plot”.
Подсказки
Подсказки, появляющиеся при переходе между локациями не являются флагами плот-файлов. Они загружаются наугад из 2DA-файла ”Loadhints”.
Скрипты для плот-файла
Скрипт для плот-файлов выглядит так:
#include "(имя плот-файла)"
#include "wrappers_h"
void main()
{
int flag_value = WR_GetPlotFlag((имя плот-файла большими буквами), FLAG_NAME); //Считываем
WR_SetPlotFlag((имя плот-файла большими буквами), FLAG_NAME, TRUE); //Устанавливаем
}
Маркеры
В игре у НПС над головами и на карте висит знак восклицания. Теперь мы рассмотрим как это сделать. Надо отредактировать свойство ”Plot Giver”. Чтобы его отредактировать надо использовать следующую функцию в скрипте:
SetPlotGiver(oObject, TRUE);
Когда задание будет взято, вам надо будет убрать восклицательный знак. Это можно сделать, если установить значение флага, о том, что задание взято. Далее должен запускаться скрипт, который содержит функцию:
SetPlotGiver(oObject, FALSE);.
Награды
Каждому флагу можно установить награду. Эта награда будет выбираться из списка rewards.xls. При желании вы можете создать свой список с таким же названием.
Он должен выглядеть примерно так:
Column |
Type |
Description |
ID |
int |
Имена предметов |
Label |
string |
Имена предметов |
Copper |
int |
Имена предметов |
Silver |
int |
Имена предметов |
Gold |
int |
Имена предметов |
XP |
int |
Имена предметов |
Item1 |
string |
Имена предметов |
Item2 |
string |
Имена предметов |
Item3 |
string |
Имена предметов |
Item4 |
string |
Имена предметов |
Item5 |
string |
Имена предметов |
Item6 |
string |
Имена предметов |
Bonus Ability |
int |
Имена предметов |
Свойства
Ниже перечислены свойства, которые вы должны заполнить в окне ”Object Inspector”.
GUID |
Уникальный идентификатор для Plot-файлов. |
Journal Image |
Картинка для Plot-файлов. |
Name |
Имя Plot-файла. |
Parent Plot |
Указание на главный, по отношению к этому, Plot-файл. |
Priority |
Приоритет (указывается в целях сортировки). |
Resource Name |
Уникальный идентификатор. |
Script |
Скрипт, обрабатывающий события Plot-файла. |