FOnline
Редактор переменных

Оформление переменных и их использование

Игровые переменные используются для сохранения какой-либо игровой информации. Например, для сохранения информации о состоянии квестов – прошел игрок квест или провалил, выполнил ли какое-либо под-задание или нет, поговорил ли с каким-либо NPC или нет и т.д. При этом игровые переменные сохраняются на сервере и им не страшны ни рестарты, ни прочие неприятности.

Существует три вида игровых переменных:

Для каждой игровой переменной указываются значения шести полей:

Также, для каждой переменной можно установить следующие флаги:
Квестовая
Этот флаг показывает, что текущее значение переменной отражает статус квеста, который показывается у игрока в пип-бое. Строки, описывающие статусы квеста, хранятся в файле FOQUEST.MSG. В нем также описывается схема связывания строк статусов со значениями переменной.
Рандомная
Cтартовым значением будет случайное число между Min и Max.
Без проверки
Не учитываются значения Min, Max.
Все игровые переменные хранятся в файле _vars.fos. Не редактируйте этот файл вручную, это делает редактор.

Выбор названия переменной
Текущий стандарт названия квестовых переменных: q_location_npc_quest

Примеры:

q_den_smitty_boots
q_mod_hose (конкретный квест в данном случае не указан, идет просто ссылка на НПЦ)
q_nr_jessy_jet

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

Выбор номера переменной
Для новой переменной, в принципе, можно выбрать любой свободной номер. Однако, для удобства идентификации, номера должны быть распределены следующим образом:

1...1999 – для глобальных переменных,
2000...2999 – для уникальных переменных,
3000+ – для локальных переменных.

Для локальных переменных принято брать номер, начинающийся на 3000+(Номер локации)*100 (скажем, 4600 для локации №16), но это правило зачастую не используется.

Полезные уникальные переменные
Данные переменные можно, например, использовать в преддиалоговых установках для различных проверок и отсылки к нужным вариантам. В скобках указан номер переменной.

Название Номер Описание
last_dialog 2020 Номер последнего диалога с НПЦ.
loyality 2010 Используется для того, чтобы определить отношение НПЦ к Игроку, которое сложилось у него в последствии разговора с Игроком. 5 - это средняя лояльность. 0 - НПЦ к Игроку наименее лоялен. 10 - наиболее. Не обязательно задействовать в диалоге все 11 состояний переменной. Можно ввести, к примеру, проверку только на <3 и >7 или <5 и >5, а можно и все 11 расписать.
name_mem_npc_player 2015 Используется для того, чтобы определить знает ли НПЦ о имени Игрока или нет. Если 0, то нет.
name_mem_player_npc 2016 Используется для того, чтобы определить знает ли Игрок о имени НПЦ или нет. Если 0, то нет.
click_count 2020 Счетчик щелчков по НПЦ со всплывающими фразами вместо диалога. Скажем, на 30-ый клик НПЦ может разозлиться или сказать шутку. Переменная не имеет границ, поэтому на деле ее можно использовать для счета чего угодно.
Converted from CHM to HTML with chm2web Pro 2.85 (unicode)