Создание 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-файла.

Copiryght by games-mp.com. Все права защищены!