FOnline: FOnline SDK Documentation

FOnline
  • Титульная страница
  • Описания
  • Группы
  • Классы
FOnline SDK Documentation

Учебник

Справочник

Актуальность документации: ревизия №396 SDK.
Об ошибках в документации сообщайте в этой теме: http://www.fonline.ru/forum/threads/2991/

Другие форматы:

  • Microsoft Compiled HTML Help (.chm)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Учебник

  • Группы
  • Классы
Учебник

Подразделы:

Описание

GUI сервера

Термины

Инструментарий

Базовые команды серверу

Скрипты

Контент

Картография

Диалогописание

Пособия

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Описание

  • Учебник
Описание
Необходимо сделать:
Дать более развернутое описание.

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

При разработке использованы следующие библиотеки и технологии:

  • AngelScript (AngelCode Scripting Library);
  • WinSock;
  • Zlib, Minizip;
  • OggVorbis;
  • DirectX components (3D, Sound, Input).
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: GUI сервера

  • Учебник
GUI сервера
  1. Область лога
    • В данной области отображается служебная информация о работе сервера и запущенных скриптах, необходима для отслеживания правильности функционирования сервера.
  2. Краткая статистика работы сервера
    • Игровое время и ускорение времени сервера
    • Количество соединений с сервером
    • Количество игроков находящихся в игре (в том числе и те игроки, с кем было разорвано соединение, но не вышедшие из игры)
    • Количество NPC
    • Количество локаций и карт
    • Количество предметов
    • Количество игровых переменных
    • Количество сохраненных массивов AnyData
    • Количество установленных временных событий
    • Количество циклов выполняемых в секунду (сервер за один цикл обрабатывает только 1 запрос от клиента)
    • Время цикла
    • Объем отправленных сервером данных
    • Объем принятых сервером данных
    • Среднее значение уровня сжатия.
  3. Кнопки управления
    • Отправляет подключенным клиентам клиентские скрипты (может понадобится при обновлении скриптов клиента)
    • Сохраняет игровой мир игнорируя стандартное расписание
    • Сохраняет лог сервера в файл
    • Сохраняет в файл содержимое области статистики
    • Сохраняет дамп памяти
  4. Кнопки статистики
    • Статистика использования памяти
    • Статистика Игроков, находящихся на сервере в данный момент
    • Информация о картах и локациях
    • Сохраненные временные события
    • Показывает сохраненные на сервере массивы AnyData
    • Статистика по предметам в игре.
  5. Дополнительные опции для областей лога и статистики
    • При включенном значении область статистики (7) обновляется каждую секунду
    • Включает ведение лога
    • Включает ведение лога со временем
    • Включает ведение лога с потоками
    • Вывод в лог сообщений скриптов (при использовании в скриптах функции void Log(string)).
  6. Кнопка запуска и остановки сервера.
  7. Область статистики.
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Термины

  • Учебник
Термины
Необходимо сделать:
Добавить больше терминов.

AngelScript

Скриптовая бибилиотека.
Homepage: http://www.angelcode.com/angelscript/
Manual: http://www.angelcode.com/angelscript/sdk/docs/manual/index.html

Персонаж

Или криттер. Игровой персонаж, управляемый человеком (Игрок) или компьютером (НПЦ).

Игрок

Игровой персонаж, управляемый человеком.

НПЦ

Игровой персонаж, управляемый компьютером.

Предмет

Или итем. Динамический игровой предмет.
Создается в виде отдельной копии, которая хранит в себе индивидуальные данные. Может перемещаться в мире. После генерации мира их изменения в маппере никак не повлияют в игре. Клиенту данные отсылаются только по мере необходимости.

Сценери

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

Объект

Персонаж или Предмет или Сценери.

Тайл

Тайл. Не имеет прототипа, хранится в виде картинки, в папке tiles. Не может быть анимированным.

Гекс

Гекс. Условное разделение минимального игрового расстояния на локальной карте.

Карта

Игровая локальная карта. Входит в состав локации.

Глобальная карта

Игровая глобальная карта. Состояние игры в котором игроки могут перемещаться между локациями. Минимальное расстояние - 1 пиксель.

Строка ссылка на функцию

Представляет из себя текстовую строку в которой содержится имя требуемой функции.
Для указания функции в том же модуле, где требуется передать ссылку, указывать имя модуля не обязательно.
Модуль и имя должны быть разделены знаком "@".
Допускаются пробелы между именами и разделителем.
Для передачи ссылки на функцию в динамической библиотеке необходимо добавить к модулю расширение ".dll".

Массив

Именованный набор однотипных данных, доступ к которым осуществляется по индексу.

Лексема

Часть строки предназначенная для замены другим текстом в процессе выполнения скриптов.
Лексемы записываются в виде: @lex lexem_name@ .

Сумка

Инвентарь НПЦ. Может создаваться двумя способами:

  1. Через маппер, помещая предметы вручную в инвентарь каждому NPC.
  2. Прописывая содержание инвентаря в файле "Bags.cfg" (.cfg), а затем присваивая в маппере/скриптом NPC параметр ST_BAG_ID, который означает номер сумки из этого файла.
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Инструментарий

  • Учебник
Инструментарий

Маппер

Программа для создания игровых карт.
Имя исполняемого файла: "Mapper.exe".

Для загрузки карты введите в консоли "~&lt;map name&gt;".
Для сохранения "^&lt;map name&gt; [/text] [/nopack]". "/text" - для сохранения в текстовом формате, "/nopack" - для сохранения без запаковки.

Другие команды "*":

new создание новой карты;
unload выгрузка текущей карты;
scripts перезагрузка скриптов;
size &lt;w&gt; &lt;h&gt; установка новых размеров карты;
dupl поиск итемов, которые стоят на одном гексе и имеют одинаковый номер прототипа;
scroll поиск скроллблокеров, вокруг которых меньше двух скроллблокеров;
pidpos &lt;pid&gt; поиск всех позиций для данного номера прототипа;
hex &lt;hx&gt; &lt;hy&gt; поиск всех обектов стоящих на заданном гексе.

Для выполнения скриптовой функции используйте "#", спецификация функции: "string FuncName(string)", аргумент - это передаваемая строка из консоли, а результат будет выведен в окне сообщений. Модуль по умолчанию "mapper_main", для вызова из других модулей допишите его перед функцией с разделителем "@" (пример "#module@MyFunc").
Пример:

консоль "#MyFunc Hello wo";
скрипт "string MyFunc(string my) { return my + "rld!"; }";
результат в окне сообщений "Result: Hello world!".

Папка скриптов: "\data\scripts\".
Список подгружаемых скриптов находится в scripts.lst.
Главный скрипт - mapper_main.fos, он содержит зарезервированные функции, а так же справку по API скриптов маппера.

Маппер не поддерживает форматы F1, F2 и старые форматы карт FOnline.

Сверху галавной панели, находится область кнопок объектов, которые сгруппированы по типам.
Ниже этих кнопок находится панель видимости объектов на карте.
Справа находятся кнопки включения выделения объектов на карте.

Дополнительные кнопки:
Fast - отображает часто используемые объекты.
Ign - Ignore, показывает игнорируемые объекты, которые не отрисовываются на карте.
Inv - Inventory, показывает инвентарь криттера или контейнера.
Lst - List, показывает загруженные карты, между которыми можно переключаться.

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

Для добавления/удаления объекта в игнор лист - зажмите контрол и кликните на нем (в панели выбора объектов) левой кнопкой мыши.
Для добавления/удаления объекта в инвентарь - зажмите альт и кликните на нем (в панели выбора объектов) левой кнопкой мыши.
Для установки криттеру итема в слот - зажмите Shift и выберите нужный итем у него в инвентаре.

Для того, чтобы присвоить значение группе однородных объектов (по типу объекта) включите функцию To All нажав одноименную кнопку в панели редактирования объекта.

Для удаления объекта(-ов) выберите их и нажмите клавишу Del.

Для изменения направления криттеров используйте среднюю кнопку мыши.

Для добавления в выделение объектов удерживайте Ctrl.

Для изменения масштаба карты воспользуйтесь колесиком мыши.

Для ускорения пролистывания зажмите следующую клавишу (без зажатия - 1):
Shift - одна страница,
Ctrl - 100 элементов,
Alt - 1000 элементов.

Для воспроизведения анимаций криттеров используйте команду '@', после которой вводите нужные индексы анимаций для проигрывания, в порядке очереди. Например, для проигрывания анимации передвижения, а потом анимации использования введите "@abal" (регистр не важен, пробелы игнорируются). Анимации проиграются у тех криттеров, которые выделены, а если ничего не выделено, то проиграется у всех криттеров на карте. Подробнее о индексах анимации читайте здесь http://sampo.ru/~chipset/critter_dat_format.htm .

Для передвижения криттера зажмите Shift и выберите точку назначения, для бега кликните еще раз.

Горячие клавиши:

F1: Вкл./Выкл. отображение итемов.\n
F2: Вкл./Выкл. отображение сценери.\n
F3: Вкл./Выкл. отображение стен.\n
F4: Вкл./Выкл. отображение криттеров.\n
F5: Вкл./Выкл. отображение тайлов.\n
F6: Вкл./Выкл. отображение часто используемых объектов.\n
F7: Скрыть/Показать главную панель.\n
Shift + F7: Вкл./Выкл. фиксацию главной панели (по умолчанию включено).\n
F8: Вкл./Выкл. скролл мышкой.\n
F9: Скрыть/Показать панель редактирования объекта.\n
Shift + F9: Вкл./Выкл. фиксацию панели редактирования объекта (по умолчанию выключено).\n
F10: Вкл./Выкл. гексовую сетку.\n
F11: Вкл./Выкл. дождь.\n
Shift + Escape: Выход из редактора.\n
Del: Удалить выбранные объекты.\n
Ctrl + X: Вырезать объекты.\n
Ctrl + C: Копировать объекты.\n
Ctrl + V: Вставить объекты.\n
Ctrl + A: Выделить все.\n
Ctrl + S: Вкл./Выкл. режим ограничения скролла.\n
Ctrl + B: Показать непроходимые гексы. Красные - непроходимые, непростреливаемые. Зеленые - непроходимые, простреливаемые.\n
Ctrl + M: Вывести информацию по настройкам НПЦ над их головами.\n
Ctrl + L: Сохранить текущий лог в txt файл.\n
Ctrl + Q: Просмотр типов углов (corners).\n
Ctrl + W: Просмотр результата нарезки спрайтов, их привязка к гексам.\n
Ctrl + E: Просмотр порядка отрисовки спрайтов.\n
Tab: Изменить тип выделения объектов (прямоугольник или ромб).\n
+: Увеличить время на 1 час (с зажатым Shift на 1 минуту).\n
-: Уменьшить время на 1 час (с зажатым Shift на 1 минуту).\n

Соглашения о номерах точек входа:

0 - по умолчанию;\n
240 - стартовая позиция игрока первый раз зашедшего в игру;\n
241 - позиция старта у карт с флагом NoLogOff;\n
242 - репликация;\n
243 - машины;\n
245 - вертиберд;\n
246 - лодки.

Компилятор скриптов

Программа предназначена для проверки корректности написанных скриптов.
Имя исполняемого файла: "ASCompiler.exe".
Он может использоваться из командной строки или интегрироваться в различные IDE (примеры интеграции описаны в папке с компилятором).

Редактор диалогов

Программа для написания игровых диалогов.
Имя исполняемого файла: "DialogEditor.exe".
Для работы необходима установка dotNET Framework.

Необходимо сделать:
Описать Редактор диалогов.

Редактор объектов

Программа для работы с прототипами сценери, предметов.
Имя исполняемого файла: "ObjectEditor.exe".
Для работы необходима установка dotNET Framework.

Необходимо сделать:
Описать Редактор объектов.

Редактор крафта

Программа для работы с крафтом.
Имя исполняемого файла: "MrFixit.exe".
Для работы необходима установка dotNET Framework.

Необходимо сделать:
Описать Редактор крафта.

Программа автообновления контента

Программа для синхронизации игрового контента между сервером и клиентом.
Имя исполняемого файла: сервер "UpdaterServer.exe", клиент "Updater.exe".

Список обновляемых файлов заносится в файл UpdateFiles.lst, а сами файлы копируются в папку Update, с соблюдением иерархии папок.
При запуске сервера он кеширует в памяти файлы. Перед запуском можно изменить номер порта (Listen port).

Активные элементы:
Поле Listen port - порт для работы программы;
Кнопка Start/Stop listen - начать/закончить обслуживание клиентов;
Кнопка Refresh files - обновить список файлов из UpdateFiles.lst и закешировать их вновь;
Поле Current - сколько клиентов обслуживается в настоящий момент;
Поле Success - сколько клиентов обслужено успешно;
Поле Fail - сколько клиентов обслужено с ошибкой;
Поле All - сумма Current, Success, Fail;
Верхняя часть - лог работы с клиентами;
Нижняя часть - список файлов и их контрольная сумма или указание, что файл не найден.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Базовые команды серверу

  • Учебник
Базовые команды серверу

Общая информация

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

Для запуска команды перед ней должен стоять знак "~" (тильда). Так же возможен вызов команды по номеру, для этого наберите два данных знака, а затем номер команды.
После отправки команды на выполнение сервер ответит вам о результате выполнения операции.

Список команд

1. exit
Уровень доступа: любой.
Выход из игры.
2. myinfo
Уровень доступа: любой.
Запрос отображения некоторой информации о текущем персонаже - идентификатор, имя, пароль, уровень доступа.
3. gameinfo <type>
Уровень доступа: модератор.
Запрос отображения информации об игре, где тип запрашиваемой информации (type) может быть следующим:
  • 0) статистика использования памяти;
  • 1) сводка по текущим игрокам в игре;
  • 2) статистика локаций и карт;
  • 3) текущие временные события;
  • 4) текущее состояние данных AnyData;
  • 5) статистика предметов в игре;
4. id <name>
Уровень доступа: модератор.
Запрос идентификатора криттера по его имени (name).
Прим.
На данный момент не активна.
5. movecrit <id> <hx> <hy>
Уровень доступа: модератор.
Передвинуть персонажа (id) в определенный гекс (hx, hy).
6. kill <id>
Уровень доступа: модератор.
Убить персонажа (id).
7. disconnect <id>
Уровень доступа: модератор.
Отсоединить персонажа (id) от сервера.
8. toglobal
Уровень доступа: тестер.
Выйти текущим персонажем на глобальную карту.
9. respawn <id>
Уровень доступа: модератор.
Воскресить персонажа (id). Если id равен 0, то значит воскресить текущего персонажа.
10. param <type> <num> <value>
Уровень доступа: тестер.
Изменить параметр у текущего персонажа.
type должен быть равен нулю, num номеру параметра, value его новому значению.
11. getaccess <access name> <access password>
Уровень доступа: любой.
Изменить уровень доступа.
access name - имя доступа (client, tester, moder, admin).
access password - пароль доступа.
12. crash
Уровень доступа: имплементор.
Уронить серверное приложение.
13. additem <hx> <hy> <pid> <count>
Уровень доступа: модератор.
Добавить предмет (pid, count) на определенный гекс (hx, hy).
14. additemself, ais <pid> <count>
Уровень доступа: модератор.
Добавить предмет (pid, count) в инвентарь.
15. addnpc <hx> <hy> <dir> <pid>
Уровень доступа: модератор.
Добавить НПЦ (pid, dir) на определенный гекс (hx, hy).
16. addloc <wx> <wy> <pid>
Уровень доступа: модератор.
Добавить локацию (pid) в определенную точку (wx, wy) на глобальной карте.
17. reloadscripts
Уровень доступа: администратор.
Перезагрузить все серверные скрипты.
18. loadscript, load <script name>
Уровень доступа: администратор.
Загрузить или перезагрузить определенный серверный скрипт (script name).
19. reloadclientscripts, rcs
Уровень доступа: администратор.
Перезагрузить клиентские скрипты.
20. runscript, run <module name> <func name> <param0> <param1> <param2>
Уровень доступа: администратор.
Запустить специальную серверную функцию (module name, func name), с определенными параметрами (param0, param1, param2).
21. reloadlocations
Уровень доступа: администратор.
Перезагрузить прототипы локаций.
22. loadlocation <pid>
Уровень доступа: администратор.
Загрузить определенный прототип (pid) локации.
23. reloadmaps
Уровень доступа: администратор.
Перезагрузить прототипы карт.
24. loadmap <pid>
Уровень доступа: администратор.
Загрузить определенный прототип (pid) карты.
25. regenmap
Уровень доступа: администратор.
Перегенерировать карту на которой в текущий момент находится персонаж.
Прим.
На данный момент работает со сбоями.
26. reloaddialogs
Уровень доступа: администратор.
Перезагрузить все диалоги.
27. loaddialog <dialog name> <dialog id>
Уровень доступа: администратор.
Загрузить определенный диалог (dialog name), под определенным идентификатором (dialog id).
28. reloadtexts
Уровень доступа: администратор.
Перезагрузить все MSG файлы.
29. reloadai
Уровень доступа: администратор.
Перезагрузить сумки НПЦ (Bags.cfg).
30. checkvar, cvar <tid var> <master is npc> <master id> <slave id> <full_info>
Уровень доступа: модератор.
Проверить состояние определенной игровой переменной.
tid var - номер переменной;
master is npc - является ли master id от НПЦ, 0 - нет, остальное - да. Если да, то к master id автоматически добавляется 5kk, т.к. индексация НПЦ начинается с этого числа;
master id - первичный идентификатор;
slave id - вторичный идентификатор;
full_info - выводить ли полную информацию по переменной, 0 - нет, остальное - да.
31. setvar, svar <tid var> <master is npc> <master id> <slave id> <value>
Уровень доступа: модератор.
Установить состояние определенной игровой переменной.
tid var - номер переменной;
master is npc - является ли master id от НПЦ, 0 - нет, остальное - да. Если да, то к master id автоматически добавляется 5kk, т.к. индексация НПЦ начинается с этого числа;
master id - первичный идентификатор;
slave id - вторичный идентификатор;
value - новое значение переменной.
32. settime <tmul> <year> <month> <day> <hour> <minute> <second>
Уровень доступа: администратор.
Изменить игровое время.
tmul - ускорение времени, 0 - не менять;
year - год, 0 - не менять;
month - месяц, 0 - не менять;
day - день, 0 - не менять;
hour - час;
minute - минута;
second - секунда;
33. ban <add,add+,delete,list> <user> <hours> <comment>
Уровень доступа: модератор.
Забанить определенного игрока.
add - добавить в бан персонажа;
add+ - добавить в бан персонажа и IP адрес;
delete - удалить из списка забаненных;
list - вывести список забаненных;
user - имя персонажа;
hours - время блокировки, в часах;
comment - комментарий, можно не писать.
34. deleteself <password>
Уровень доступа: любой.
Удалить текущего персонажа.
35. changepassword, changepass <password> <new password>
Уровень доступа: любой.
Изменить пароль для текущего персонажа.
36. dropuid, drop
Уровень доступа: тестер.
Сбросить антиальт таймер для данного персонажа, что бы можно было перезайти за другого персонажа без ожидания истечения таймаута.
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: Скрипты

  • Учебник
Скрипты

Стандарты оформления скриптов

Типы данных

Оформление специализированных функций

Препроцессор

Временные события

Временные события персонажей

События

Взаимодействие между персонажами

Работа с диалогом

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Стандарты оформления скриптов

  • Учебник
  • Скрипты
Стандарты оформления скриптов

Стандарты оформления

Стили использования регистра букв:

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

int BackColor
bool IsLastModified
uint DateTime
void DoSmth(...)
void Hello(...)
int MySuperFunction(...)
SomeClass::GetMapId()
SomeClass::IsBusy()

Кэмел - указание этого стиля обозначает, что первая буква строчная, а остальные первые буквы слов заглавные. В этом стиле оформляются локальные переменные, аргументы методов и функций.

int borderColor
uint accessTime
bool tempName
void DoSmthFast(int oneTwoThree, int doIt)
void MyFunc(Critter@ cr, int pOne, int pTwo, int valNext)

Имена зарезервированных функций пишутся в нижнем регистре, через подчеркивание.

void critter_init(Critter& cr, bool firstTime)
bool start()
void finish()

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

#define MY_CONST (5)
#define MY_CONST2 (MY_CONST+10)
#define CONST_One (0)
#define CONST_Two (1)

Макросы оформляются так же как и константы, но допускается оформление в стиле Паскаль с использованием подчеркивания в начале.

#define _EveryHour ...
#define _CritInjure ...

Не пишите название переменных в русской транслитерации.

Item@ mashina; // Неправильно
Item@ car; // Правильно

Комментарии пишите только на русском или английском языке. Грамотно.

//ну тут типо делайем всем Привед! - Неправильно
// Передаем всем привет. - Правильно

Пользуйтесь зарезервированными константами, а не их числовым эквивалентом.

npc.DeleteItem(236, 1); // Неправильно
npc.DeleteItem(PID_COMBAT_KNIFE, 1); // Правильно

Памятки:

  • Не забывайте соблюдать регистр переменных ('Hp' не равно 'hp');
  • Не забывайте про стандарты оформления;
  • Помните, что скрипт делает то, что вы ему говорите, а не то, что вы от него хотите.

Синтаксис

В целом, синтаксис мало чем отличается от синтаксиса С++.
Подробнее о ссылках и указателях:

  • символ указателя - "@", ссылки - "&";
  • при этом отсутствие символа "@" будет означать разыменование указателя. То есть, результаты следующих кусков кода будут одинаковы:
    1.
    Object@ bag = car.CarGetBag(0);
    2.
    Object@ bag = null;
    @bag = car.CarGetBag(0);
  • поведение ссылки и указателя идентично, отличие в том, что ссылка не может быть равна null и ей нельзя присвоить другое значение.

Массивы. Объявление массивов:

int[] a; // Пустой массив, нулевой длины.
int[] b(10); // Пустой массив, с длиной равной 10.
int[] c = {,3,4,}; // Массив с длиной равной 4, где второй и третий элемент инициализированы.

Так же у всех массивов есть следующие методы:

void resize(uint length) // Изменяет размер массива.
uint length() // Возвращает длину массива.

Явное приведение типов:

int a = 5;
float b = float(a);
float b = cast<float>(a);

Оператор "?". Синтаксис:
<значение 1> ? <значение 2> : <значение 3>
Если <значение 1> == true то оператор возвращает <значение 2>, иначе <значение 3>
Пример:

int i = 5;
int j = (i == 5 ? 6 : 7);
// i == 5, j == 6

Подробнее о синтаксисе AngelScript.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: Типы данных

  • Учебник
  • Скрипты
Типы данных

Типы данных

Знаковые целые
int8 1 байт (-128 ... 128)
int16 2 байта (-32,768 ... 32,767)
Int, int32 4 байта -2,147,483,648 ... 2,147,483,647)
int64 8 байт (-9,223,372,036,854,775,808 ... 9,223,372,036,854,775,807)
Беззнаковые целые
uint8 1 байт (0 ... 255)
uint16 2 байта (0 ... 65,535)
uint, uint32 4 байта (0 ... 4,294,967,295)
uint64 8 байт (0 ... 18,446,744,073,709,551,615)
Для чисел с плавающей запятой
float 4 байта ± 3.402823466e38
double 8 байт ± 1.7976931348623158e+308
Другие
void Тип данных, означающий что функции не требуется возвращать какое-либо значение
bool Логический тип, true или false
string Строковый тип
file Файл
dictionary Ассоциативный контейнер
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Оформление специализированных функций

  • Учебник
  • Скрипты
Оформление специализированных функций

Оформление специализированных функций

Временные события
uint e_FuncName(uint[]@ values)
uint e_FuncName(int[]@ values)
Временные события персонажа
uint cte_FuncName(Critter& cr, int identifier, uint& rate)
Сценери
bool s_FuncName(Critter& cr, Scenery& scen, int skill, Item@ item)
Trigger
void t_FuncName(Critter& cr, Scenery& trigger, bool entered, uint8 dir)
Диалог
void dlg_FuncName(Critter& player, Critter@ npc, string@ text)
uint dlg_FuncName(Critter& player, Critter@ npc, string@ text)
Условие диалога
bool d_FuncName(Critter& master, Critter@ slave)
bool d_FuncName(Critter& master, Critter@ slave, int val)
bool d_FuncName(Critter& master, Critter@ slave, int val0, int val1,)
bool d_FuncName(Critter& master, Critter@ slave, int val0, int val1, int val2)
bool d_FuncName(Critter& master, Critter@ slave, int val0, int val1, int val2, int val3)
bool d_FuncName(Critter& master, Critter@ slave, int val0, int val1, int val2, int val3, int val4)
Результат диалога
void r_FuncName(Critter& master, Critter@ slave)
uint r_FuncName(Critter& master, Critter@ slave)
void r_FuncName(Critter& master, Critter@ slave, int val)
uint r_FuncName(Critter& master, Critter@ slave, int val)
void r_FuncName(Critter& master, Critter@ slave, int val0, int val1,)
uint r_FuncName(Critter& master, Critter@ slave, int val0, int val1,)
void r_FuncName(Critter& master, Critter@ slave, int val0, int val1, int val2)
uint r_FuncName(Critter& master, Critter@ slave, int val0, int val1, int val2)
void r_FuncName(Critter& master, Critter@ slave, int val0, int val1, int val2, int val3)
uint r_FuncName(Critter& master, Critter@ slave, int val0, int val1, int val2, int val3)
void r_FuncName(Critter& master, Critter@ slave, int val0, int val1, int val2, int val3, int val4)
uint r_FuncName(Critter& master, Critter@ slave, int val0, int val1, int val2, int val3, int val4)
Прослушка текста
void listen_FuncName(Critter& player, string& text)
Комманда ~runscript
void _FuncName(Critter& player, int param0, int param1, int param2)
Функция крафта FixBoy
int fix_FuncName(Critter& cr, int stage)
Входы в локацию (Town/World)
bool entrance_FuncName(Critter@[]& crters, uint8 entrance)
Показать окно вопроса, используется в Critter::ShowScreen
void answer_FuncName(Critter& player, uint answerI, string& answerS)
Скрипт Misc плана НПЦ
void plane_FuncName(Critter& npc)
Лексема @script funcName@, сторона клиента
string _FuncName(string& lexems)
Метод void Critter::RunClientScript, сторона клиента
void _FuncName(int param0, int param1, int param2, string@ param3, int[]@ param4)
Функция void RunServerScript, с проверкой уровня доступа, не ниже ACCESS_ADMIN
void _FuncName(Critter& player, int param0, int param1, int param2, string@ param3, int[]@ param4)
Функция void RunServerScriptUnsafe, без проверки уровня доступа, префикс "unsafe_" обязателен
void unsafe_FuncName(Critter& player, int param0, int param1, int param2, string@ param3, int[]@ param4)
Событие взятия значения параметра персонажа
int _FuncName(Critter& cr, uint index)
Событие изменения параметра персонажа
void _FuncName(Critter& cr, uint index, int oldValue)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Препроцессор

  • Учебник
  • Скрипты
Препроцессор

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

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

Директивы препроцессора:

#include
#define
#ifdef
#ifndef
#endif

Директива "#include" включает в состав исходного файла содержимое указанного файла. Таким образом, после обработки препроцессором, все строки:

#include "filename"

будут заменены содержимым указанного файла.

Директива "#define" в основном используется для создания констант и макросов:

Пример константы:

#define MONEY_PID (41)

После такого объявления, в коде скрипта можно использовать строку MONEY_PID вместо прямого указания номера 41, в тех местах, где необходимо указать пид, используемый в качестве денег. После обработки препроцессором, все строки "MONEY_PID" будут заменены на "(41)"

Пример макроса:

#define _CritMoveItem #(cr,item,toSlot) cr.MoveItem(item.Id,item.GetCount(),toSlot)

После такого объявления, встреченные в исходном коде строки:

_CritMoveItem(player,weapon,SLOT_ARMOR);

будут заменены на:

player.MoveItem(weapon.Id,weapon.GetCount(),(3))

При этом, строка SLOT_ARMOR будет заменена на (3), так как в файле _defines.fos объявлена директива "#define SLOT_ARMOR (3) // Armor slot"

"#ifdef" - открытие блока "если определено"
"#ifndef" - открытие блока "если не определено"
"#endif" - закрытие блока
Директивы #ifdef, #ifndef и #endif существуют для еще большего удобства скриптера.

Пример исползования:

#define __DEBUG__
#ifdef __DEBUG__
Log(.......);
#endif
....
....
#ifdef __DEBUG__
SayId(.......);
#endif
....
....
#ifndef __DEBUG__
StartAttack(.......);
#endif

В данном примере в исходном коде после обработки препроцессором встретятся строки "Log(.......);" и "SayId(.......);", однако, если убрать или закомментировать строку "#define <strong>DEBUG</strong>", то в коде будет только строка "StartAttack(.......);"

Помимо обработки директив, препроцессор убирает из исходного кода все комментарии, так как они не важны для компилятора.
Стоит так же отметить, что при сообщении компилятором об ошибках в коде, он выдает номера строк и символов в коде после обработки препроцессором.
Обработанные препроцессором скрипты появляются при запуске сервера и находятся в папке скриптов с расширениями "fosp", если необходимо посмотреть полученный код при ручном компилировании, необходимо передать компилятору имя файла, куда будет помещен полученный код, с помощью параметра "-p".

Типичная функция после обработки препроцессором:

uint GetKeyId(Critter&cr,uint lockerId)
{
if(lockerId==0||(0x80000000|(cr.Id))==lockerId||(0x40000000|(cr.Id))==lockerId)return 0;
Item@[]keys;
for(uint i=0,j=cr.GetItemsByType((7),keys);i<j;i++)if(keys[i].LockerId==lockerId)return keys[i].Id;
return 0;
}

Исходный вид функции:

uint GetKeyId(Critter& cr, uint lockerId) // Export
{
if(lockerId==0 || _CritFingersDoorId(cr.Id)==lockerId || _CritEyesDoorId(cr.Id)==lockerId) return 0;
Item@[] keys;
for(uint i=0,j=cr.GetItemsByType(ITEM_KEY,keys);i<j;i++) if(keys[i].LockerId==lockerId) return keys[i].Id;
return 0;
}
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Временные события

  • Учебник
  • Скрипты
Временные события

Общая информация

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

Для создания события необходимо вызвать одну из функций CreateTimeEvent:

uint CreateTimeEvent(uint beginSecond, string& funcName, bool save)
uint CreateTimeEvent(uint beginSecond, string& funcName, int value, bool save)
uint CreateTimeEvent(uint beginSecond, string& funcName, uint value, bool save)
uint CreateTimeEvent(uint beginSecond, string& funcName, uint[]& values, bool save)
uint CreateTimeEvent(uint beginSecond, string& funcName, int[]& values, bool save)
uint CreateTimeEvent(uint beginSecond, string& funcName, Critter& cr, bool save)
uint CreateTimeEvent(uint beginSecond, string& funcName, Item& item, bool save)
uint CreateTimeEvent(uint beginSecond, string& funcName, Critter@[]@+ critters, Item@[]@+ items, bool save)
Аргументы
beginSecond | Игровое время (в полных секундах), когда должно произойти событие. Чтобы получить полную секунду, можно воспользоваться функцией GetFullSecond и глобальными переменными __FullSecond, __Year, __Month, __Day, __Hour, __Minute, __Second. Если игровое время заданно некорректно, то будет взято текущее игровое время.
funcName | Строка ссылка на функцию.
cr,item,value,values... | Персонаж или Предмет (либо Массив), который будет участвовать в событии.
save | Флаг, который определяет, необходимо ли сохранять событие в базе данных сервера. Важные события (например, связанные с квестами) лучше сохранять, потому как любой рестарт сервера прекратит существование события, которое не сохраняется в базе данных и его будет необходимо создавать заново при инициализации сервера (функции инициализации у карт, персонажей, предметов).

По оформлению функции читайте Оформление специализированных функций. Такая функция должна иметь один параметр – массив переданных при создании события данных (uint[]@ values). В процессе работы этот массив можно модифицировать - изменять значения элементов, размерность массива. Если при создании события данные не передавались, то values будет равен null. Тип возвращаемого значения - uint. Функция-событие должна возвращать полную секунду, которая определяет, через какой промежуток времени событие повторится (0 – не повторять событие, удалить). Функция CreateTimeEvent, в случае успешного создания события, возвратит его номер. Впоследствии по этому номеру можно удалить это событие, вызвав функцию EraseTimeEvent.

Пример скрипта, с использованием событий:

#include "_macros.fos"
import uint GetNearFullSecond(uint16 year, uint16 month, uint16 day, uint16 hour, uint16 minute, uint16 second) from "time";
// Инициализация НПЦ
void _BoyInit(Critter@ boy, bool firstTime)
{
// Создаем событие, в котором мальчик зазывает покупать у него рации
// Событие произойдет через 10-50 минут
CreateTimeEvent(__FullSecond+Random(10, 50)*60, "e_Announcement", boy, false);
// Создаем событие, в котором мальчик приветствует с добрым утром
// Событие произойдет в ближайшие 8 часов утра
CreateTimeEvent(GetNearFullSecond(0, 0, 0, 8, 0, 0), "e_AnnouncementMorning", boy, false);
}
// Событие 1
uint e_Announcement(uint[]@ values)
{
// Ночью не говорим, ждем до утра
if(__Hour > 20 || __Hour < 8) return GetNearFullSecond(0, 0, 0, 8, Random(20, 40), 0) - __FullSecond;
// Зазываем
Critter@ boy = GetCritter(values[0]);
if(valid(boy)) boy.Say(SAY_NORM_ON_HEAD, "Рации, кому рации...");
// Ждем около часа
return Random(50, 70)*60;
}
// Событие 2
uint e_AnnouncementMorning(uint[]@ values)
{
// Приветствуем
Critter@ boy = GetCritter(values[0]);
if(valid(boy)) boy.Say(SAY_NORM_ON_HEAD, "С добрым утром!");
// Ждем сутки
return 24*60*60;
}

В этом примере организованны два события. В первом, мальчик зазывает покупать у него рации, каждые 50-70 минут, строго с 8 до 20 часов. Во втором, мальчик приветствует всех с добрым утром каждый день в 8 часов утра.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Временные события персонажей

  • Учебник
  • Скрипты
Временные события персонажей

Общая информация

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

Для создания события необходимо вызвать один из следующих методов класса Critter

bool AddTimeEvent(string& funcName, uint duration, int identifier)
bool AddTimeEvent(string& funcName, uint duration, int identifier, uint rate)
Аргументы
funcName | Строка ссылка на функцию.
duration | Игровое время (в игровых секундах) через которое должно произойти событие.
identifier | Идентификатор, для удобного поиска событий в общем списке.
rate | Дополнительный параметр, можно использовать для любых целей, если использован метод без указания значения rate, то данный параметр в функции обработчике будет равен нулю.

По оформлению функции читайте Оформление специализированных функций. Функция-событие должна возвращать полную секунду, которая определяет, через какой промежуток времени событие повторится (0 – не повторять событие, удалить). Функция AddTimeEvent, в случае успешного создания события, возвратит true.

Дополнительные методы для работы с временными событиями персонажей.

Получение количесва событий с указанным идентификатором.

uint GetTimeEvents(int identifier, uint[]@+ indexes, uint[]@+ durations, uint[]@+ rates) const
Аргументы
identifier | Идентификатор, указанный при создании события.
indexes | Индексы событий.
durations | Временные промежутки событий.
rates | Значения параметра rate событий.
Возвращает
Количество найденных событий.

Получение количества событий с указанными идентификаторами.

uint GetTimeEvents(int[]& findIdentifiers, int[]@+ identifiers, uint[]@+ indexes, uint[]@+ durations, uint[]@+ rates) const
Аргументы
findIdentifiers | Идентификаторы найденных событий.
identifiers | Идентификаторы, указанные при создании событий.
indexes | Индексы событий.
durations | Временные промежутки событий.
rates | Значения параметра rate событий.
Возвращает
Количество найденных событий.

Изменяет время до запуска и параметр rate указанного события

void ChangeTimeEvent(uint index, uint newDuration, uint newRate)
Аргументы
index | Индекс события, которое необходимо изменить.
newDuration | Новый интервал до возникновения события.
newRate | Новое значение параметра rate.

Удаляет событие по индексу

void EraseTimeEvent(uint index)
Аргументы
index Индекс события, которое следует удалить

Удаляет события по идентификатору

uint EraseTimeEvents(int identifier)
Аргументы
identifier Идентификатор, указанный при создании, тех событий, которые следует удалить.
Возвращает
Количество удаленных событий

Удаляет события с заданными идентификаторами

uint EraseTimeEvents(int[]& identifiers)
Аргументы
identifiers Массив идентификаторов тех событий, которые нужно удалить.
Возвращает
Количество удаленных событий.
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: События

  • Учебник
  • Скрипты
События

Общая информация

Данный механизм нужнен для того, чтобы отследить момент наступления определенных событий у карт, персонажей, предметов. События связываются с помощью следующего метода, определенного в классах Map, Critter и Item:

bool SetEvent(int eventType, string@ funcName)

Где:

  • eventType – тип события,
  • funcName – имя функции-обработчика события, при передаче пустой строки или null событие выключается.
Использование предметов
  • Если цель сценери, то вызывается обработчик сценери.
  • Если цель предмет, то у него вызывается ITEM_EVENT_USE_ON_ME.
  • Если цель персонаж, то у него ничего не вызывается.
  • ITEM_EVENT_USE для предмета.
  • CRITTER_EVENT_USE_ITEM для игрока + CRITTER_EVENT_SMTH_USE_ITEM для тех, кто видит игрока.
  • Глобальный обработчик critter_use_item.
  • Если предмет PID_HOLODISK, то обработка его использования.
  • В обратном случае вывод сообщения STR_USE_NOTHING.
Использование навыков
  • Eсли цель сценери, то вызывается обработчик сценери.
  • Eсли цель предмет, то у него вызывается ITEM_EVENT_SKILL.
  • Eсли цель персонаж, то у него ничего не вызывается.
  • CRITTER_EVENT_USE_SKILL для игрока + CRITTER_EVENT_SMTH_USE_SKILL для тех, кто видит игрока.
  • Глобальный обработчик critter_use_skill.
  • Обработка специальных навыков SKILL_PUT_CONT, SKILL_TAKE_CONT, SKILL_TAKE_ALL_CONT, SKILL_LOOT_CRITTER.

Прекратить обработку можно в любом месте, возвратив true.

Оформление функций-событий карты

Оформление функций-событий персонажа

Оформление функций-событий предмета

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: Взаимодействие между персонажами

  • Учебник
  • Скрипты
Взаимодействие между персонажами

Взаимодействие между НПЦ и другими персонажами

Для взаимодействия между персонажами используется метод – Critter::SendMessage. В параметрах функции необходимо указать:

  • Уникальный номер сообщения. Номер сообщения устанавливается по усмотрению разработчика скрипта и используется для идентификации этого сообщения.
    Прим.
    Если номера сообщений, относящихся к разным скриптам, будут совпадать, то это может привести к некорректной работе этих скриптов.
  • Передаваемое значение. Например, ID персонажа, которого следует атаковать.
  • Кому отсылается сообщение.

Когда персонаж принимает сообщение, у него происходит событие CRITTER_EVENT_MESSAGE. При инициализации персонажа необходимо задать функцию, срабатываемую при данном событии, в ней необходимо выполнять ответные действия. Сообщение принимается в момент его отправки.

При организации сложной ситуации, в которой участвует множество персонажей и у каждого есть своя роль, используйте поле Critter::NpcRole.

Пример написания скрипта с использованием функции Critter::SendMessage. В этом примере организован диалог между двумя НПЦ, который будет происходить каждый день ровно в 12 часов.

// Один скрипт на обоих НПЦ, в принципе, можно посадить на него и большее количество НПЦ
#include "_macros.fos"
#define NUM_OF_MSG (300) // Номер сообщения
#define ROLE_NPCA (150)
#define ROLE_NPCB (151)
// StatBase[ST_VAR0] - Индекс фразы
// StatBase[ST_VAR1] - Callback для подтверждения готовности к разговору
// Фразы для обоих НПЦ
// В идеале, это должны были быть массивы номеров фраз, которые находятся в файле с текстами
string[] DialogsForNpcA = {"О! Привет.","Как дела?","А чего так?","Уууу...",
"Да уж, бывает...", "Ну ладно, пойду я."};
string[] DialogsForNpcB = {"Привет.","Ой, плохи мои дела. Совсем плохи.",
"Да опять в казино все свои деньги продул.","","", "Пока."};
bool DialogsProcess = false;
void _CritterAInit(Critter& npc, bool firstTime)
{
npc.StatBase[ST_NPC_ROLE] = ROLE_NPCA;
npc.SetEvent(CRITTER_EVENT_MESSAGE, "_NpcOnMessage");
// Начинаем через минуту после инициализации
CreateTimeEvent(__FullSecond+REAL_MINUTE(1), "e_StartDialog", npc, false);
}
void _CritterBInit(Critter& npc, bool firstTime)
{
npc.StatBase[ST_NPC_ROLE] = ROLE_NPCB;
npc.SetEvent(CRITTER_EVENT_MESSAGE, "_NpcOnMessage");
}
void _NpcOnMessage(Critter& npcB, Critter& npcA, int num, int val)
{
// Если принятое сообщение не относится к диалогу, то завершаем выполнение функции
if(num != NUM_OF_MSG) return;
// Проверяем, совпадают ли роли обоих НПЦ
if(npcA.StatBase[ST_NPC_ROLE] != ROLE_NPCA || npcB.StatBase[ST_NPC_ROLE] != ROLE_NPCB) return;
// Проверяем готов ли NPC "B" произнести фразу
if(not npcB.IsLife() || not npcB.IsNoPlanes()) return;
// Начинаем вести беседу
npcA.StatBase[ST_VAR1] = 0; // Callback НПЦ_A что бы понял что все нормально
npcA.StatBase[ST_VAR0] = 0;
npcB.StatBase[ST_VAR0] = 0;
DialogsProcess = true;
// Создаем события в которых и будем общаться
CreateTimeEvent(__FullSecond+REAL_SECOND(2), "e_SayDialog", npcA, false);
CreateTimeEvent(__FullSecond+REAL_SECOND(4), "e_SayDialog", npcB, false);
}
uint e_StartDialog(uint[]@ values)
{
Critter@ npcA = GetCritter(values[0]);
if(not valid(npcA)) return 0; // НПЦ больше не существует, удаляем событие
// Если НПЦ_А не готов к началу диалога, то откладываем событие на 20 игровых минут
if(not npcA.IsLife() || not npcA.IsNoPlanes()) return 20*60;
// Перед началом диалога проверяем, готов ли собеседник к диалогу
npcA.StatBase[ST_VAR1] = -1;
npcA.SendMessage(NUM_OF_MSG, 0, MESSAGE_TO_I_SEE);
// Если после отправки сообщения НПЦ_B не поменял значение переменной StatBase[ST_VAR1],
// то это значит что он не готов к диалогу
if(npcA.StatBase[ST_VAR1] == -1) return 20*60;
// Переносим событие на следующие 12 часов
return 12*60*60;
}
uint e_SayDialog(uint[]@ values)
{
// Смотрим не прекратился ли диалог досрочно
Critter@ npc = GetCritter(values[0]);
if(not valid(npc)) return 0;
if(not DialogsProcess) return 0;
// Проверим, не появились ли новые планы у НПЦ
if(not npc.IsNoPlanes())
{
DialogsProcess=false;
return 0;
}
// Выберем нужные строки диалога
string[]@ dialogs;
if(npc.StatBase[ST_NPC_ROLE] == ROLE_NPCA) @dialogs = @DialogsForNpcA;
else if(npc.StatBase[ST_NPC_ROLE] == ROLE_NPCB) @dialogs = @DialogsForNpcB;
else return 0;
// Проверим до и после на предмет окончания диалогов, между этим говорим
if(uint(npc.StatBase[ST_VAR0]) >= dialogs.length()) return 0;
if(dialogs[npc.StatBase[ST_VAR0]] != "") npc.Say(SAY_NORM_ON_HEAD, dialogs[npc.StatBase[ST_VAR0]]);
npc.StatBase[ST_VAR0]++;
if(uint(npc.StatBase[ST_VAR0]) >= dialogs.length()) return 0;
// Следующая фраза произойдет через 4 секунды (через 2 секунды будет говорить оппонент)
return REAL_SECOND(4);
}

При этом, диалог между НПЦ будет выглядеть так:
A: О! Привет.
B: Привет.
A: Как дела?
B: Ой, плохи мои дела. Совсем плохи.
A: А чего так?
B: Да опять в казино все свои деньги продул.
A: Уууу...
A: Да уж, бывает...
A: Ну ладно, пойду я.
B: Пока.

Диалог будет происходить при условии, что:

  • НПЦ видят друг друга;
  • Во время начала диалога контекст обоих НПЦ будет свободен;

Если во время начала диалога оба NPC будут мертвы или будут выполнять запланированные действия, то начало диалога будет отложено на 20 игровых минут.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: Работа с диалогом

  • Учебник
  • Скрипты
Работа с диалогом

Общая информация

Функции скриптов могут вызываться на различных этапах работы диалога.
Различают 3 типа диалоговых функций

Функции-условия

Данные функции применяются как условия для появления реплик, доступных игроку.
Если функция возвращает true, значит реплика доступна игроку и наоборот.
Для установки скриптового условия выберите в редакторе диалогов реплику, на которую необходимо поставить условие, перейдите на вкладку "Условия", выберите пункт "Скрипт (модуль@функция)", установите количество параметров, которые необходимо передать в функцию и заполните их, нажмите кнопку "добавить".

Возможные варианты функций

bool d_FuncName(Critter& master, Critter@ slave)
bool d_FuncName(Critter& master, Critter@ slave, int val)
bool d_FuncName(Critter& master, Critter@ slave, int val0, int val1,)
bool d_FuncName(Critter& master, Critter@ slave, int val0, int val1, int val2)
bool d_FuncName(Critter& master, Critter@ slave, int val0, int val1, int val2, int val3)
bool d_FuncName(Critter& master, Critter@ slave, int val0, int val1, int val2, int val3, int val4)

Количество параметров типа int в функции выбирается в зависимости от количества параметров указанных при добавлении условия в редакторе диалогов.
По умолчанию функция вызывается 2 раза, в первый раз перед показом диалога, а второй раз при выборе игроком реплики с заданным в условиях скриптом.
Сделано это для защиты, например, на случай, если кто-то украдет у игрока все деньги после того, как ему высветился вариант ответа, но до того, как он на него нажал.
По этим причинам желательно избегать выполнения каких-либо действий, кроме проверки рвзличных условий, внутри функции проверки условия.
Однако, для тех случаев, когда внутри функции-условия необходимо единожды выполнить какое-либо действие, повторную проверку можно отключить (установка флага на условие производится в редакторе диалогов).
Так же, можно воспользоваться глобальной переменной bool __DialogDemandRecheck, при повторной проверке, значение переменной будет равно true.

Функции-результаты

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

Возможные варианты функций

void r_FuncName(Critter& master, Critter@ slave)
uint r_FuncName(Critter& master, Critter@ slave)
void r_FuncName(Critter& master, Critter@ slave, int val)
uint r_FuncName(Critter& master, Critter@ slave, int val)
void r_FuncName(Critter& master, Critter@ slave, int val0, int val1,)
uint r_FuncName(Critter& master, Critter@ slave, int val0, int val1,)
void r_FuncName(Critter& master, Critter@ slave, int val0, int val1, int val2)
uint r_FuncName(Critter& master, Critter@ slave, int val0, int val1, int val2)
void r_FuncName(Critter& master, Critter@ slave, int val0, int val1, int val2, int val3)
uint r_FuncName(Critter& master, Critter@ slave, int val0, int val1, int val2, int val3)
void r_FuncName(Critter& master, Critter@ slave, int val0, int val1, int val2, int val3, int val4)
uint r_FuncName(Critter& master, Critter@ slave, int val0, int val1, int val2, int val3, int val4)

Количество параметров типа int в функции так же выбирается в зависимости от количества параметров, указанных при добавлении функции в редакторе диалогов. Функции, возвращающие числовое значение, должны возвращать номер ветки диалога, на которую нужно перейти после выполнения функции или одно из специальных значений, приводящих к закрытию диалога, открытию бартера, началу атаки или возращению к предыдущему диалогу (Dialog links).

Функции диалога

Данные функции вызываются в трех случаях:

  1. При формировании ветки диалога, к которой привязан скрипт
  2. При уходе из ветки диалога, к которой привязан скрипт
  3. При использовании функции "Сказать о" в ветке диалога, к которой привязан скрипт.

    Спецификация функции
    void dlg_FuncName(Critter& player, Critter@ npc, string@ text)
    uint dlg_FuncName(Critter& player, Critter@ npc, string@ text)

Для проверки в каком из случаев запущена данная функция, существует 3 макроса

#define IS_DIALOG_END #(str) (not valid(str))
#define IS_DIALOG_GENERATED #(str) (valid(str) && str.length()==0)
#define IS_DIALOG_SAY_MODE #(str) (valid(str) && str.length()>0)

Если была использована функция "Сказать о", то строка text будет содержать текст, сказанный игроком.
В случае, если функция вызвана при генерации диалога, в строку text можно будет поместить текст для определения лексем, использованых в текущем диалоге (как для самого диалога, так и для реплик игрока)

Примечание: При использовани функции, возращающей числовое значение, можно перенаправить игрока на другую ветку диалога в случае использования функции "Сказать о", возращаемое значение должно содержать номер ветки диалога или одно из специальных значений, приводящих к закрытию диалога, открытию бартера, началу атаки или возращению к предыдущему диалогу (Dialog links)

Пример

Для примера рассмотрим несколько диалоговых веток диалога nr_t-ray.fodlg

T-Ray: "Могу предложить: Хаммер за @lex hummer@, Багги за @lex buggy@, Скаут за @lex scout@, Хайвемен за @lex highwayman@." (на ветку "повешена" функция nr_t-ray@dlg_PrepareBuy)
Игрок: "Покупаю Хайвеймен." (В результате выбора данной реплики запускается функция nr_t-ray@r_BuyHighwayman)

.....
.....
void dlg_PrepareBuy(Critter& player, Critter@ tray, string@ lexems)
{
if(not IS_DIALOG_GENERATED(lexems)) return;
// Функция запускается в трех случаях, так как мы хотим получить в тексте диалога цены за машины разных типов, то нам интересен только тот случай, когда функция запускается до генерации текста диалога
// Во всех остальных случаях прекращаем выполнение функции
lexems+="$hummer"+GetCarCost(PID_HUMMER);
lexems+="$buggy"+GetCarCost(PID_BUGGY);
lexems+="$scout"+GetCarCost(PID_SCOUT);
lexems+="$highwayman"+GetCarCost(PID_HIGHWAYMAN);
// Функциия GetCarCost расчитывает стоимость машины по номеру ее прототипа, саму функцию можете посмотреть в файле car.fos
// В результате 4ех запусков функции, строка lexems будет выглядеть примерно так: "$hummer50000$buggy15000$scout20000$highwayman120000"
// Данная строка будет использована при генерации текста диалога "Могу предложить: Хаммер за @lex hummer@, Багги за @lex buggy@, Скаут за @lex scout@, Хайвемен за @lex highwayman@."
}
uint r_BuyHighwayman(Critter& player, Critter@ tray, int val) // Данная функция вызывается каждый раз, когда игрок жмет на строку "Покупаю Хайвеймен."
{
return TryCreateCar(player,PID_HIGHWAYMAN);
// Вызываем функцию TryCreateCar, которая должна вернуть номер ветки диалога, на которую нужно будет перейти после завершения ее выполнения.
}
uint TryCreateCar(Critter& player, uint16 protoCar)
{
if(protoCar!=PID_HUMMER && protoCar!=PID_BUGGY && protoCar!=PID_SCOUT && protoCar!=PID_HIGHWAYMAN) return FD_GENERIC_ERROR;
// Проверяем номер прототипа машины, если прототип неверный, перенаправляем игрока на ветку с номером FD_GENERIC_ERROR
// FD_GENERIC_ERROR задается в начале скрипта и имеет номер 100, то есть игрок будет перенаправлен на ветку "Извини, у меня срочные дела, подойди позже."
uint cost=GetCarCost(protoCar); // Получаем стоимость машины по прототипу
if(_CritCountItem(player,PID_BOTTLE_CAPS)<cost) return FD_NO_MONEY; // Проверяем, хватает ли игроку денег и, если не хватает, перенаправляем его на ветку FD_NO_MONEY
// то есть на ветку с номером 5: "Нет денег - нет машины. Приходи как найдешь нужную сумму."
// Если денег достаточно, пытаемся добавить машину
Map@ map=player.GetMap();
if(not valid(map)) return FD_GENERIC_ERROR; // В случае ошибки получения указателя на карту, перебрасываем игрока на ветку диалога с номером 100
Entire[] entires;
ParseEntires(map,entires,ENTIRE_WORKSHOP);
ParseEntires(map,entires,ENTIRE_CAR);
uint16 hx,hy,entNum;
for(int i=0,j=entires.length();i<=j;i++)
{
if(i==j) return FD_NO_PLACES; // Если не удалось найти свободного места для машины, перенаправляем игрока на ветку с номером FD_NO_PLACES
// то есть на диалог с номером 6: "Сейчас вся мастерская и стоянка забита машинами, некуда подогнать, подойди, когда будут свободные места.".
Entire@ ent=entires[i];
if(map.CheckPlaceForCar(ent.HexX,ent.HexY,protoCar))
{
hx=ent.HexX;
hy=ent.HexY;
entNum=ent.Number;
break;
}
}
uint keyId=Random(10000,50000); // Генерация номера замка
Item@ car=map.AddItem(hx,hy,protoCar,1); // Добавляем машину на карту
if(not valid(car)) return FD_GENERIC_ERROR; // если создание автомобиля все-таки не вышло, перенаправляем игрока на ветку диалога с номером 100
// Настраиваем параметры автомобиля
car.LockerId=keyId;
car.Charge=car.Proto.Car_FuelTank;
car.Deterioration=0;
car.Update();
Item@ bag=car.CarGetBag(0);
if(valid(bag))
{
bag.LockerId=keyId;
bag.LockerComplexity=Random(50,100);
bag.Update();
}
Item@ key=player.AddItem(PID_KEY,1); // Добавляем ключ от машины игроку в инвентарь
if(valid(key))
{
key.LockerId=keyId;
key.Update();
}
player.DeleteItem(PID_BOTTLE_CAPS,cost); // Удаляем деньги игрока
if(entNum==ENTIRE_WORKSHOP) return FD_BUY_SUCCESS_WORKSHOP; // Если машина установлена в магазине, перенаправляем игрока на ветку диалога с номером FD_BUY_SUCCESS_WORKSHOP (7)
// то есть на ветку "Держи ключ, машина ждет тебя в мастерской. Если потребуется ремонт или модификация, то обращайся."
// В противном случае перенаправляем игрока на ветку FD_BUY_SUCCESS_CARSTOP (8): "Держи ключ, машина ждет тебя снаружи, на стоянке. Если потребуется ремонт или модификация, то обращайся."
return FD_BUY_SUCCESS_CARSTOP;
}
.....
.....

В данном примере на реплике "Покупаю Хайвеймен." не стоит никаких условий, то есть игрок всегда может на нее нажать, проверка наличия денег происходит в функции TryCreateCar. Однако эту же проверку можно было провести и в скриптовой функции-условии.

bool d_CheckMoneyForCar(Critter& player, Critter@ tray, int protoCar)
{
uint cost=GetCarCost(protoCar);
if(_CritCountItem(player,PID_BOTTLE_CAPS)<cost)
return false;
else
return true;
}

Если мы добавим эту функцию (с параметром, равным номеру прототипа машины) в условие реплики игрока "Покупаю Хайвеймен.", то при недостаточном количестве денег игрок не увидит данной реплики и не сможет по ней перейти.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: Контент

  • Учебник
Контент

Файлы конфигурации

Форматы файлов

Кэш-файл клиента

Типы персонажей (CritterTypes.cfg)

Locations.cfg

GenerateWorld.cfg

Сумки

MSG файлы

Прототипы

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: Файлы конфигурации

  • Учебник
  • Контент
Файлы конфигурации

Клиент, сервер и инструментарий, входящие в состав SDK, используют .cfg файлы для хранения своих настроек.

Файлы имеют текстовый формат и представляют собой строки вида:

ключ=значение

Кроме того, существует понятие группы настроек, начало которой определяется названием группы, заключенной в квадратные скобки:

[GroupName]

Конец группы определяется либо окончанием файла, либо началом новой группы

Строки, начинающиеся с символа "#" являются комментариями и не влияют на настройки программы.

Файлы конфигурации:
FOnline.cfg
Определяет настройки клиента

FOnlineServer.cfg
Определяет настройки сервера

DataFiles.cfg
Используется для загрузки дополнительных архивов с ресурсами игры. Данные файлы загружаются до инициализации скриптовой системы.
DialogEditor.cfg
Определяет настройки редактора диалогов

Mapper.cfg
Определяет настройки маппера

MrFixit.cfg
Определяет настройки редактора крафта

ObjectEditor.cfg
Определяет настройки редактора объектов

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: FOnline.cfg

  • Учебник
  • Контент
  • Файлы конфигурации
FOnline.cfg

Настройки клиента.

Ключи:

Language | Язык клиента по умолчанию
RemoteHost | Домен или ip сервера игры
RemotePort | Порт сервера
ProxyType | Тип прокси (0 - Нет прокси, 1 - Socks4, 2 - Socks5, 3 - HTTP)
ProxyHost | Адрес прокси-сервера
ProxyPort | Порт прокси-сервера
ProxyUser | Имя пользователя для прокси
ProxyPass | Пароль для прокси
DefaultCombatMode | Режим боя по умолчанию (используется в скриптах сервера при выборе режима боя, варианты: 0 - в реальном времени и пошаговом, 1 - только в реальном, 2 - только в пошаговом)
MusicVolume | Громкость музыки от 0 до 100
SoundVolume | Громкость звуков от 0 до 100
GlobalSound | Будут ли воспроизводится звуки, когда игра не активна. (1 - будут, 0 - не будут)
ScreenWidth | Ширина окна клиента
ScreenHeight | Высота окна клиента
FullScreen | Запускать ли клиент в полноэкранном режиме (1 - запускать, 0 - не запускать)
AlwaysOnTop | Показывать ли окно клиента в режиме "поверх всех окон" (1 - включить, 0 - отключить)
AlwaysRun | Опция постоянного бега, по умолчанию выключена
Light | Общий уровень освещенности
ScrollDelay | Плавность скроллинга (от 1 до 32)
ScrollStep | Дополнительное уменьшение скорости скроллинга (4, 8, 16, 32).
MouseSpeed | Скорость движения мышки в полноэкранном режиме
TextDelay | Базовое время, в течении которого показывается текст реплик. В миллисекундах (Расчет: TextDelay + 1 символ * 100 мс.)
DamageHitDelay | Время отображения информации о повреждении. В миллисекундах (0 - выключено. Рекомендуемое значение при включенном состоянии - 2000)
Sleep | Уменьшение нагрузки на процессор. Чем больше значение, тем меньше загрузка процессора и FPS. От -1 (выкл) до 10.
LangChange | Комбинация для переключения раскладки в чате. 0 - Ctrl+Shift, 1 - Alt+Shift, 2-Right Ctrl
IndicatorType | Индикация патронов и износа (0 - полоски, 1 - цифры, 2 - полоски и цифры)
InvertMessBox | Инвертирование окна сообщений (0 - сообщения идут снизу вверх (новые снизу, как в оригинале), 1 - сообщения идут сверху вниз (новые сверху))
WinNotify | Если при неактивном окне клиента вам приходит сообщение, то в панеле задач моргнет иконка. Это не относится к сообщениям о результатах атаки и некоторым другим сообщениям (0 - выключено, 1 - включено (default))
SoundNotify | Если при неактивном окне клиента вам приходит сообщение, то прозвучит звуковой сигнал. Это не относится к сообщениям о результатах атаки и некоторым другим сообщениям (0 - выключено (default), 1 - включено)
DoubleClickTime | Время ожидания второго клика для бега, в миллисекундах. При нуле настройки берутся из настроек ОС
CombatMessagesType | Тип боевых сообщений (0 - полное/verbose, 1 - краткое/brief)
FonlineDataPath | Путь к основной папке ресурсов FOnline
MasterDatPath | Путь к файлу master.dat
CritterDatPath | Путь к файлу critter.dat
FlushValue | Кэшируемые спрайты
BaseTexture | Размер текстуры, где будут храниться спрайты. Должен быть степенью двойки - 256, 512, 1024...
VSync | Вертикальная синхронизация (1 - включено, 0 - отключено)
BackGroundClear | Дополнительная очистка экрана (1 - включено, 0 - отключено)
MultiSampling | Сглаживание 3d (antialiasing) (-1 - автоопределение, 0 - выключено, 1..16 - значение сглаживания)
SoftwareSkinning | Програмный скиннинг (1 - включено, 0 - отключено)
Animation3dFPS | Имитация покадровой графики 3d моделями. Количество кадров в секунду. При 0 - выключено, анимация будет воспроизводиться максимально плавно; при включении оптимальное значение - 10.
Animation3dSmoothTime | Сглаживание переходов в 3d графике, время в миллисекундах. Актуально только при Animation3dFPS=0.
Logging | Вести ли лог (1 - включено, 0 - отключено)
LoggingDebugOutput | Вести ли лог отладочных сообщений (1 - включено, 0 - отключено)
LoggingTime | Добавлять ли время в лог (1 - включено, 0 - отключено)
LoggingThread | Добавлять ли метку потока в лог (1 - включено, 0 - отключено)
ServerAppName | Имя файла сервера
ServerPath | Путь к папке сервера
ServerCommandLine | Дополнительные параметры в коммандной строке сервера
RemoteHost_0 | Ранее используемый адрес сервера. Используется только конфигнуратором клиента FOnline для удобства выбора сервера из выпадающего списка. По аналогии могут существовать ключи RemoteHost_1, RemoteHost_2, RemoteHost_3 и т.д.
KeyboardRemap | Возможность перенаправления ввода кодов символов клавиатуры. Производится через пробел - X Y X Y..., где X - код, который меняем, Y - на который. Номера кодов - http://fonline.pastebin.com/Qy3E0qwj
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: FOnlineServer.cfg

  • Учебник
  • Контент
  • Файлы конфигурации
FOnlineServer.cfg

Настройки сервера.

Ключи:

PositionX | Положение окна сервера по горизонтали. 0 - центр экрана
PositionY | Положение окна сервера по вертикали. 0 - центр экрана
TextFont | Шрифт
Port | Порт сервера
GameSleep | Время простоя после выполнения цикла. В миллисекундах
WorldSaveTime | Промежуток времени между сохранениями игрового мира. В минутах
WorldSaveManager | Режим сохранения мира. 0 - напрямую на диск, 1 - через отдельный поток, в котором так же будет происходить удаление старых сохранений
LogicThreadCount | Количество потоков в игровой логике. При нуле количество потоков будет равно количеству процессоров на компьютере
LogicThreadSetAffinity | Количество потоков на 1 ядро, если 0, то операционная система автоматически распределит потоки между ядрами
ScriptConcurrentExecution | Возможности одновременного выполнения скриптов (0 - отключено)
NetWorkThread | Количество сетевых потоков, если 0, то система определит количество потоков по количеству процессоров в системе
MemoryDebugLevel | Мониторинг использования памяти (0 - отключено, 1 - простой мониторинг, 2 - глубокий мониторинг)
Logging | Вести ли лог (1 - включено, 0 - отключено)
LoggingDebugOutput | Вести ли лог отладочных сообщений (1 - включено, 0 - отключено)
LoggingTime | Добавлять ли время в лог (1 - включено, 0 - отключено)
LoggingThread | Добавлять ли метку потока в лог (1 - включено, 0 - отключено)
Language_0 | Язык сервера (для мультиязычных серверов добавляются еще ключи Language_1, Language_2, Language_3 и т.д. по количеству языков)
Access_client | Пароли, необходимые для смены уровня доступа на Client (пароли разделяются пробелом)
Access_tester | Пароли, необходимые для смены уровня доступа на Tester (пароли разделяются пробелом)
Access_moder | Пароли, необходимые для смены уровня доступа на Moderator (пароли разделяются пробелом)
Access_admin | Пароли, необходимые для смены уровня доступа на Administrator (пароли разделяются пробелом)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: DataFiles.cfg

  • Учебник
  • Контент
  • Файлы конфигурации
DataFiles.cfg

Архивы с ресурсами игры.

Данные файлы загружаются до инициализации скриптов и выполнения функции start(). Поддерживаемые форматы:
ZIP
DAT (Fallout2)
DAT2.1 (Arcanum)
BOS (Fallout tactics)

Каждая строка может хранить имя одного из файлов для загрузки.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: DialogEditor.cfg

  • Учебник
  • Контент
  • Файлы конфигурации
DialogEditor.cfg

Настройки редактора диалогов.

Ключи:

Language | Язык редактора (0 - русский, 1 - английский)
Names | Путь к папке, содержашей файл ItemNames.lst (данный файл находится в папке Data в директории сервера)
Vars | Путь к директории, содержащей файл _vars.fos (находится в папке скриптов сервера)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: Mapper.cfg

  • Учебник
  • Контент
  • Файлы конфигурации
Mapper.cfg

Настройки редактора диалогов.

Ключи:

ServerPath | Путь к папке сервера
ClientPath | Путь к папке клиента
MapperInterface | Имя файла, определяющего интерфейс окна маппера
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: MrFixit.cfg

  • Учебник
  • Контент
  • Файлы конфигурации
MrFixit.cfg

Настройки редактора крафта.

Ключи:

ServerPath Путь к папке сервера
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: ObjectEditor.cfg

  • Учебник
  • Контент
  • Файлы конфигурации
ObjectEditor.cfg

Настройки редактора крафта.

Ключи:

NamesFolder | Путь к папке, содержащей файл ItemNames.lst (данный файл находится в папке Data в директории сервера)
FoobjMsg | Путь к файлу foobj.msg (находится в директории текстов сервера каждого из языков)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Форматы файлов

  • Учебник
  • Контент
Форматы файлов

Dat-файлы

Формат fo3d

Формат fofnt

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Dat-файлы

  • Учебник
  • Контент
  • Форматы файлов
Dat-файлы

Файлы с расширением .dat являются обыкновенными архивами с особым форматом.

В FOnline Engine данный формат попал как наследие fallout2, который хранил свои ресурсы в данном формате.
Более подробно о данном формате можно почитать на ресурсах, посвященных модификациям Fallout и Fallout 2, например, на отечественном ресурсе TeamX. Для распаковки и запаковки данных в этом формате созданы несколько программ, которые так же можно найти на сайте TeamX.

Примечание: На сегодняшний день FOnline Engine позволяет использовать для чтения запакованных данных как dat-формат, так и обычные zip-архивы, поэтому сейчас нет необходимости запаковывать файлы модов в dat-файлы.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: Формат fo3d

  • Учебник
  • Контент
  • Форматы файлов
Формат fo3d

Общая информация

Формат fo3d - это текстовый формат описания трехмерных объектов. Редактируется, соответственно, с помощью любого текстового редактора.

По ходу описания будут встречаться ссылки в квадратных скобках - [X], их содержание расположено ниже, перед примерами.

Для передачи данных используются различные модификаторы (ключи и значения). Строка с начала комментария (';', '#') игнорируются до ее окончания. Регистр модификаторов значения не имеет.

Для удобства соотношения некоторых номеров и имен смотрите скрипт _animations.fos.

Условные обозначения передаваемых параметров:
FileName - имя файла или пути и файла, путь может быть как полным, так и относительным;
IntegerValue - целое значение (0, 1, 22);
FloatValue - вещественное значение (0.0, 1.2, 22.1);
IntegerArray - массив целых чисел, перечисляется через знак '-', без пробелов, то есть 1-2-5-8;
FloatArray - массив вещественных чисел, перечисляется через знак '-', без пробелов, то есть 1.3-2.6-5.2-8.0, так же есть возможность их указания как целые числа (1-2.5-4-7);
String - строка, без пробелов;
Anim1Weapon [1] - тип оружия для анимации;
AnimationName [1] - имя анимации.

Модификаторы

Model FileName [2]

Указывает на базовую модель, поддерживаемые форматы: x, 3ds. Если файл содержит анимацию и дополнительно не указан модификатор model_animation, то будет использоваться данная анимация.

Include FileName From1 To1 From2 To2 FromN ToN

Указание файла, который будет вставлен в данном месте. Данный механизм предназначен для облегчения описания множества однотипных fo3d файлов. Суть состоит в том, что текст шаблона добавляется в место вызова модификатора, а затем там заменяются определенные идентификаторы. Идентификаторы перечисляются сразу после названия файла шаблона, сначала какое слово будет заменяться, затем на которое. В шаблоне заменяемый идентификатор должен быть расположен между знаками процента ('%'). Данный модификатор использует всю строку для определения передаваемых параметров, не используйте в ней другие модификаторы.

DisableShadow [2]

Отключение отрисовки тени.

CalculateTangentSpace [2]

Включение расчета касательного пространства, тангента и бинормали, которые можно использовать в эффектах, см. файл IOStructures.inc.

MoveX, MoveY, MoveZ FloatValue [3][6]

Перемещение модели по одной из оси. По-умолчанию равны 0.0.

RotX, RotY, RotX FloatValue [3][6]

Вращение модели по одной из оси. В градусах. По-умолчанию равны 0.0.

Scale, ScaleX, ScaleY, ScaleZ FloatValue [3][6]

Масштабирование модели по одной из оси или сразу по всем трем (Scale). По-умолчанию равны 1.0.

Speed FloatValue [3][6]

Изменение скорости воспроизведения анимации. По-умолчанию равно 1.0.

DisableLayer IntegerArray [3][8]

Включение игнорирование обработки определенных слоев. Значения перечисляются через знак '-'.
Воспринимаются именованные константы из файла DefineNames.fos.

DisableSubset IntegerArray [3][8]

Включение игнорирование отрисовки определенных частей модели (материалов). Значения перечисляются через знак '-'.
Воспринимаются именованные константы из файла DefineNames.fos.

Mesh IntegerValue [4]

Установка значения текущего меша, на которые будут действовать такие модификаторы, как Texture, Effect.
Воспринимаются именованные константы из файла DefineNames.fos.

Subset IntegerValue [4]

Установка значения части меша. При установке отрицательного значения дальнейшие модификаторы будут влиять на все части текущего меша, а не какой-то определенной.

Texture 0..9 FileName [5][9]

Установка определенной текстуры для аналогичных переменных в самом эффекте. Но, значение 0 так же указывает на базовую текстуру (цветовую, диффузную) текущего меша и части.
Воспринимаются именованные константы из файла DefineNames.fos.

Effect FileName [5][9]

Установка определенного эффекта для текущего выбранного меша и части.

EffDef String String String/FloatArray/IntegerValue

Передать определенное значение в эффект. Модификатор действует на эффект, указанный в последнем использованном модификаторе Effect. Передаются тип (String, Floats, Dword), имя параметра в файле эффекте и значение (в зависимости от типа - строка, массив вещественных чисел, целое значение).
Воспринимаются именованные константы из файла DefineNames.fos (для Dword).

Layer IntegerValue [7]

Установка определенного слоя.
Воспринимаются именованные константы из файла DefineNames.fos.

Value IntegerValue [7]

Установка определенного значения слоя. Когда значение слоя будет равно данному, то все модификаторы, описанные в нем, начинают действовать.
Воспринимаются именованные константы из файла DefineNames.fos.

Attach FileName [3][7]

Присоединение определенной модели к базовой. Допустимые форматы: x, 3ds, fo3d (то есть возможно рекурсивное подключение, будьте внимательны). По умолчанию модели линкуются между собой по совпадающим именам костей у обоих. Если требуется точное указание к какой кости линковать рутовую кость, то используйте модификатор Link (см. ниже).

Link String [3][7]

Линковка другой модели к текущей, с указанием куда линковать. То есть {Подключаемая модель Root-Bone} -> {Текущая модель String-Bone}. Данный модификатор действует только для прикрепленной модели (пока она не будет снята или выбрана другая).

Root [3][7]

Установка базовой модели для применения других модификаторов.

Anim Anim1Weapon AnimationName AnimFile String [1]

Данный модификатор используется для связывания имен анимаций с индексами, для дальнейшего использования в скриптах.
В AnimFile указывается имя файла, откуда она будет взята (если указать “ModelFile”, то поиск будет производиться в файле загружаемой модели)
В String указывается имя или порядковый номер анимации.

AnimSpeed Anim1Weapon AnimationName FloatValue [1]

Модификатор для указания скорости определенной анимации.

AnimEquals IntegerValue Anim1Weapon AnimationName [1]

Добавление алиасов для индексов анимации, чтобы не делать лишний копи-паст. IntegerValue - номер индекса, 1 или 2;

RenderFrame AnimFile String IntegerValue [2]

Отрисовка определенного кадра в спрайт. Используется, когда идет вывод пререндеренной модели.
В AnimFile указывается имя файла, откуда она будет взята (если указать “ModelFile”, то поиск будет производиться в файле загружаемой модели)
В String указывается имя или порядковый номер анимации. IntegerValue означает процент (0..100) времени анимации, с которого и будет произведен рендер.

RenderFrames AnimFile String IntegerValue IntegerValue [2]

Отрисовка определенной анимации в спрайт. Используется, когда идет вывод пререндеренной модели.
В AnimFile указывается имя файла откуда она будет взята (если указать “ModelFile”, то поиск будет производиться в файле загружаемой модели)
В String указывается имя или порядковый номер анимации. Первый IntegerValue означает процент (0..100) начала времени анимации, второй IntegerValue процент конечного кадра. Может быть использован обратный вывод, когда второе значение меньше первого. Частота кадров анимации берется из глобальной переменной __Animation3dFPS, если она равна нулю, то берется значение 10.

StopParsing, ContinueParsing

Остановка и возобновление обработки файла.

Примечания

  1. Имена задаются в файле DefineNames.lst Примеры:
    Anim Anim1Unarmed Anim2PickUp ModelFile HumM_Def_Una_Pickup_01
    Anim Anim1HeavyRifle Anim2Single anim_HumanMaleRifle.x rifle_shoot
  2. Данные модификаторы используются только один раз, при многократном использовании данные будут взяты у последнего встретившегося.
  1. По умолчанию данные модификаторы влияют на параметры базовой модели (см. Model). Модель меняется в следующих случаях:
  • при модификаторе Attach прикрепленная модель становится выбранной;
  • при модификаторе Root выбирается базовая модель;
  • при модификаторах Layer, Value выбранная модель снимается и другие модификаторы станут работать впустую;
  • при некоторых ошибках модель может сняться, например, когда выбираем Root, но стоит нулевое значение Value.
  1. Данные модификаторы (Mesh, Subset) сбрасываются при применении модификаторов Root, Layer, Value, Attach. Значения сброса: Mesh = 0, Subset = -1.
  1. Данные модификаторы (Texture, Effect) устанавливают необходимое значение (текстуру, эффект) для меша и частей меша установленных модификаторами Mesh и Subset. Сначала надо указать номер меша и части, а потом ставить текстуру или эффект, по умолчанию стоят Mesh = 0 и Subset = -1.
  1. При добавлении к имени модификатора знака '+' оно будет добавляться к предыдущему значению, а не присваиваться. Например, ScaleX 1.5 ScaleX 0.5 в итоге дадут 0.5, а ScaleX 1.5 ScaleX+ 0.5 дадут 2.0. Аналогично можно использовать знак '*', что означает умножение на предыдущее значение.
  1. Данные модификаторы сейчас применяются для описания изменений модели при изменении значений слоев, которое происходит в скриптах (см. animation3d_process в client_main.fos). Доступно только для трехмерных моделей криттеров.
  1. Для чего необходимо отключать определенные слои или части тела - для того, что бы они не конфликтовали между собой при стечении определенных обстоятельств. Например, если один из слоев отвечает за вывод волос, то в слое головных уборов, при определенных его значениях (большая шляпа закрывающая всю голову), можно отключит слой волос. Или при выводе сапог могут просвечиваться части ног, то лучше отключить эту часть тела при их одевании.
  1. В передаваемом аргументе имени файла можно передать строку "Parent", что будет означать взятие текстуры у базовой модели. Можно дополнительно указывать номер меша и его часть, с которой будет взята текстура - Texture X ParentY-Z, где X номер текстуры, Y номер меша, Z номер части меша; параметры Y-Z опциональны, можно не использовать или использовать частично (то есть Parent, Parent0, Parent-5).

Примеры:

Parsing

Model model.3ds ; Загрузка модели
Scale 2.0 ; Увеличиваем в два раза
StopParsing ; Останавливаем парсинг
Здесь можем писать что угодно, весь текст будет пропущен.
Scale 0.5 # Не будет обработано, масштаб по-прежнему 2.0
ContinueParsing # Продолжаем парсинг
Scale+ 1.1 # Добавляем к масштабу, теперь там 3.1
#Scale 1.0 # Обработано не будет, так как находится за комментарием

Include

some1.fo3d

Include _SomeTemplate.fo3d name some1 number 11

some2.fo3d

Include _SomeTemplate.fo3d name some2 number 22
Include _SomeTemplate.fo3d name some2aaa number 33

_SomeTemplate.fo3d

Model ATR_%name%_%number%.3ds

После применения модификатора Include файлы будут выглядеть следующим образом: some1.fo3d

Model ATR_some1_11.3ds

some2.fo3d

Model ATR_some2_22.3ds
Model ATR_some2aaa_33.3ds

Textures, Normal mapping

Обычный вывод. "Mesh 0" в данном случае избыточен, он и так по-умолчанию 0, поставлен для примера.
Пример находится в "Client\data\art\misc\3d\box\simple.fo3d"

Model Box.3ds
Mesh 0 Subset 0 Texture 0 DED.tga
Mesh 0 Subset 1 Texture 0 DrD.tga

Рисование с использованием карты нормалей.
Пример находится в "Client\data\art\misc\3d\box\nmap.fo3d"

Model Box.3ds
CalculateTangentSpace
Subset 0 Texture 0 DED.tga
Subset 0 Texture 1 DEN.tga
Subset 1 Texture 0 DrD.tga
Subset 1 Texture 1 DIntrN.tga
Subset -1 Effect 3D_NormalMapping.fx

Frames render

Рендер одного спрайта в середине анимации использования. Без тени.
Пример находится в "Client\data\art\misc\3d\dclaw\frame.fo3d"

Model ..\..\..\critters\CR_Deathclaw.x
DisableShadow
RenderFrame ModelFile CR_Deathclaw_Def_Una_Use_01 50

Рендер анимации, с начала и до конца. Увеличена в два раза.
Пример находится в "Client\data\art\misc\3d\dclaw\frames.fo3d"

Model ..\..\..\critters\CR_Deathclaw.x
Scale 2.0
RenderFrames ModelFile CR_Deathclaw_Com_Una_Knock_ProneB_01 0 100

Effects

Установка эффекта, передача параметров

Model SomeModel.3ds
Effect 3D_MyEffect.fx
EffDef Floats MyValues 1.4-0.05-6-7.7
EffDef Floats AnotherValue 59.51243

В самом эффекте данные переменные будут иметь вышеуказанные значения

float4 MyValues; // MyValues.x == 1.4f
// MyValues.y == 0.05f
// MyValues.z == 6.0f
// MyValues.w == 7.7f
float AnotherValue; // == 59.51243
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Формат fofnt

  • Учебник
  • Контент
  • Форматы файлов
Формат fofnt

Спецификация .fofrm.

Спецификация .fofont

Спецификация .fofrm

fps

Frame Per Second, количество кадров в секунду. Целое, беззнаковое. Не обязательный параметр. По умолчанию - 10.

count

Количество кадров в анимации. Целое, беззнаковое. По умолчанию - 1.

offs_x
offs_y

Базовые смещения. Этот сдвиг нужен для того, чтобы кадры были правильно отцентрованы. Используется при отображении кадра, так как его логический центр не всегда совпадает с его абсолютным центром (width/2, height/2). Например, центром существа будет позиция его ног, в то время как центром дерева будет его основание. Положительное значение для offs_x означает, что кадр при отображении будет сдвинут вправо. Положительное значение для offs_y означает, что кадр при отображении будет сдвинут вниз. Целое, знаковое. Не обязательный параметр. По умолчанию - 0.

[dir_?]

Перед блоками описаний кадров анимации ставится направление анимации. ? - это направление, в диапазоне от 0 до 5. В кадрах без учета направления это можно не указывать. Далее следуют элементы блока описаний анимации.

offs_x
offs_y

Смещения для направления. Если они не заданы, то берутся глобальные базовые смещения. Целое, знаковое. Не обязательный параметр. По умолчанию - значение базовых глобальных offs_*.

next_x_?
next_y_?

Смещение кадра относительно предыдущего кадра. ? означает номер кадра*. Целое, знаковое. Не обязательный параметр. По умолчанию - 0.

frm_?

Имя файла изображения. ? означает номер кадра*. Для первого кадра номер указывать не обязательно, то есть просто "frm=...". Должен включать путь от текущей папки. Строка. Обязательный параметр.

Номера должны начинаться с 0 и идти по порядку.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Кэш-файл клиента

  • Учебник
  • Контент
Кэш-файл клиента

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

<ip-адрес>.<порт>.cache

Данные файлы являются файлами кэша клиента. В них хранится дополнительная информация о каждом из серверов, с которым было соединение.
В файле default.cache содержится информация, загружаемая независимо от того, к какому серверу будет производиться подключение.
В данных файлах хранятся такие вещи как: клиентские скрипты, тексты, прототипы предметов, отправленных сервером.
Так как интерфейс клиента отрисовывается с помощью скриптов, отсутствие "свежего" файла кэша может приводить к проблемам отрисовки всех элементов интерфейса игры.
Для решения проблемы достаточно обновить файл кэша (нажав клавишу Enter клиент попытается подключиться к серверу и, если сервер будет включен, то кэш автоматически обновится).
В более новых версиях клиента введена поддержка автоматического обновления файла кэша сразу после запуска.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: Типы персонажей (CritterTypes.cfg)

  • Учебник
  • Контент
Типы персонажей (CritterTypes.cfg)

Типы персонажей задаются в файле Data\CritterTypes.cfg, находящемся в папке сервера.

Строки, начинающиеся с символа "#", являются комментариями и не влияют на работу сервера, символ "@" является признаком данных о персонаже, после символа "@" идет перечисление параметров типа персонажей, разделенные одним или несколькими пробелами.

Номер типа | 0-999
Имя | Name
Номер алиаса (используется для выбора изображения для выбора части тела при прицельном выстреле) | Alias
Параметр мультигексовости (0 - тип персонажа не мультигексовый) | MH
Используется ли 3D-модель | 3d
Может ли персонаж ходить | Walk
Может ли персонаж бегать | Run
Может ли персонаж прицельно атаковать | Aim
Может ли персонаж носить броню | Armor
Может ли персонаж вращаться | Rotate
Имеется ли стандартный набор анимаций без оружия | A (Empty)
Имеется ли анимация падения и смерти | B (KO/Dead)
Имеется ли анимация вставания после падения | C (KO Rise)
Имеется ли анимация атаки ножом | D (Knife)
Имеется ли анимация атаки дубинкой | E (Club)
Имеется ли анимация атаки молотом | F (Hammer)
Имеется ли анимация атаки копьем | G (Spear)
Имеется ли анимация атаки пистолетом | H (Pistol)
Имеется ли анимация атаки с помощью ПП | I (Uzi)
Имеется ли анимация атаки ружьями | J (Shootgun)
Имеется ли анимация атаки тяжелыми винтовками | K (Rifle)
Имеется ли анимация атаки миниганами | L (Minigun)
Имеется ли анимация атаки ракетницами | M (Rocket Launcher)
Имеется ли изображение для выбора части тела при прицельном выстреле | N (Aim)
Всегда 0 | O (None)
Анимация с индексом 16 | P (Sniper)
Анимация с индексом 17 | Q (Wakizashi)
Имеется ли анимация для мертвого тела | R (Rip)
В настоящее время это поле не используется | S (Unused)
В настоящее время это поле не используется | T (Unused)
Количество миллисекунд, которое потребуется криттеру для перехода на другой гекс обычным шагом | Walk
Количество миллисекунд, которое потребуется криттеру для перехода на другой гекс бегом | Run
Кадр анимации, завершающий переход на один гекс | Walk steps: значение 1
Кадр анимации, завершающий переход на два гекса | Walk steps: значение 2
Кадр анимации, завершающий переход на три гекса | Walk steps: значение 3
Кадр анимации, завершающий переход на четыре гекса | Walk steps: значение 4
Имя типа криттера, используемого при воспроизведении звуков, если "-", то звуки ищутся по имени текущего криттера | Sound name

Пример:

@ 21 mamtnt 21 0 0 1 0 1 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 0 500 0 5 10 0 0 -
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: Locations.cfg

  • Учебник
  • Контент
Locations.cfg

В данном файле находится список всех локаций в игре.

Им в этом файле можно присваивать следующие параметры:

name
Имя локации. Не обязательный параметр.

size*
Размеры локации.
Рекомендуемые значения: 6 (small), 12 (medium), 24 (large).
По умолчанию - 24 (large).

max_players
Максимальное количество игроков, способных одновременно находиться на локации.
Целое беззнаковое значение, при нуле количество не ограничивается.
По умолчанию - 0.

map_X
Карты в локации. Вместо X подставляется порядковый номер карты. Отсчет с 0. X принимает значения от 0 до 49.
В конце строки прописывается идентификационный номер локации (смотрите Server\scripts\_maps.fos - блок Maps).
Символ '*' в конце имени карты означает возможность просмотра карты в меню Automaps.

entrance
Точки доступа в локацию.
Задается двумя способами:

  1. Число, которое обозначает на сколько карт в списке (map_X) можно входить с глобальной карты. Гекс-вход равен 0.
  2. '$' и далее, через запятую, перечисляются номер карты и номер гекса-входа на карту.
    Например: "entrance=$0 0, 1 1, 0 3" будет означать, что существует три входа на локацию - на карту 0, в точку 0; на карту 1, в точку 1; на карту 0, в точку 3.
    По умолчанию - 1.
    Названия точек входа и их координаты на "карте" локации присваиваются в файле FOGM.MSG.

entrance_script
Скрипт для проверки точек доступа к локации.
По умолчанию - ничего.

visible*
Видна ли локция на глобале.
По умолчанию - 0.

auto_garbage*
Удалять карту, когда на ней не осталось ни одного игрока, местного НПЦ и предмета с флагом ГЕКК (актуально при geck_visible = 1).
По умолчанию - 1.

geck_visible*
Влияют ли на видимость локации расположенные в ней предметы с флагом ГЕКК, если да, то при количестве больше нуля локация получает свойство, аналогичное Visible.
По умолчанию - 0.

Максимальное количество локаций в игре - 500.

Пример городской локации:

[Area 1]
name = The Den
size = 24
map_0 = den* 6
map_1 = den_carstop* 7
map_2 = repl_bank_den 210
entrance = $0 0, 1 1, 0 3
visible = 1
auto_garbage = 0

На этой локации есть три карты. Вход осуществляется на карты 0 (две точки входа) и 1 (одна точка входа).
Локацию видно на глобале. Она не удаляется, если там не осталось игроков.

Пример локации-энкаунтера:

[Area 101]
name=Desert 1
size=6
map_0=e_desert1
geck_enabled=1

На этой локации одна карта. Она будет удалена, когда ее покинет последний игрок.
Она невидима, если только там не находится предмет с флагом ГЕКК (например, машина).

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: GenerateWorld.cfg

  • Учебник
  • Контент
GenerateWorld.cfg

GenerateWorld.cfg - список локаций, создаваемых при генерации мира (происходит при первом запуске сервера).

Формат:

@ <PID локации> <Координата X> <Координата Y> # Имя локации

Примечание:
текст, идущий после "#", является комментарием и не влияет на анализ файла.

Пример

@ 13 675 525 # Redding
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Сумки

  • Учебник
  • Контент
Сумки

Термин Сумка - другое название инвентаря NPC.

Его можно выставлять двумя способами:

  1. Через маппер, помещая предметы вручную в инвентарь каждому NPC.
  2. Прописывая содержимое инвентаря в файле "Bags.cfg" (\server\data\Bags.cfg), а затем присваивая в маппере/скриптом NPC параметр ST_BAG_ID, который означает номер сумки из этого файла.

Суть использования Bags.cfg:

  • Оптимизация работы: проще создать один набор предметов и присваивать NPC только номер сумки с этим набором, чем выставлять каждому отдельно одни и те же предметы в маппере.
  • Наличие рандома: можно создать несколько наборов предметов для одного NPC, чтобы потом при генерации выбирался случайным образом один из них.
  • Простота редактирования: изменениями в одном файле можно вызывать глобальные изменения, нет необходимости лезть в карты, для вступления обновления в силу не нужна очистка БД (как в случае с картами).

Содержимое сумок постоянно обновляется. Период обновления сумок записан в переменной __BagRefreshTime (config.fos). По умолчанию сумки обновляются каждый час реального времени. Обновление происходит в том случае, если в инвентаре NPC не найдено какого-то предмета из его базового набора.

Для выставление инвентаря через маппер:

  1. Выделите NPC.
  2. Убедитесь, что ST_BAG_ID равен нулю (ST_BAG_ID=0 обозначает, что данные для инвентаря берутся из маппера).
  3. Поместите нужные предметы в инвентарь NPC (alt+click).
  4. При необходимости поместите нужное в слоты рук или брони (shift+click по предметам в инвентаре).

При старте сервера набор будет записан.

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

Bags.cfg

Структура файла Bags.cfg простая: тут объявляются массивы двух типов, условно назовем их "наборы" и "сумки".

Наборы - хранят PID и количество предметов. У каждого набора свое уникальное название.

Сумки - составляются из наборов, названия нет, есть номер - тот самый, что надо присваивается NPC через параметр ST_BAG_ID.

Чтобы было понятнее, приведу пример:

###################################
BCapsSmall=PID_BOTTLE_CAPS:0-50
BCapsMedium=PID_BOTTLE_CAPS:100-200
BCapsLarge=PID_BOTTLE_CAPS:350-500
GuardWeapon=PID_ASSAULT_RIFLE^m:1
bag_101=BCapsSmall GuardWeapon
bag_102=BCapsMedium GuardWeapon
bag_103=BCapsLarge GuardWeapon
###################################

Первые 4 строки - это наборы. Последние 3 - сумки.

Комбинируя 4 набора, мы составили сумки для трех охранников - у каждого из них разное количество денег, но одинаковое вооружение. Потом надо запомнить эти три номера и прописать охранникам в маппере, выставляя понравившимся сумку получше. А добавив побольше наборов (скажем, медикаментов или выпивки), можно комбинировать из них разные сумки, не расписывая каждый раз отдельные предметы.

Формат записи

Наборы:

  1. Объявляются в любом месте файла
  2. Имеют уникальное название
  3. Не могут быть пустыми
  4. Перечисление предметов: через "+" (=AND) или пробел (=OR)

Формат:

ИмяНабора=PID_ПРЕДМЕТА^местоположение:количество(min-max)

Пример:

GuardGun=PID_ASSAULT_RIFLE^m:0-1

Количество и местоположение указывать необязательно.

Базовое местоположение - в инвентаре. Также можно указать:

  • ^m - главный слот
  • ^e - внешний слот
  • ^a - слот брони

Для количества можно указать как и точное число (PID_ASSAULT_RIFLE:1), так и диапазон (PID_BOTTLE_CAPS:0-30).

Пример набора, содержащего несколько групп предметов:

AllGuardMelee=PID_SLEDGEHAMMER^e PID_POWER_FIST^m+PID_SMALL_ENERGY_CELL^e:5-15

Из этого набора будет выбираться: ЛИБО кувалда, ЛИБО силовой кулак ПЛЮС батарейки (две группы перечислены через пробел, в одной стоит два предмета).

Магазины оружия заполняются автоматически.

Сумки:

  1. Идут по-порядку
  2. Название строго "bag_#"
  3. Могут быть пустыми
  4. Перечисление: через пробел (=AND), рандома нет

Формат:

bag_#=Набор1 Набор2 Набор3

bag_0 не используется.

bag_1 оставляется пустым и означает пустую сумку по умолчанию.

Для большего количества примеров просто откройте сам файл bags.cfg, он прост и интуитивно понятен.

Принцип оформления сумок FOnline: tLA описан в комментариях к файлу.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: MSG файлы

  • Учебник
  • Контент
MSG файлы

Данные файлы содержат различную текстовую информацию, разделенную на различные категории.

Для каждого языкового пака должен существовать свой комплект данных файлов, расположенный в соответствующей папке.

Кодировка – ANSI.

Формат каждой записи следующий:

{<id>}{}{<text>}

где id – номер строки; text – текст.

Номер строки может повторяться. В таком случае строка выбирается случайно.

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

Языковые паки

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

Например:

Language_0=russ
Language_1=engl
Language_2=germ

Соответственно должно быть три директории:

text\russ\
text\engl\
text\germ\

Работать с содержимым данных файлов возможно только в скриптах клиента/маппера. Так же их можно использовать в тегах диалога или лексемах.

FOCOMBAT.MSG
Строки, используемые для боевки – сообщения о повреждении, выкрики НПЦ.

FOCRAFT.MSG
Информация для крафта, редактируется с помощью редактора MrFixit.

FODLG.MSG
Содержит имена прототипов НПЦ, а так же строки диалогов, которые автозаполняются в процессе загрузки сервера из файлов диалогов.

FOGAME.MSG
Содержит строки общего назначения, читайте комментарии в самом файле.

FOGM.MSG
Информация по глобальной карте, локациям, картам, тексту энкаунтеров.

FOHOLO.MSG
Тексты голодисков.

FOINTERNAL.MSG
Используется для внутренних нужд движка.

FOOBJ.MSG
Содержит имена и описание предметов, сценери. Формат записи:
Имя объекта = Номер прототипа * 100
Описание объекта = Номер прототипа * 100 + 1
Плюс, если объект типа Item, прибавляется uint8 Item::Info.

FOQUEST.MSG
Строки квестовых переменных. Текст автоматически выводится в окне квест-лога. Формат записи:
Номер переменной * 1000 + Значение переменной (1-100) - Текст который появится у игрока при данном значении переменной.
Номер переменной * 1000 + 101 - Название вкладки квеста.
Номер переменной * 1000 + 102 - Постоянное описание квеста.

FOTEXT.MSG Содержит строки для различных скриптовых нужд - игровой механике, квестах.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: FOCOMBAT.MSG

  • Учебник
  • Контент
  • MSG файлы
FOCOMBAT.MSG

FOCRAFT.MSG - файл, в который занесены все тексты, используемые в боевке, в том числе: описание частей тела разлизных типов существ; сообщения, появляющиеся при различных событиях в окне статуса; "боевые кличи" НПЦ и фразы, которые они произносят при ранениях.

Строки выводятся непосредственно скриптами. Формат:

{Номер строки}{}{Текст}
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: FOCRAFT.MSG

  • Учебник
  • Контент
  • MSG файлы
FOCRAFT.MSG

FOCRAFT.MSG - файл, в котором кодируется все необходимое для работы фикс-боя.

Формат:

{Номер строки}{}{PID_ПРЕДМЕТА@Описание@Требования для просмотра рецепта@Требования для крафта@Ингредиенты@Инструменты@Получаемые предметы@Опыт, скрипты}

Используемые операторы:

  • & = "AND"
  • | = "OR"

Пример:

{27}{}{PID_MOLOTOV_COCKTAIL@Пойло, смешанное со смолянистым соком цветков, будет замечательно гореть и прилипать к противнику.@SK_SCIENCE 20@SK_SCIENCE 30&SK_OUTDOORSMAN 30@PID_ROT_GUT 1&PID_RAGS 1&PID_BROC_FLOWER 2@@PID_MOLOTOV_COCKTAIL 1@exp 50 }

Примечания:

  • При указании названий прототипов необходимых ингридиентов/инструментов всегда необходимо указывать их количество, даже если оно = 1, иначе это вызовет ошибку сервера при запуске.
  • Для составления списка рецептов крафта с нуля удобнее всего пользоваться редактором MrFixit.
  • При выборе номера рецепта желательно оставлять пропуски в списке (скажем, вместо "1, 2, 3" использовать "10, 20, 30", т.к. номера строк должны идти строго по-порядку, и при отсутствии пробелов невозможно будет вставить новые рецепты в середину списка, если возникнет такая необходимость.
  • В скриптах можно выставлять дополнительные условия для крафта - скажем, проверку на то, находится ли рядом с игроком определенный объект сценери (для примеров смотрите скрипт fix_boy.fos).
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: FODLG.MSG

  • Учебник
  • Контент
  • MSG файлы
FODLG.MSG

В файле FODLG.MSG содержится описание NPC по умолчанию, то есть тех, кому не присвоен свой уникальный диалог с описаниями.

Формат:

{PID NPC*10}{}{Имя/название}
{(PID NPC*10)+1}{}{Расширенное описание}

Пример:

{90}{}{Пес}
{91}{}{Собака, наверняка бездомная, дворняжьей породы.}

Такое описание будет у всех NPC с PID=9.

Обычно, для присваивания нового описания рекомендуется просто присвоить NPC свой диалог, чтобы не создавать много лишних прототипов с одинаковыми характеристиками. Однако, даже если в файле диалога нет никаких фраз, то во всплывающем меню, появляющемся при нажатии на NPC, все равно первой опцией будет "начать диалог" (по умолчанию - бинокль). А это может мешать в бою - при клике по NPC с целью посмотреть параметры персонаж пытается подойти и поговорить с ним. Поэтому, если нужны какие-то NPC без диалогов, которые активно будут использоваться в боевых действиях, лучше создать им новые прототипы со своим описанием для удобства игрока.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: FOGAME.MSG

  • Учебник
  • Контент
  • MSG файлы
FOGAME.MSG

FOGAME.MSG - файл cодержит строки общего назначения, читайте комментарии в самом файле.

Формат:

{Номер строки}{}{Текст}
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: FOGM.MSG

  • Учебник
  • Контент
  • MSG файлы
FOGM.MSG

FOGM.MSG - файл, в котором содержатся описания для всего, что связано с картами, локациями и глобальной картой.

Состоит из трех частей:

  1. Звуки и описания локальных карт.
  2. Описания локаций.
  3. Тексты для сообщений при случайных встречах ("Вы желаете встретить... ?").

Звуки

Формат:

Имя карты: строка номер (pid + 1) * 10 + 0
Музыка на карте: строка номер (pid + 1) * 10 + 5
Звуки окружения: строка номер (pid + 1) * 10 + 6
NoLogOut: строка номер (pid + 1) * 10 + 7

Пример:

# Map 6, base 70
{70}{}{Den Business}
{75}{}{05raider}
{76}{}{dogbark:10, dogbark1:10, gntlwind:20, gntlwin1:20, blank:40}

Для музыки и звуков можно использовать форматы .acm и .ogg. Если используется формат .acm, расширения в описании упоминать не надо (как в примере выше). Если используется .ogg, название пишется полностью, с расширением. Например:

# Map 218, base 2190
{2190}{}{Replication Bank SF}
{2195}{}{09 - D.S.Brudge.ogg}

Звуки окружения берутся из папки /sound/SFX/, музыка - из /sound/music/. Первые можно найти в файле master.dat.

Число после двоеточия в записи звуков обозначает процент проигрыша того или иного звука (в сумме проценты составляют 100).

NoLogOut - не используется.

Описания локаций

Формат:

# Den, pid 1, base 101000
{101000}{}{Яма}
{101005}{}{Город бандитов и работорговцев.}
{101020}{}{art\intrface\twnden.frm}
{101030}{}{art\intrface\WM_DEN.FRM}
{101090}{}{3}
{101101}{}{Западная сторона}
{101102}{}{140}
{101103}{}{278}
{101111}{}{Стоянка}
{101112}{}{80}
{101113}{}{260}
{101121}{}{Восточная сторона}
{101122}{}{280}
{101123}{}{380}

Расшифровка:

  • Название локации, (pid + 100) * 1000
  • Описание локации, (pid + 100) * 1000 + 5
  • Картинка локации (при выборе точки входа), (pid + 100) * 1000 + 20
  • Картинка названия в списке городов на глобале, (pid + 100) * 1000 + 30
  • Количество точек входа, (pid + 100) * 1000 + 90
  • Название точки входа Х, (pid + 100) * 1000 + 100 + X*10 + 1
  • Координата х точки входа Х, (pid + 100) * 1000 + 100 + X*10 + 2
  • Координата y точки входа Х, (pid + 100) * 1000 + 100 + X*10 + 3

Последние три строки дублируются необходимое количество раз по количеству точек входа.

Отсчет координат ведется от левого верхнего угла.

Для локаций обязательны только первые две строки (название и описание).

Тексты сообщений глобальной карты

Тут все строки напрямую связаны с номерами энкаунтеров из таблиц в скрипте worldmap_init.fos. Начинаются с 10030000, идут по-порядку с шагом 10.

Подробнее читайте в описаниях этого скрипта.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: FOHOLO.MSG

  • Учебник
  • Контент
  • MSG файлы
FOHOLO.MSG

FOHOLO.MSG - файл cодержит тексты голодисков.

Формат:

{Номер * 10}{}{Имя голодиска}
{Номер * 10 + 1}{}{Текст голодиска}

99999 - Последний корректный номер, после него текст берется из базы данных записей игроков, данный номер содержит текст шаблона пустого голодиска.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: FOINTERNAL.MSG

  • Учебник
  • Контент
  • MSG файлы
FOINTERNAL.MSG

FOINTERNAL.MSG - используется для внутренних нужд движка.

Формат:

{Номер строки}{}{текст}
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: FOOBJ.MSG

  • Учебник
  • Контент
  • MSG файлы
FOOBJ.MSG

Файл FOOBJ.MSG хранит описания всех предметов и объектов интерьера в игре.

Формат:

{pid*10}{}{Имя}
{pid*10+1}{}{Описание}

Пример:

{5500}{}{Водяной чип}
{5501}{}{Это водяной чип производства компании Vault-Tec. Стандартная упаковка содержит пять штук.}

Расширенное описание для scenery-объектов составлять необязательно, но традиционно оно есть почти у всех из них (зачастую там есть какие-то подсказки для прохождения). У стен описания обычно нет. У тайлов крыш и пола нет ни названия, ни описания, т.к. у них нет прототипов.

Если надо создать несколько одинаковых предметов с разным описанием, то создавать новые прототипы для каждого не обязательно, можно сделать запись такого вида и присваивать описание скриптом:

{12300}{}{Психонейтрализатор}
{12301}{}{Необычное устройство, выполненное по неизвестной технологии.}
{12302}{}{Нейронамордник.}
{12303}{}{Нейтрализующий нейронамордник. Намордник генерирует электрические импульсы и подавляет у животного агрессию. Должен надеваться на особь, находящуюся в бессознательном состоянии. Выполнено по неизвестной технологии.}
void _CollarInit(Item& collar, bool firstTime)
{
collar.Info = 2;
}

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

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: FOQUEST.MSG

  • Учебник
  • Контент
  • MSG файлы
FOQUEST.MSG

В данном файле содержится описание состояний квестовых переменных - аналог списка полученных квестов в оригинале.

Если вы в редакторе переменных отметили переменную как "квестовая", то при изменении ее значений на что-либо, отличное от нуля:

  • В лог выведется новое описание (например: "Смитти попросил вас принести ему новые сапоги").
  • В пип-бое в закладке "Квесты" появится новое/изменится старое описание квеста.

Для каждой переменной выбирается закладка, под которой будет храниться ее описание (обычно это города: Ден/Кламат, и т.д.), а также название квеста.

Формат:

{Номер переменной * 1000 + Значение (1-100)}{}{Текст? который появиться у игрока при данном значении переменной}
{Номер переменной * 1000 + 101}{}{Название вкладки квеста}
{Номер переменной * 1000 + 102}{}{Постоянное описание квеста}

Пример:

{3128001}{}{Смитти посеял свои сапоги, найдите ему новую пару сапог.}
{3128002}{}{Вы отказались искать сапоги для Смитти.}
{3128003}{}{Вы достали сапоги для Смитти.}
{3128101}{}{Яма}
{3128102}{}{Кирзачи для Смитти.}

В пип-бое в каждой из закладок будет отображаться список квестов такого вида:

%название 1%
Текущее состояние: %описание переменной ххх%
%название 2%
Текущее состояние: %описание переменной yyy%
%название 3%
Текущее состояние: %описание переменной zzz%
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Прототипы

  • Учебник
  • Контент
Прототипы

Прототипы персонажей

Прототипы предметов

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Прототипы персонажей

  • Учебник
  • Контент
  • Прототипы
Прототипы персонажей

Прототипы персонажей хранятся в текстовом виде в файлах в директории Server/Proto/Critters/.

Редактируются вручную.

Файл critters.lst содержит список файлов, содержащих данные о прототипах существ. В составе SDK это всего один файл: all.fopro.

Формат:

[Critter proto]
Pid=<Номер прототипа>
<Имя стата 1>=<Значение стата>
<Имя стата 2>=<Значение стата>

Пример:

[Critter proto]
Pid=72
ST_BASE_CRTYPE=5
ST_AI_ID=12
ST_STRENGTH=5
ST_PERCEPTION=6
ST_ENDURANCE=5
ST_CHARISMA=5
ST_INTELLECT=4
ST_AGILITY=6
ST_LUCK=5
ST_MAX_LIFE=16
ST_ARMOR_CLASS=15
ST_NORMAL_ABSORB=2
ST_NORMAL_RESIST=25
ST_LASER_RESIST=20
ST_FIRE_RESIST=20
ST_PLASMA_RESIST=10
ST_ELECTRO_RESIST=30
ST_EMP_RESIST=500
ST_EXPLODE_RESIST=20
ST_AGE=25
ST_GENDER=1
SK_SMALL_GUNS=27
SK_BIG_GUNS=13
SK_ENERGY_WEAPONS=5
SK_MELEE_WEAPONS=8
ST_KILL_EXPERIENCE=75
ST_BODY_TYPE=1
ST_DAMAGE_TYPE=1
MODE_NO_BARTER=1

Основные статы:

ST_BASE_CRTYPE | хранит номер анимации (смотрите CritterTypes.cfg)
ST_STRENGTH ST_PERCEPTION ST_ENDURANCE ST_CHARISMA ST_INTELLECT ST_AGILITY ST_LUCK | Параметры SPECIAL
ST_EMP_RESIST | Сопротивление урону от электромагнитного оружия. У всех, кроме роботов, параметр должен быть очень высоким, чаще всего это значение 500
ST_MAX_LIFE | Максимальное количество очков здоровья
ST_AGE | Возраст
ST_GENDER | Пол (0-муж, 1-жен)
ST_KILL_EXPERIENCE | Опыт за убийство
ST_BODY_TYPE | Тип тела криттера. Смотрите Body types.
ST_DAMAGE_TYPE | Тип повреждений при безоружной атаке

В прототипах можно указывать только параметры, имеющиеся в файле Server/Data/ParamNames.lst
Значение любого стата можно изменять динамически с помощью скриптов.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Прототипы предметов

  • Учебник
  • Контент
  • Прототипы
Прототипы предметов

Прототипы предметов хранятся в текстовом виде в файлах в директории Server/Proto/Items/.

Редактируются с помощью редактора объектов.

Файл items.lst содержит список файлов, содержащих данные о прототипах предметов. В составе SDK это файлы:

ammo.fopro
armor.fopro
container.fopro
door.fopro
drug.fopro
generic.fopro
grid.fopro
key.fopro
misc.fopro
wall.fopro
weapon.fopro

Каждый файл создан для хранения своего типа объектов, форматы прототипов каждого из типов объектов имеет различия.

Общие поля:

Pid | Номер прототипа (должен быть уникальным для всех типов объектов)
Type | Определяет тип объекта
PicMapName | Изображение на земле
PicInvName | Изображение в инвентаре
Flags | Флаги объекта
SoundId | Идентификатор звука
Material | Тип материала

Примечание по поводу PicMapName и PicInvName:
В настоящий момент (ревизия 396) движок использует библиотеку DevIL ( http://openil.sourceforge.net/ ),
которая позволяет использовать графические файлы следующих форматов:

.bmp, .cut, .dds, .doom, .hdr, .gif, .ico, .jpg, .lbm, .mdl, .pal, .pbm, .pcd, .pcx, .pgm, .pic, .png, .ppm, .psd, .psp, .raw, .sgi, .tga

Исключения:

.jp2, .exr, .mng, .tif, .lcms, .utx, .wdp

( http://openil.sourceforge.net/about.php )
Кроме того движок так же может использовать графику таких игр как:

  • Fallout 1/2 (.frm)
  • Fallout Tactics (.spr, .til, .zar)
  • Arcanum (.art)
  • Boldur's Gate, Icewind Dale, Planescape Torment (.mos, .bam)

Так же можно использовать текстовый формат fofrm, данный вормат может к примеру объединить несколько различных графических файлов в анимацию или добавить изображению сдвиги, если исходный формат файла этого не позволяет или его редактирование является трудоемким.
Имена файлов могут содержать дополнительные параметры (все параметры можно комбинировать):
Формат SPR:

  • Для загрузки определенной анимации из SPR Файлов можно указать ее имя после знака $ в имени файла, например: Mutant$CrouchAttackClubSwing.spr
    Без указания берется первая анимация
  • Влияние на цвета:
    Что бы сделать смещение по цвету укажите в параметрах имени файла ('$') необходимые значения.
    Формат: fileName$[index,r,g,b]animName.spr (смещений [...] может быть сколько угодно)
    где index - номер части тела (0 - разное, 1 - кожа, 2 - волосы, 3 - броня, -1 - все слои);
    r,g,b - смещения по цвету для каждой компоненты, могут быть отрицательными.
    Пример: someSprite$[2,50,-30,-20]anim1.spr - загрузить спрайт someSprite.spr, c анимацией anim1 и смещением по цвету волос на RGB (50,-30,-20).

Формат ART:

  • Выбор палитры: номер палитры указывается после знака $
    Пример: dfmbnsba$1.art
  • Включение прозрачности элементов палитры (alpha = max(R, G, B)): $t
  • Зеркальное отражение: $v - вертикальное отражение, $h - горизонтальное отражение
  • fx[-y] - указывает номера загружаемых кадров(-а) и их направление, пример:
    anim1$f3-0.art - значит будут загружено 4 кадра 3, 2, 1, 0

Формат BAM:

  • Для формата BAM есть возможность указания номера воспроизводимого цикла и кадра - для указания номера цикла в параметрах имени файла ('$') укажите его индекс, а для указания кадра добавьте прочерк и индекс кадра. Примеры:
    fileName$5.bam - загрузить fileName.bam с кадрами под циклом номер 5;
    fileName$1-4.bam - загрузить fileName.bam с кадром номер 4 под циклом номер 1;
    fileName.bam - загрузить fileName.bam с кадрами под циклом номер 0.

Примечание:
Если вы используете параметры в именах графических файлов, вам так же необходимо добавить их в файл HashNames.lst находящийся в папке Data клиента.
Формат записи: [любое число] [имя файла] [конец строки].
Например:

0 art\scenery\BrazureFire$t.ART
0 art\scenery\BrazureFire$t3.ART
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Картография

  • Учебник
Картография

Локальные карты

Специальные гексы

Locations.cfg

Глобальная карта

Случайные встречи

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: Локальные карты

  • Учебник
  • Картография
Локальные карты

В данном документе описаны стандарты для локальных карт.

О том, как создать свою карту, читайте в разделе Пособия.

Размеры, блокираторы

Все карты должны быть ограничены прямоугольником из скроллблокеров, которые бы ограничивали движение экрана (смотрите Специальные гексы). Допускается использовать диагональные скроллблокеры, но их желательно избегать, так как отсутствует "гладкое" перемещение экрана по скошенной стороне, и он может застревать.

Минимальный размер карты должен подгоняться под максимально возможное разрешение экрана. То есть скроллблокеры должны быть выставлены так, чтобы туда помещался экран на максимальном разрешении. По умолчанию это 1280х1024, что по размерам соответствует прямоугольнику из скроллблокеров, вписанному в ромбоидную карту размером 90х90. Также стоит следить за тем, чтобы экраны всех разрешений могли проникнуть во все углы карт с диагональными скроллблокерами. Проверить их работу в маппере можно, нажав Ctrl+S.

Скроллблокеры должны быть оптимизированы, чтобы они не увеличивали попусту размер карты на сервере (от этого зависит и скорость ее загрузки в игре): сверху и снизу должен использоваться только один ряд горизонтальных скроллблокеров, все дублирующиеся скроллблокеры, появившиеся при копировании, должны быть удалены.

При отрисовке карты исходите из того, что максимальное залезание на боковые скроллблокеры не превышает пол-гекса. Один гекс вокруг скроллблокеров является непроходимым (во избежание эксплойтов со стрелками, прячущимися под верхним краем карты).

После окончательной установки скроллблокеров, размер карты должен быть урезан до их границ командой *size с целью оптимизации.

Специальные гексы

На каждой карте должен присутствовать ENT-гекс с EntireNumber=0. Он используется для служебных целей (телепортация на карту по ее PID), а также некоторыми скриптами.

Сетки выхода должны покрываться EG-гексами по всей их площади. Параметры перехода (PID карты и точка назначения) должны быть прописаны как у сеток, так и у EG-гексов.

Прочее

На каждой карте должно присутствовать хотя бы по одному объекту типов SCEN и WALL. На картах пустынь их можно поставить за скроллблокеры.

Не забывайте расставлять освещение на картах. Пользуйтесь кнопками + и - для того, чтобы изменять время суток в маппере.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Специальные гексы

  • Учебник
  • Картография
Специальные гексы

В маппере, в закладке "Fast", есть 16 объектов под названием "Специальные гексы".

Это технические объекты, которые не отображаются в игре и выполняют какие-то свои особые функции.

EG-гекс

Гекс выхода. При попадании на него игрок куда-то перемещается, если не находится в боевом режиме.

Используемые параметры:

  • ToMapPid (номер карты-цели)
  • ToEntire (точка входа, на которую перемещается игрок).

Если параметры равны 0,0, то игрок телепортируется на глобал. Чтобы игрок мог перемещаться между картами, они должны быть прописаны как части одной локации в файле Locations.cfg.

  • ToMapX, ToMapY - телепортировать на определенные координаты.

Не используются, но работают, перешли из оригинала. Удобней использовать точки входа, а не координаты, т.к. карты иногда перемещают при редактировании.

ENT-гекс

Точка входа. Используются параметры:

  • EntireNumber - номер точки входа
  • ToDir - в каком направлении будет смотреть персонаж, от 0 до 5. 0 - на северо-восток).

EntireNumber=0 - дефолтная точка входа с глобала. Должна быть на всех картах, на которые можно заходить с глобальной. Другие особые точки входа:

  • 240 - стартовая позиция игрока? первый раз зашедшего в игру;
  • 241 - позиция старта у карт с флагом NoLogOff;
  • 242 - репликация;
  • 243 - машины;
  • 245 - большие машины/вертиберд;
  • 246 - лодки.

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

Также ENT-гексы часто используются как маркер для пометки определенной территории для использования в скриптах - например, пометить двери, которые стоят над определенным гексом, или криттеров.

Источник света

Параметры по умолчанию: LightIntensity=50, LightDistance=8, LightColor=0 (белый).

Их можно изменить в настройках прототипа.

Другие используемые параметры:

  • LightColor, формат: 0xXXRRGGBB (первый байт опускается).
  • LigthDirOff - отключение одной из сторон освещения. Стороны, битовые маски:
    • 0 - 0x01
    • 1 - 0x02
    • 2 - 0x04
    • 3 - 0x08
    • 4 - 0x10
    • 5 - 0x20
  • LightDay - инвертировать освещение. Если параметр = 1, то оно яркое днем, угасает ночью.

Световая преграда

Блокирует свет, проходима. Служит для декоративных целей.

S (зеленый)

Блокиратор проходимости. Простреливается. Все объекты блокируют только один гекс под собой, поэтому многие надо дополнительно обносить S-гексами, чтобы по ним нельзя было ходить.

SAI

Аналог зеленого S, но не отображается на мини-карте.

W (желтый)

Непроходимый и непростреливаемый блокиратор, пропускает свет. Использование: пуленепробиваемые окна.

W (зеленый)

Непроходимый, непростреливаемый, не пропускает свет (W for Wall).

S (скроллблокер)

Блокиратор прокрутки экрана. Вокруг всех карт должна быть рамочка из скроллблокеров, чтобы экран не вылетал за края. Она должна быть чуть шире, чем наибольшее допустимое разрешение в игре, иначе большие экраны будут застревать или вылетать за карту. Наибольшее разрешение по умолчанию - 1280x1024, если вы хотите его менять, то всем картам необходимо дорисовывать дополнительные поля. Скроллблокеры блокируют проходимость своего гекса и шести гексов вокруг себя (сделано для того, чтобы игрок не мог спрятаться за верхним краем карты).

T (триггер)

Триггер - он и в Африке триггер. Активирует какое-то действие по наступанию на обозначенный им гекс.

Используемые параметры:

  • ScriptName - имя скрипта
  • FuncName - имя функции
  • ParamsCount - количество передаваемых параметров
  • Paremeter0..4 - сами параметры
  • TriggerNum - служит для группировки триггеров, чтобы не активировалось сразу несколько, если игрок ходит по группе одинаковых триггеров.

Если используются Paremeter0..4, то надо точно указать их число в ParamsCount.

Некоторые стандартные функции для триггеров можно найти в stdlib.fos.

Блокираторы стен

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

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Глобальная карта

  • Учебник
  • Картография
Глобальная карта

Глобальная карта состоит из изображения карты и маски рельефа.

Изображение

Путь, по которому находятся базовые изображения глобальной карты (она состоит из 20 так называемых плиток): master.dat\art\intrface\WRLDMPXX.FRM.
Может быть как в формате .FRM, так и в формате .png. Изображение карты для удобства можно нарезать на несколько кусков одинакового размера - тайлы (плитки). Далее, в default.ini в соответствующем месте указываете ваши изменения (если они были):

GmapTilesPic = WRLDMP%02d.FRM # Название изображений глобальной карты
GmapTilesX = 4 # Количество изображений в ширину
GmapTilesY = 5 # Количество изображений в высоту
GmapReliefMask = wmdef.msk # Маска рельефа глобальной карты

Ключ GmapTilesPic - если ваша карта одним изображением, то достаточно просто имя указать, если несколькими тайлами - то указывается маска имени.
Ключи GmapTilesX и GmapTilesY - если ваша карта одним куском, то их значения равны 1, в ином случае указываете количество изображений в ширину и высоту.
Ключ GmapReliefMask - имя маски рельефа для вашей карты. Об этом читайте ниже.

Размеры вашей карты указываются в скрипте config.fos:

__GlobalMapWidth = 28; // Maximum 100
__GlobalMapHeight = 30; // Maximum 100
__GlobalMapZoneLength = 50; // Maximum 500

Первым идет количество секторов в ширину, вторым - в высоту, а третьим - размер сектора в пикселях. Минимальные значения = 1. Таким образом, глобальная карта может быть размером от 1х1 пиксель до 50000х50000 пикселей.
Аналогичные изменения надо сделать и в скрипте worldmap.fos, если вы хотите изменить случайные встречи:

#define ZONE_COUNT_X (28)
#define ZONE_COUNT_Y (30)
#define ZONE_LENGTH (50)

Маска

Файл маски содержит сведения о рельефе местности, тем самым влияя на проходимость. Это графический файл, индексы цветов которого и несут в себе информацию о проходимости.

После создания маски, одна копия должна лежать в папке Client\data\maps. Имя маски, как описвалось выше, указывается в default.ini.
Вторая копия - в папке сервера Server\maps. Имя маски должно быть wm.msk. Серверная копия нужна для синхронизации данных.

И не забывайте, что изменив карту, вам надо менять и случайные встречи!

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Случайные встречи

  • Учебник
  • Картография
Случайные встречи

Механика случайных встреч находится в скрипте worldmap.fos, а описание самих встреч - в worldmap_init.fos (оба находятся в Server\scripts).

Для простого изменения встреч потребуется редактирование только второго скрипта.
Скрипт можно условно поделить на три части - блок составов групп (группа криттеров, генерируемых на карте), блок таблиц встреч (в каком секторе какие встречи) и блок зон (задается соответствие сектор-таблица).

Составы групп

Под составом группы подразумевается не только группа живых криттеров, генерируемых на карте, но и трупы, а так же предметы.
Описание группы производится с помощью класса CEncounterGroup:

  • TeamNum - Номер команды из _teams.fos
  • Position - Вариант расстановки криттеров на энкаунтере, подробнее смотрите в worldmap.fos
  • Spacing - Расстояние между генерируемыми криттерами
  • AddCritter - Возвращает экземпляр класса CEncounterObject. Добавляет описание криттера в группу. Параметр Pid - прототип криттера (см. Server\proto\critters\all.fopro). После добавления можно настраивать свойства криттера:
    • Ratio - Процентная доля криттеров с таким описанием в составе группы
    • Dead - Если true, то труп, по умолчанию false
  • AddItem - Возвращает экземпляр класса CEncounterObject. Добавляет описание предмета, который может появиться у криттера или на локации. Параметр Pid - номер прототипа предмета. Через точку можно настроить некоторые параметры:
    • Minimum - Минимальное количество генерируемых предметов
    • Maximum - Максимальное количество
    • Slot - Слот рук\инвентаря
  • Общее (и для криттера, и для предмета):
    • Dialog - Номер диалога из dialog.lst
    • Script - Скрипт, присваиваемый объекту
    • Distance - Расстояние от игрока до объекта
  • Checks - Различные проверки
    • CheckRandom - Шанс на появление данного криттера в составе команды, трупа или предмета на земле
    • CheckParam - Проверка на различные параметры игрока
    • CheckLVar - Проверка локальной переменной
    • CheckGVar - Проверка глобальной переменной
    • CheckHour - Проверка игрового времени
  • CEncounterObject[] Objects - Массив объектов случайных встреч, криттеров, предметов Все это легко изменить, убрать, добавить в скрипте worldmap.fos.

Пример 1:

// ARRO_Spore_Plants
@group=@EncounterGroups[GROUP_ARRO_Spore_Plants];
group.TeamNum=0;
group.Position=POSITION_SURROUNDING;
group.Spacing=3;
group.AddCritter(16).Ratio(100).Dialog(0).Script("mob@_MobInit")
.AddItem(PID_PLANT_SPIKE,2,6,SLOT_INV);
group.AddItem(PID_BROC_FLOWER).Distance(10).CheckRandom(10);
group.AddItem(PID_XANDER_ROOT).Distance(15).CheckRandom(10);
group.AddCritter(4).Dead(true).Dialog(0).CheckRandom(5)
.AddItem(PID_BOTTLE_CAPS,0,10,SLOT_INV);

GROUP_ARRO_Spore_Plants - это название генерируемой группы (объявляется в worldmap.fos), на карте генерируются криттеры с номером прототипа 16 (хищный цветок) и 4 (труп дикарки), расстановка будет круговой с расстоянием в 3 гекса между криттерами. При этом все живые криттеры будут иметь прототип 16. Инициализация этих криттеров будет производиться функцией _MobInit из скрипта mob.fos. В инвентаре криттера будут шипы растения (которыми хищные цветки плюются). На расстоянии 10 гексов от игрока с 10% шансом появления будет цветок брока и в 15 - корень зандера. У каждого предмета отдельная проверка на рандом. Так же с 5% шансом будет труп дикарки с деньгами в инвентаре в количестве от 0 до 10 штук (тоже рандом).

Пример 2:

// RDRC_Broken_Hills_Caravan
@group=@EncounterGroups[GROUP_RDRC_Broken_Hills_Caravan];
group.TeamNum=40;
group.Position=POSITION_HUDDLE;
group.Spacing=2;
group.AddCritter(61).Dialog(DIALOG_enc_brok_trader).Script("encounter_npc@_NpcInit")
.AddItem(PID_HK_CAWS,1,1,SLOT_HAND1)
.AddItem(PID_BOTTLE_CAPS,0,40,SLOT_INV)
.AddItem(PID_URANIUM_ORE,2,10,SLOT_INV)
.AddItem(PID_SLEDGEHAMMER,1,1,SLOT_INV)
.AddItem(PID_DYNAMITE,2,4,SLOT_INV)
.AddItem(PID_FIRST_AID_KIT,1,1,SLOT_INV);
group.AddCritter(48).Ratio(50).Dialog(0).Script("encounter_npc@_NpcInit")
.AddItem(PID_MINIGUN,1,1,SLOT_HAND1)
.AddItem(PID_5MM_JHP,20,80,SLOT_INV)
.AddItem(PID_BOTTLE_CAPS,0,30,SLOT_INV);
group.AddCritter(49).Ratio(50).Dialog(0).Script("encounter_npc@_NpcInit")
.AddItem(PID_MINIGUN,1,1,SLOT_HAND1)
.AddItem(PID_BOTTLE_CAPS,0,30,SLOT_INV);

В отличие от примера 1, здесь группа криттеров (караван) имеет 40 номер команды и расстановка кучкой\толпой с промежутками в 2 гекса. Криттер с прототипом 61 имеет диалог (торговец). Поскольку у этого криттера нет Ratio, он будет генерироваться всегда, тогда как количество остальных будет зависеть от Ratio.

Таблицы встреч

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

  • uint16[] LocationPids - Массив локаций, доступных для загрузки при попадании на локацию
  • CEncounter[] Encounters - Массив описаний случайных встреч
  • void AddLocationPid(uint16 locationPid) - Метод добавления локации в массив
  • CEncounter@ AddEncounter - Возвращает экземпляр класса CEncounter. Функция добавления описания случайной встречи в таблицу
    • uint chance - Шанс попадания именно этой случайной встречи
    • uint strNum - Номер строки из FOGM.MSG
    Сама случайная описывается с помощью класса CEncounter:
  • AddGroup - Функция добавления группы криттеров на локацию
    • uint group - Название группы из блока составов групп
    • uint ratioMin - Минимальное количество генерируемых криттеров
    • uint ratioMax - Максимальное количество генерируемых криттеров
  • Fighting - Инициация атаки
    • uint fromGroup - номер атакующей группы
    • uint toGroup - номер атакуемой группы
  • LocationPid - Прототип локации, имя берётся из _maps.fos)
  • Special - если true, то уникальная встреча
  • CCheck[] Checks - Массив различных проверок
    • CheckRandom - Шанс на появление данной случайной встречи
    • CheckParam - Проверка на различные параметры игрока
    • CheckLVar - Проверка локальной переменной
    • CheckGVar - Проверка глобальной переменной
    • CheckHour - Проверка игрового времени
  • AssignLVar - установка нового значения локальной переменной

Пример:

// Nav_M (Areas around Navarro)
@table=@EncounterTables[TABLE_Nav_M];
table.AddLocationPid(LOCATION_MountainEncounter1);
table.AddLocationPid(LOCATION_MountainEncounter2);
table.AddEncounter(100, 10051500).AddGroup(GROUP_NAV_Enclave_Patrol , 4, 7).AddGroup(GROUP_Player, 0, 0).Fighting(0,1).CheckLVar(LVAR_enc_loyality_enclave,'<',10);
table.AddEncounter(100, 10051500).AddGroup(GROUP_NAV_Enclave_Patrol , 4, 7).CheckLVar(LVAR_enc_loyality_enclave,'>',9);
table.AddEncounter( 5, 10051600).Special(true).LocationPid(LOCATION_SpecialBridgeEncounter).CheckParam(ST_LEVEL,'>',9).CheckLVar(LVAR_special_encounter_bridge,'<',1).AssignLVar(LVAR_special_encounter_bridge,'=',1);
table.AddEncounter( 1, 10051610).Special(true).LocationPid(LOCATION_SpecialHolyEncounter2).CheckLVar(LVAR_special_encounter_holy1,'>',0).CheckLVar(LVAR_special_encounter_holy2,'<',1).AssignLVar(LVAR_special_encounter_holy2,'=',1);

TABLE_Nav_M - название таблицы (объявляется в worldmap.fos), далее идёт список локаций, доступных для загрузки. Потом список возможных встреч. То, что Ratio=100, ещё не означает, что локация попадётся со 100% вероятностью, формула имеет более сложный вид. Как видим из проверки локальной переменной, встреча делится на две - с атакой игрока группой криттеров GROUP_NAV_Enclave_Patrol и без неё (но при любом значении переменной будет попадаться только одна из них).

  • Важно: Если группа криттеров агрессивна к игроку по умолчанию, но инициация атаки отсутствует, то эта группа атакует игрока сразу, как он появится на карте, а не по истечении таймаута неагрессивности.
    Далее идут уникальные встречи, для того, чтобы они действительно были уникальными, идёт проверка переменной, попадалась ли эта локация раньше, и если нет - то встреча происходит и значение переменной меняется на нужное. Для того, чтобы встреча состоялась, должны выполняться все условия.

Зоны

Это уже гораздо больше похоже на таблицу, где каждому сектору глобальной карты присваивается одна из таблиц встреч. То есть это значит, что в определённом секторе карты будет лишь тот набор встреч и локаций, что описаны в соответствующей таблице.
Описание таблицы производится с помощью функции SetZone:

  • uint zx - Номер сектора по оси X
  • uint zy - Номер сектора по оси Y
  • uint table - Название таблицы
  • int difficulty - Коэффициент сложности (исползуется в формуле начисления опыта за возможность отмены встречи)
  • uint terrain - Тип местности (пустыня\горы\город\побережье\вода)
  • uint morningChance - Шанс на встречу в утреннее время
  • uint afternoonChance - Шанс на встречу в дневное время
  • uint nightChance - Шанс на встречу в вечернее время

Пример:

SetZone(3 ,17 ,TABLE_Nav_M ,-40 ,TERRAIN_Mountain ,CHANCE_Frequent );
SetZone(3 ,17 ,TABLE_Ocean2_O ,0 ,TERRAIN_Water ,CHANCE_Rare );
SetZone(3 ,18 ,TABLE_Nav_O ,-25 ,TERRAIN_Coast ,CHANCE_Common );

Как видим, в одном и том же секторе (3:17) могут встретиться энкаунтеры из таблиц TABLE_Nav_M и TABLE_Ocean2_O. Всё зависит от типа местности и от изображения на картинке глобальной карты. Если там вода - то будут встречи из таблицы TABLE_Ocean2_O, в ином случае - из таблицы TABLE_Nav_M.
Подробнее о шансах можно узнать из скрипта worldmap.fos:

// Encounter frequency percentages
#define CHANCE_Forced (100) // This shouldn't change
#define CHANCE_Frequent (38) // Was 9/3d6
#define CHANCE_Common (22) // Was 8/3d6
#define CHANCE_Uncommon (12) // Was 6/3d6
#define CHANCE_Rare (4) // Was 5/3d6
#define CHANCE_None (0) // This shouldn't change

И его влияние на возможность случайной встречи:

// Check chance
uint chance;
if(IS_MORNING(__Hour)) chance=zone.MorningChance;
if(IS_AFTERNOON(__Hour)) chance=zone.AfternoonChance;
else chance=zone.NightChance;
if(uint(Random(1,100))>chance) return;
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: Диалогописание

  • Учебник
Диалогописание

Редактор диалогов

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

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: Редактор диалогов

  • Учебник
  • Диалогописание
Редактор диалогов

Общее описание возможностей и функций
Редактор диалогов (DialogEditor) представляет собой программу для написания внутриигровых диалогов.

Для запуска потребуется NET Framework 2.0. Для удобства, можете ассоциировать расширение .fodlg с редактором. Основное окно программы состоит из двух разделов - редактора диалогов и редактора переменных.

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

  • Функция "Добавить дерево" добавляет языковой раздел в диалог. Стандартом являются разделы russ и engl, название раздела должно быть строго 4 символа в длину.
  • Для того, чтобы начать редактирование диалога, необходимо добавить как минимум одно дерево.
  • Все деревья имеют одну структуру и различаются только строками. Редактировать структуру дерева диалога (добавлять или удалять диалоги, ответы, результаты и условия) возможно только у основного дерева. В редакторе основное дерево всегда располагается в первой вкладке. Необходимо отметить, что добавление новых узлов (диалогов, ответов, результатов, условий) в блоке редактирования производится в основное дерево, а не в дерево, вкладка которого открыта в данный момент.

Информация
Вкладка "Информация" отвечает за отображаемые данные объекта (НПЦ), которому установлен данный диалог.

  • Имя - отображаемое имя НПЦ.
  • Аватар - имя картинки аватара НПЦ (устарело, сейчас не используется).
  • Краткое и полное описание - первое показывается просто при наведении курсора на НПЦ, а второе - при осмотре его биноклем.
  • Переключатель "живой-без сознания-мертвый-жестокая смерть" позволяет изменить краткое и полное описание НПЦ для раличных его состояний. (Пример: Это лежит трупик Кенни. Сволочи!)
  • Номер - номер текущего набора описания. Можно сделать сколько угодно разных описаний (под разными номерами), выбор будет осуществляться случайным образом.

Диалог
Вкладка "Диалог" служит для добавления реплик НПЦ. Все внутреннее взаимодействие в диалоге осуществляется посредством перехода с одной реплики на другую. Нельзя ссылаться на несуществующую реплику. Если реплика была удалена из диалога, то, при созданной ранее ссылке на нее, возникнет ошибка ("Битая ссылка диалога" в Чате игры).

  • Текст диалога - непосредственно текст. Возможна вставка тегов.
  • Номер диалога - отображаемый внутренний номер диалога. Должен быть уникальным для каждой реплики.
  • Auto ID - автоматическое присвоение номера к диалогу. Если включено - следующему диалогу будет присвоен следующий доступный номер. Пример: Имеются диалоги [2], [3] и [10]. При включенном Auto ID и добавленном варианте [3], следующий вариант будет с номером [4]. Если добавить вариант [9], то следущий будет уже с номером [11]. Скрипт - запускаемый скрипт. Стандартные варианты - None (закрыть диалог в случае отсутствия ответа игрока) и Attack (напасть на игрока в случае отсутствия ответа). Возможно использование любых иных скриптов. Более подробно этот вопрос рассматривается на странице Работа с диалогом в разделе Функции диалога.
  • Не перемешивать ответы - включает\выключает перемешивание ответов в диалоге. Перемешивание также можно отключить в настройках сервера. По умолчанию: включено.
  • При отсутствии вариантов ответа на какую-либо реплику, она будет отображаться непосредственно над головой НПЦ вне диалогового окна (то есть как обычный разговор).

Ответ
Данная вкладка описывает возможные ответы игрока на реплики НПЦ. Именно на ответы устанавливаются условия, результаты и переходы к другим диалогам.

  • Текст ответа - текстовая часть ответа. Возможно использование тегов.
  • К диалогу - если выбрано, при данном варианте ответа осуществится переход к указанному диалогу. В редакторе имеет вид [->X], где Х - номер реплики НПЦ.
  • Другой - если выбрано, при данном варианте ответа осуществится указанное действие из списка - атака, бартер, закрытие диалога и возврат к предыдущему диалогу.

Условие
Вкладка "Условие" служит для определения условий, согласно которым отображаются те или иные варианты ответов. Прикреплять условия можно только к ответам игрока.

  • Условие может быть установлено для игрока или для НПЦ. Некоторые условия можно установить только на игрока (репутация, количество убийств)
  • Использование условий очевидно, а вариантов очень много. На один ответ можно повесить несколько разных условий. При работе с переменными, целесообразно проверять точный статус нужной переменной через "равно". Если х_х_х = 0 - показать вариант с получением квеста.
  • Скрипт: поставьте скрипт со специфической проверкой. Впишите имя скрипта (самого файла), потом функцию через "@". Для функций скриптовых проверок в диалогах используются названия с префиксом "d_" (demand). Скрипту можно передавать до пяти аргументов - для того, чтобы одной и той же функцией можно было проверять любое числовое значение, вписанное в аргумент.
  • Кнопка "Или" добавляет оператор "OR" между условиями. По умолчанию условия перечисляются через оператор "AND".

Результат
Вкладка "Результат" отвечает за возможные последствия при выборе ответа. Результаты так же прикрепляются только к вариантам ответа.

  • Результат может применяться как к игроку, так и к НПЦ. Можно отобрать у игрока 100 монет и добавить НПЦ 100 монет, тем самым сделав "передачу денег".
  • Возможно выполнение специального скрипта, указанного в поле "скрипт". Скрипту также можно передавать до пяти аргументов.
  • Результат может принимать пять значений - плюс, минус, разделить, умножить и приравнять.
  • В остальном, использование результатов аналогично использованию условий.

Строки
Вкладка "Строки" служит для использования строк в скриптах (например, сюда можно вписать фразы НПЦ, вызываемые над его головой скриптом как реакция на какие-то действия игрока).

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

Преддиалоговые установки
После создания нового \ открытия существующего диалога, вариант [1] является преддиалоговыми установками. К ним движок обращается, когда игрок активирует диалог с НПЦ, они определяют, с какой фразы начнется разговор. Сам текст "преддиалоговые установки" или ответы на него нигде в игре не отображаются. К этому варианту можно добавить ответы с определенными условиями, результатами и переходом к другим вариантам. В зависимости от условий, будет осуществлен переход к указанному диалогу. Можно использовать, например, для определения интеллекта игрока и перехода к обычной ветке (условие - интеллект больше 3) или к тупому варианту (условие - интеллект меньше четырех). Если с преддиалоговых установок не ведет никаких ответов, или нет ответов, которые соответствуют каким-то условиям, то диалог попросту не начнется.

Теги в диалогах

Теги позволяют формировать содержимое строк "на лету", в зависимости от некоторых условий.

Тэг @sex@
Этот тэг позволяет задать альтернативы содержимого строки, которые будут выбираться в зависимости от пола игрока.

Формат тега:

@sex@|<строка для игрока мужского пола>||<строка для игрока женского пола>|

Пример типичного использования в диалоге:

Диалог: Привет, @sex@|братишка||сестричка|! Чего-нибудь надо?
Ответ: Да нет, ничего. Просто проходил@sex@|||а| мимо.

Тэги @pname@ и @nname@
Вместро тэга @pname@ в строку подставляется имя игрока, а вместо @nname@ - имя НПЦ, с которым ведется диалог.

Пример типичного использования в диалоге:

Диалог: Привет, @pname@!
Ответ: Привет, @nname@.

Тэг @@
Этот тэг позволяет добиваться относительного разнообразия в репликах НПЦ и игроков. Например, нищий на улице может в различной форме выражать свое недовольство жизнью, или торговец при предложении своего товара, вместо одной и той же реплики, может спрашивать: "Что-нибудь еще?", или "У меня, как-никак, отличный выбор и отличные цены. Хотите взглянуть?", или "Сегодня отличный день. Ничего не хотите приобрести?" и т. д. и т. п.

Тэг @@ разделяет фразы, которые впоследствии будут выбраны случайным образом.

Пример типичного использования в диалоге:

Диалог: Привет.@@Привет!@@Здаров.

В результате НПЦ каждый раз будет приветствовать игрока по-разному (или не совсем, тут уж все решает алгоритм генерации случайных чисел).

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


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

  • Учебник
  • Диалогописание
Редактор переменных

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

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

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

  • Глобальные – используются для контроля над каким-либо глобальным процессом. Например, проходит ли кто-либо определенный квест или нет. Значение глобальной переменной для всех игроков одинаково;
  • Локальные – чаще всего используются для сохранения информации о состоянии квеста, в рамках отдельно взятого игрока. Значение локальной переменной для всех игроков индивидуально;
  • Уникальные – используется для сохранения информации о NPC, в рамках отдельно взятого игрока. Значение уникальной переменной индивидуально для всех NPC относительно каждого игрока.

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

  • Id - уникальный номер, по которому будет определяться игровая переменная;
  • Name - имя переменной;
  • Start - начальное значение переменной;
  • Min - минимальное значение переменной;
  • Max - максимальное значение переменной;
  • Description - описание переменной.

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

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

  • q - quest (указывает на то, что значениям переменной соответсвуют строки в файле описании квестов (FOQUEST.MSG). Эти строки потом отображаются в пип-бое).
  • location - название города в сокращенном варианте (den, mod, vc, klam etc).
  • 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-ый клик НПЦ может разозлиться или сказать шутку. Переменная не имеет границ, поэтому на деле ее можно использовать для счета чего угодно.
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: Пособия

  • Учебник
Пособия

Написание диалога

Создание карт

Создание локации

Изменение интерфейса

Изменение интерфейса скриптами

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Написание диалога

  • Учебник
  • Пособия
Написание диалога

Лучше всего начинать создание диалога с написания непосредственно фраз в Блокноте.

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

Диалог составляется по следующей маске:

-Фраза НПЦ.
--Ответ 1
--Ответ 2
--Ответ ...

И так много раз.

Диалог всегда начинается со фразы НПЦ. Конечно, этой фразой может быть и "НПЦ молчит и внимательно смотрит на вас".

Когда готов текст диалога, можно начинать прогонять его через редактор. Это просто: сначала копируются все фразы НПЦ (не выходя из закладки "Диалог"), заnем на них навешиваются ответы. Если вам не нравится перемешивание фраз в диалогах, не забудьте в самом начале поставить галочку "Не перемешивать ответы", после этого только начинать добавлять диалоги. После того, как на все диалоги повешены ответы, на них можно вешать условия и результаты, прописывать преддиалоговые установки. Процесс прогонки диалога со сложной структурой через редактор может занять столько же времени, сколько заняло само написание. Хорошей комбинацией является написание диалога в вечерние-ночные часы (активно творческое мышление) и последущая прогонка через редактор в утренние (активна логика, острее внимание).

Помните, что в отличие от оригинала, реплика с активацией бартера не ведет на другую фразу НПЦ, а оставляет на этой же. Однако, на ответ с активацией бартера можно повесить активацию какой-нибудь переменной, означающей, что бартер был. Потом создать два набора ответов: до бартера и после. Это создаст впечатление перехода на другой диалог. Например:

{}{}{Чего изволите?} //Фраза НПЦ.
{}{}{Давай поторгуем.} //Показывается только до бартера.
{}{}{Ничего, мне пора сваливать.} //Показывается только до бартера.
{}{}{Покажи свое барахло еще раз.} //Показывается только после бартера.
{}{}{Это все, спасибо.} //Показывается только после бартера.
{}{}{Pundmuk good. No harm Pundmuk.} //Независимо от бартера.

Старайтесь использовать побольше "опорных пунктов" (hub) и циклов в диалогах: это диалог НПЦ, к которому ведут фразы вида "Хочу спросить кое о чем", сам диалог выглядит как "О чем вы хотите спросить" (обычно со множеством разных вариантов этой фразы через теги), снизу дан список вопросов. Замена разных 2-3 вопросов под каждой фразой НПЦ на "хочу спросить еще кое о чем" сильно снижает времезатраты при написании.

Пример громоздкого диалога:

--Эй, расскажи мне о деревне.
-В деревне у нас нелады. Бури, гром, червие.
--Расскажи мне о бурях.
--Расскажи мне о громе.
--Расскажи мне о червие!
--Ужас, ужас, ухожу.
-Бури как бури.
--Ну а громы?
--А с червием-то что?
--Ну не хочешь говорить, тогда я уйду.
-Гром как гром. Гремит.
--А бури?
--А с червием-то что?
--Ну не хочешь говорить, тогда я уйду.
-Червие точит.
--А бури что?
--А как гром? Гремит, небось?
--Ух, стратотень, ухожу.

Пример оптимизированного диалога:

-В деревне у нас нелады. Бури, гром, червие.
--Расскажи мне о бурях.
--Расскажи мне о громе.
--Расскажи мне о червие!
--Не хочу больше ничего знать, ухожу!
-Бури как бури.
--Расскажи еще о деревне.
--Ну не хочешь говорить, тогда я уйду.
-Гром как гром. Гремит.
--Расскажи еще о деревне.
--Ну не хочешь говорить, тогда я уйду.
-Червие точит.
--Расскажи еще о деревне.
--Ух, стратотень, ухожу.

В оптимизированном варианте каждый вариант "расскажи еще" отсылает на первую фразу.

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

Стандарты написания диалогов

Права сценариста
Сценарист вправе сам выбирать, какими переменными ему пользоваться для того, чтобы раскрыть НПЦ и Игроку было наиболее комфортно и интересно с ним разговаривать.
Сценарист вправе придумывать свои переменные для общего пользования, только обязан их описать - для чего они нужны и как их лучше использовать.

Обязательные требования к оформлению:

  1. Писать грамотно (орфография, пунктуация...).
  1. Комментарии писать в квадратных скобках с большой буквы.

Пример:

Пока. [Уходите]
[далее] не правильно, правильный вариант [Далее]
[Пффф.] не правильно, правильный вариант [Пффф]
  1. Предложения внутри [] разделяются точкой, в конце точка не ставится.
  1. Примерный перечень ответов персонажа с интелектом <4 (или делать в подобной стилистике):
    "Ууугы!" "Уго уго." "Угуук." "Моя пошел." "Гым?" "Агу-агу!" - "Пока."
    "Ооо!" "А?" "Чо?" "Ыг-ггг!" "Ага!" "Моя" - "Да."
    "Мая не хотеть" "Ниа" "Хр-рррррл!" "Ррр?" - "Нет."
    "Моя нада ба раххлооо!" "[Смотрите на прилавок и показываете пальцем] Менять!" - бартер
    Также можно применять простые слова с искажениями, на усмотрение автора.

Некоторые рекомендации

  • Не забывайте, что диалог может вестись с игроком как мужского, так и женского пола. Активно используйте тэг @sex@ .
  • При написании диалога также старайтесь внимательно отнестись к тому, как НПЦ обращается к игроку, на "ты" или на "вы". Это нужно для того, чтобы диалог выглядел целостно. Конечно, обращение можно менять, если НПЦ познакомился с игроком, или игрок стал другом НПЦ (смотрите уникальную переменную loyality), или выполнилось какое-либо другое условие.
  • Используйте комментарии в квадратных скобках после ответа игрока только если его действия после выбора этого ответа неочевидны. Пример того, что не стоит использовать: "Пока, я ухожу. [Выход из диалога]". Такая фраза отучает игрока думать, он кликает по фразам, ориентируясь только по комментариям в скобках. Пример того, что можно использовать: "Пока, я ухожу. [Приставить ствол к его животу и нажать на курок]".
  • Описывайте действия в скобках в ответах игрока как "Попытаться сделать", "Сделать" (Пример: [Попытаться стянуть у него пропуск из кармана] / [Уйти]). Не используйте в ответах фраз вида "Вы делаете..." (Реальный пример: [Вы подскакиваете к его компьютеру, скачиваете нужные данные, форматируете диск, рисуете в фотошопе новые обои, потом убегаете, похлопав его по плечу]). Подобные фразы _очень_ раздражают игрока. Особенно, если вариант ответа только один. Во-первых, возникает логичный вопрос: "Какого хрена? А если я хотел сделать по другому?", во-вторых, игрок ощущает себя не участником процесса, а просто зрителем, которому надо нажать на кнопку для продолжения кино.

  • Логично будет, если после заявок на действия их можно будет провалить. Самая распространенная ошибка: фраза [Попытаться сделать], на которую повешено условие SK_НАВЫК>xx%, но при этом отсутствует фраза [Попытаться сделать] c условием SK_НАВЫК<xx%, которая будет вести к провалу.

    ИЗБЕГАЙТЕ ЭТОГО!
    ИЗБЕГАЙТЕ ЭТОГО!
    ИЗБЕГАЙТЕ ЭТОГО!

    Всегда надо давать игроку шанс попробовать что-то сделать. А если это приведет к провалу, то ему надо дать понять, какого навыка ему не хватило, чтобы он мог потом попробовать повторить это действие прокачавшись, загрузив старый сейв или придя другим персонажем в мультиплеере. То, что фраза просто не появляется, выглядит больше как баг.

FAQ по диалогописанию:

1. Какое название у прототипа денег? Весь список перерыл, ничего нет.
PID_BOTTLE_CAPS. Название такое из-за того, что разработчикам Fallout2 было лень переименовывать все проверки на деньги в скриптах из Fallout 1. Прототип настоящих бутылочных крышек так и называется: PID_REAL_BOTTLE_CAPS.
Если у вас есть трудности с нахождением названия какого-то другого прототипа, найдите его номер в маппере по картинке, а потом отыщите название в файле ItemNames.lst.

2. Как поставить проверку на пол персонажа?
Используйте проверку по ST_GENDER. 0 - мужчина, 1 - женщина. Вопреки распространенному мнению.

3. Как сделать всплывающие фразы над головой персонажа?
Просто не добавляйте вариантов ответа к реплике НПЦ. Она появится над его головой. Для "неразговорчивых" НПЦ, выдающих случайные фразы, используется просто переход на диалог №2 с преддиалоговых установок, с набором фраз через тег "@@" в диалоге.

4. Что надо писать в ответах к преддиалоговым установкам?
Ничего, они никак не отображаются в игре. Можно эти поля использовать для комментариев ("Эта ветка ведет на квест", "Ветка для персонажа, выполнившего квест", и так далее).

5. Как тестировать диалоги?
Используйте программу DialogPlayer.

6. Почему не работает редактор?????!!!!!!!!!111111111
Возможно, не установлен .NET Framework. Возможно, что-то еще. Поищите темы с troubleshooting'ом в разделе по редактору диалогов на форуме.

7. Я хочу, чтобы НПЦ атаковал игрока после того, как тот нажмет на финальную фразу. Но игрок может нажать 0, чтобы закрыть диалог, и безнаказанно убежать. Как этого избежать?
Выберите опцию "Attack" в поле "Script" в закладке добавления диалога. НПЦ будет атаковать игрока, если тот не выбрал ответа на этот диалог.

8. Надо ли писать "Вы видите..." в кратком описании?
Да.

9. Можно ли включить в FAQ еще какой-то глупый вопрос?
Присылайте - включим.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Создание карт

  • Учебник
  • Пособия
Создание карт

Создаем первую карту

Для того, чтобы создать новую карту, вызовите консоль [Enter] и наберите “*new”.

Выберите в открывшемся окне Tile, и разместите несколько тайлов. Для этого щелкните по тайлу в поле выбора объекта левой кнопкой, затем правой кнопкой, чтобы курсор принял форму выбранного тайла, а затем по полю карты левой кнопкой. Помните, что можно выделить тайлы и скопировать их ([Ctrl+C] по выделенным тайлам, затем [Ctrl+V], клик правой кнопкой и перенос в нужное место).

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

Теперь попробуем разместить стены. Для этого щелкните Wall, и разместите несколько стен. Помните, что при расстановке стен по диагонали необходимо чередовать короткие и длинные куски.

Каждый раз, когда вы ставите стену, у вас будет появляться подобное окно (выделено красной рамкой). Для того, чтобы убрать ее, щелкните левой кнопкой по карте. Можно также выключать ее отображение клавишей [F9], однако это не рекомендуется, так как вам все равно придется «отключать» ее левым щелчком по карте. Конкретно для стен вам вряд ли потребуется изменение каких-либо настроек.

Переключитесь в Gen и поставьте вентиляцию и компьютер.

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

DoorId – этот параметр соответствует номеру ключа, на который закрывается дверь.

Complexity – уровень сложности замка. Высчитывается по формуле «Навык взлома – сложность замка». Максимальное значение – 95.

Со значениями по умолчанию (0,0) дверь можно открывать без ключа.

Когда у нас поставлена дверь и сделана комната, самое время проверить блокеры. Уберите видимость стен [F3] и нажмите [Ctrl+B].

Как видите, некоторые гексы оказались свободнопроходимыми. Это связано с тем, что блокировка у одного объекта распространяется только на один гекс, чтобы наша комната получилась действительно изолированной, выберите во вкладке Fast зеленый гекс с буквой W и поставьте его на место пробелов (если потребуется – включите обратно отображении стен.

Теперь в комнату уже никто не пройдет. Но не стоит забывать, что блокировка требуется не только стенам, но и gen-объектам. В нашем случае это компьютер. Выберите во вкладке Fast ярко-зеленый гекс с буквой S, и расставьте его по всем проходимым клеткам около компьютера.

Блокеры W отличаются от блокеров S тем, что последние могут простреливаться.

После того, как наша комната оказалась действительно изолированной, мы можем поставить около нее несколько криттеров.

Когда вы выбираете криттера, внизу в поле выбора объектов у него автоматически открывается вкладка инвентарь. Сейчас она пуста. Для того, чтобы добавить в инвентарь криттера объекты, щелкните по нужной вам вкладке (например, оружие), и нажмите на объект с зажатым [Alt]. Он добавится в инвентарь. Если вы хотите добавить оружие в слот криттеру, поместите его в инвентарь, а затем щелкните по оружию в инвентаре с зажатым [Shift].

Кроме вкладки инвентаря, открывается окно параметров криттера.

  • ProtoId – номер прототипа NPC, в котором описаны все его характеристики и параметры брони.
  • DialogId – номер диалога.
  • AiPacket - информация об искусственном интеллекте NPC, находятся в AI.TXT. Если стоит 0, то информация берется из прототипа NPC.
  • ScriptId – номер скрипта, если есть.
  • Cond и CondExt – начальные состояния криттера, значения находятся в _defines.fos.
  • IsMob – моб ли этот NPC. Если да, то он всегда будет атаковать любого игрока, и его радиус обзора увеличен в 2 раза.
  • BagId – отвечает за инвентарь NPC.
  • TeamId – отвечает за команды NPC. Значения можно посмотреть в файле Teams.txt. Новые команды рекомендуется создавать после согласования.

После того, как вы справились с этой задачей, приступим к окончательному созданию пола. Переключите Tab’ом режим выделения, отметьте Tile на панели выделения, и скопируйте тайлы на всю карту.

Самое время расставить скроллблокеры – блокираторы прокрутки, не дающие игроку пролистать дальше карты. Для этого во вкладке Fast выбираем белый гекс с буквой S и расставляем их в нужном порядке, желательно прямоугольником, не забывая пользоваться возможности копирования (для этого нужно отметить Scen в настройках выделения).

Помните, что минимальный размер карты должен подходить под разрешение 1280х1024. Проверяйте карты при разных размерах окна маппера (он, также как и клиент, подчиняется FOConfig).

Расставив все блокеры, нам нужно сделать две следующие вещи: сделать точку входа на карту и отметить точки выхода. Не забудьте поставить точки входа для транспорта (243 и 245), если карта это предполагает.

На каждой карте обязательно должен присутствовать один объект Scen и Wall. На картах пустыни их можно поставить за скролл-блокеры. Без них маппер может вылетать при попытке сохранения карты.

FAQ по картостроению:

1. Как сделать ящики/двери закрытыми?
Выставьте им произвольный LockerId. Теперь ящик закрыт. Если вы хотите повысить сложность взлома, выставьте некое значение Complexity. Сложность замка не принято выставлять больше, чем 95. Проверка на взлом осуществляется по формуле RANDOM(5,95)<(SK_LOCKPICK-Complexity). Если вы хотите сделать невзламываемую дверь, либо выставьте ей сложность замка = 300, либо пропишите ей скрипт item@_ClosedDoorInit. Для того, чтобы дверь сама захлопывалась со временем, присвойте ей скрипт item@_DoorAutoCloseInit.

2. Как рисовать трупы?
Откройте окно свойств криттера. Выставьте Cond=3. Далее, при необходимости, пропишите нужный CondExt (тип смерти):

#define COND_DEAD_FRONT (1)
#define COND_DEAD_BACK (2)
#define COND_DEAD_BURST (3)
#define COND_DEAD_BLOODY_SINGLE (4)
#define COND_DEAD_BLOODY_BURST (5)
#define COND_DEAD_PULSE (6)
#define COND_DEAD_PULSE_DUST (7)
#define COND_DEAD_LASER (8)
#define COND_DEAD_EXPLODE (9)
#define COND_DEAD_FUSED (10)
#define COND_DEAD_BURN (11)
#define COND_DEAD_BURN2 (12)
#define COND_DEAD_BURN_RUN (13)

Не у всех криттеров есть все типы смерти.
Если вы не хотите, чтобы криттер "ожил" через некоторое время, пропишите ему ST_REPLICATION_TIME=-1. Cond=2 - криттер в нокауте. Однако, он встанет сразу после загрузки сервера, поэтому лежачим криттерам надо присваивать индивидуальный скрипт.

3. Как сделать многоэтажную карту?
Многоэтажных карт, как в Fallout 1/2, в FOnline нет. Чтобы сделать карту многоэтажной, просто нарисуйте несколько отдельных карт, пропишите их в Locations.cfg как части одной локации, а затем свяжите лестницами и переходами.

4. Как сделать оружие изношенным?
Откройте панель свойств оружия, впишите нужное значение износа в поле "DeteorationValue". Можно также выставить количество поломок (DeteorationCount) или сделать оружие сломанным (DeteorationFlags). Флаги поломок:

#define BI_LOWBROKEN (0x01)
#define BI_NORMBROKEN (0x02)
#define BI_HIGHBROKEN (0x04)
#define BI_NOTRESC (0x08)
#define BI_BROKEN (0x0F)
#define BI_SERVICE (0x10)
#define BI_SERVICE_EXT (0x20)
#define BI_ETERNAL (0x40)

5. Напомните, как рисовать крышу?
Тайлы крыш находятся в одном списке с тайлами пола. Для того, чтобы переключиться между рисовкой крыш или пола, нажмите среднюю кнопку мыши (колесико).

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: Создание локации

  • Учебник
  • Пособия
Создание локации

Создание локации

В данном документе объясняется, как создать свою локацию и вставить ее затем в игру.

  1. Соберите вместе все необходимые вам карты. Сделайте им одинаковые имена, вроде "testloc_entrance.map" и "testloc_bunker.map".
  1. Откройте свои карты, расставьте там гексы выхода или лестницы с параметрами, соответствующими номерам карт, которые вы выбрали.
  1. Найдите в той же папке Server\Maps файл Locations.cfg. Откройте, найдите свободную позицию. Статичные локации обычно идут в начале списка, квестовые, которые создаются скриптом - в конце. Впишите туда свою локацию и ее две карты.
    [Area 200]
    name=Testloc
    max_copy=1
    size=12
    map_0=testloc_entrance
    map_1=testloc_bunker
    entrance=0 (вход на локацию только один, на карту testloc_entrance,
    visible=1 не забудьте там оставить точку входа с номером 0.)
    auto_garbage=0
    Если вы хотите иметь возможность доступа к картам через скрипты (в частности - для телепортации на нужню карту), следует в Server\scripts\_maps.fos в блоке Maps внести по образцу свои карты, а их номера указать в конце строк map_0 и map_1
  1. Если вы хотите, чтобы ваша локация была на глобале с самого начала игры, найдите в папке Server\Maps файл GenerateWorld.cfg и впишите туда номер своей локации с координатами, на которых она будет генерироваться при запуске сервера. Вроде того:
    @ 200 777 466 # Test loc. (первое число - номер, дальше координаты X и Y глобальной карты)
    Локация уже физически присутствует на карте, и туда можно зайти, но пока не хватает многих важных деталей, вроде звукового оформления карт и названия локации, которое будет отображаться на глобале. Чтобы сделать все это, лезем в файл FOGM.MSG, который находится в директории Server\Text, по одному файлу на каждый используемый язык.

Для начала, прописываем звуки каждой карте по отдельности. Ищем, куда вписать # Map 90 и 91, выбираем им названия, музыку и звуки. Проще всего это сделать копированием звукового окружения других карт.

Далее - прокручиваем список вниз, до строки "# Global map". Внимательно изучаем формат записи. Тут оформляется уже сама локация - кружок на глобальной карте и все, что с ним связано. Обязательными для каждой локации являются поля Name и Info. Также тут можно выбрать:

  • Заставку локации, которая показывается при выборе точек входа;
  • Картинку, которая будет отображаться в списке локаций на глобальной карте;
  • Названия и координаты точек входа.

Пример:

# Test loc, pid 200, base 300000
{300000}{}{Тестовая локация.} - название
{300005}{}{Не заходи - убьет!} - информация под названием.
{300020}{}{art\intrface\twntestloc.frm} - заставка.
{300030}{}{art\intrface\WM_TSTLC.FRM} - картинка для списка.
{300090}{}{1} - посчитали точки входа. У нас она одна.
{300101}{}{Вход} - назвали точку входа.
{300102}{}{200} - координата Х.
{300103}{}{255} - координата Y.

Готово!
Локация сгенерировалась на карте и оформлена.

Наиболее частые ошибки:

  • Опечатки в номерах строк в файле FOGM.MSG. Исправляется с опытом.
  • Перед тестовым запуском сервера не очищены сейвы мира. Без этого локация не сгенерится.
  • Локации не выставлен параметр visible=1.

Также не пугайтесь, если все сделано правильно, но локации не видно на карте. Проблема может быть в том, что персонаж создан до появления локации, у него ее еще нет в памяти. Попробуйте сначала подойти на то место, где она должна быть - она появится. Если нет - то проблема где-то в файлах сервера.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:03. Создано системой doxygen 1.8.3.1


FOnline: Изменение интерфейса

  • Учебник
  • Пособия
Изменение интерфейса

Простое изменение интерфейса

Для изменения базового интерфейса игры требуется редактирование файла default.ini, расположенного в папке Client\data\art\intrface. Структура файла проста и понятна. Есть ключ - есть его значение. Каждый ключ снабжен комментарием, к какому элементу интерфейса он относится или для чего он служит. Лишние пробелы и знаки табуляции игнорируются. В данном примере оба ключа будут работать:

key=value
key = value

Для удобства, ключи, относящиеся к определенному элементу интерфейса (окну), располагают в одном блоке. Если в файле попадаются идентичные ключи, то значения будут использоваться у того ключа, что расположен дальше по файлу. Также, значения ключей можно получить на стороне скриптов.

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

resolution 1024 768
key = value
...

Это означает, что все "key = value" до следующего ключевого слова resolution (или до конца файла) будут включены в итоговый ini. Найденные данные вставляются в итоговый файл по мере роста ширины экрана.

Кроме default.ini, возможно использование дополнительных ini-файлов. Движком автоматически добавляется только default.ini, остальные можете подключать в функции start() скрипта клиента. Пример подключения ini-файлов окон 3d-регистрации и инвентаря со слотом для головы:

bool start()
...
#ifdef PLAYERS_3D
AppendIfaceIni("players3d_chareg.ini");
#ifndef PLAYERS_3D_NO_HEAD
AppendIfaceIni("players3d_headinv.ini");
#endif
#endif
...

Если имя имеет слеши, то поиск производится из корня папки data, если нет, то в папке data/art/intrface/. Загрузка происходит последовательно от default.ini до подключенных пользователем, в порядке вызова. Проверяется каждый пакованный файл, в порядке загрузки, потом в самой папке.

Как измененять интерфейс с помощью скриптов - читайте здесь.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Изменение интерфейса скриптами

  • Учебник
  • Пособия
Изменение интерфейса скриптами

Изменение интерфейса с помощью скриптов

Когда-нибудь здесь будет подобно все описано.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Список задач

Список задач
Группа CritterFindTypes
Написать пример.
Страница Инструментарий

Описать Редактор диалогов.

Описать Редактор объектов.

Описать Редактор крафта.

Страница Описание
Дать более развернутое описание.
Страница Термины
Добавить больше терминов.
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Группы

Группы
Полный список групп.
[detail level 123]
o Стандартные классы и функции | Список стандартных классов и функций
o API сервера |
| \ Зарезервированные скриптовые функции | Используются только в скрипте main.fos
o API клиента |
| \ Зарезервированные скриптовые функции (Клиент) |
o API маппера |
\ Константы |
o События |
| o Critter events | События для криттеров
| o Item events | События для предметов
| \ Map events | События для карт
o Параметры криттеров |
| o Привыкания |
| o Травмы/болезни |
| o Карма |
| o Специальные параметры |
| o Перки |
| o Репутация |
| o Навыки |
| o Статы |
| o Профильные навыки |
| o Таймауты |
| \ Трейты |
o Access levels | Уровни доступа
o Body types | Виды существ
o Car flags | Флаги машин
o Client screen types |
o Combat modes | Режимы боя
o Critter actions | Действия криттера
o Critter conditions | Состояния криттера
o Critter extra flags | Дополнительные флаги для криттеров
o Critter find types | Флаги поиска криттеров
o Critter look types |
o Cursors |
o Dialog links | Специальные действия в диалогах
o DirectInput keyboard scan codes |
o Draw primitive types | Типы примитивов
o Elevators | Интерфейсы лифтов
o Fix boy craft results |
o Fix boy function call states |
o Font flags |
o Fonts |
o Gender | Пол
o Generic descriptions types |
o Global map events | Типы событий возникающих на глобальной карте
o Global map fog | Состояния тумана на клетках глобальной карты
o Hit locations |
o In SendMessage | Круг получателей сообщения, отсылаемого методом Critter::SendMessage
o Item broken flags |
o Item flags | Флаги предметов
o Item look types | Типы описаний предметов
o Items accessory | Местонахождения предметов
o Items types | Типы предметов
o Locker | Флаги состояния замков
o Look checks | Типы проверок видимости
o MessageBox message types |
o Mouse click states |
o Msg nums | Номера файлов *.msg с текстами игры
o Paths |
o Planes default priority |
o Planes reasons |
o Planes types | Типы планов
o Radio flags | Флаги рации
o Say types |
o Scores |
o Show screen modes | Типы клиентских окон
o Слоты | Слоты инвентаря криттера
o Sound types | Виды звуков
o Special skill values | Константы, использующиеся в обработчиках событий, ITEM_EVENT_SKILL, CRITTER_EVENT_SMTH_USE_SKILL, CRITTER_EVENT_USE_SKILL, глобальном обработчике critter_use_skill и обработчике сценери для определения того, что именно сделал криттер при взаимодействии
\ Transfer types | Типы трансфера
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Стандартные классы и функции

Классы
Стандартные классы и функции

Список стандартных классов и функций. Подробнее...

Классы

class | dictionary
Класс, представляющий собой ассоциативный контейнер, отображающий множество строковых ключей в множество значений любого типа. Подробнее...
class | file
Класс, предназначенный для чтения и записи текстовых файлов. Подробнее...
class | string
Класс для работы со строками. Подробнее...

Игровые функции

void | AllowSlot (uint8 index, string &iniOption)
Разрешает использование дополнительного слота с указанным номером. Подробнее...
void | SetRegistrationParameter (uint index, bool enabled)
Позволяет определить параметры, которые отсылаются серверу при регистрации. Подробнее...

Математические функции

float | cos (float x)
Возвращает косинус указанного угла. Подробнее...
float | sin (float x)
Возвращает синус указанного угла. Подробнее...
float | tan (float x)
Возвращает тангенс указанного угла. Подробнее...
float | acos (float x)
Возвращает угол, косинус которого равен указанному числу. Подробнее...
float | asin (float x)
Возвращает угол, синус которого равен указанному числу. Подробнее...
float | atan (float x)
Возвращает угол, тангенс которого равен указанному числу. Подробнее...
float | atan2 (float y, float x)
Возвращает угол, тангенс которого равен отношению двух указанных чисел. Подробнее...
float | cosh (float x)
Возвращает гиперболический косинус указанного угла. Подробнее...
float | sinh (float x)
Возвращает гиперболический синус указанного угла. Подробнее...
float | tanh (float x)
Возвращает гиперболический тангенс указанного угла. Подробнее...
float | log (float x)
Возвращает натуральный логарифм указанного числа. Подробнее...
float | log10 (float x)
Возвращает десятичный логарифм указанного числа. Подробнее...
float | pow (float base, float exponent)
Возвращает указанное число, возведенное в указанную степень. Подробнее...
float | sqrt (float x)
Возвращает квадратный корень из указанного числа. Подробнее...
float | ceil (float x)
Возвращает наименьшее целое число, которое больше или равно заданному числу. Подробнее...
float | abs (float x)
Возвращает абсолютное значение указанного числа. Подробнее...
float | floor (float x)
Возвращает наибольшее целое число, которое меньше или равно указанному числу. Подробнее...
float | fraction (float x)
Возвращает дробную часть указанного числа. Подробнее...

Функции для работы со строками

string | substring (const string &in str, int start, int length)
Возвращает подстроку указанной строки. Подробнее...
int | findFirst (const string &in str, const string &in sub)
Возвращает индекс первого вхождения указанной подстроки в указанной входной строке. Подробнее...
int | findFirst (const string &in str, const string &in sub, int startAt)
Возвращает индекс первого вхождения указанной подстроки в указанной входной строке. Подробнее...
int | findLast (const string &in str, const string &in sub)
Возвращает индекс последнего вхождения указанной подстроки в указанной входной строке. Подробнее...
int | findLast (const string &in str, const string &in sub, int startAt)
Возвращает индекс последнего вхождения указанной подстроки в указанной входной строке. Подробнее...
int | findFirstOf (const string &in str, const string &in set)
Возвращает индекс первого встретившегося символа во входной строке, принадлежащего указанному множеству символов. Подробнее...
int | findFirstOf (const string &in str, const string &in set, int startAt)
Возвращает индекс первого встретившегося символа во входной строке, принадлежащего указанному множеству символов. Подробнее...
int | findFirstNotOf (const string &in str, const string &in set)
Возвращает индекс первого встретившегося символа во входной строке, не принадлежащего указанному множеству символов. Подробнее...
int | findFirstNotOf (const string &in str, const string &in set, int startAt)
Возвращает индекс первого встретившегося символа во входной строке, не принадлежащего указанному множеству символов. Подробнее...
int | findLastOf (const string &in str, const string &in set)
Возвращает индекс последнего встретившегося символа во входной строке, принадлежащего указанному множеству символов. Подробнее...
int | findLastOf (const string &in str, const string &in set, int startAt)
Возвращает индекс последнего встретившегося символа во входной строке, принадлежащего указанному множеству символов. Подробнее...
int | findLastNotOf (const string &in str, const string &in set)
Возвращает индекс последнего встретившегося символа во входной строке, не принадлежащего указанному множеству символов. Подробнее...
int | findLastNotOf (const string &in str, const string &in set, int startAt)
Возвращает индекс последнего встретившегося символа во входной строке, не принадлежащего указанному множеству символов. Подробнее...
string[] | split (const string &in str, const string &in delimiter)
Разбивает указанную строку на подстроки, используя указанный разделитель. Подробнее...
string[] | splitEx (const string &in str, const string &in delimiter)
Разбивает указанную строку на подстроки, используя указанный разделитель. Подробнее...
string | join (const string @[]&in str, const string &in delimiter)
Объединяет строки из заданного массива в одну строку, разделяя их при этом указанной строкой. Подробнее...
string | strlwr (const string &in str)
Переводит строку в нижний регистр. Подробнее...
string | strupr (const string &in str)
Переводит строку в верхний регистр. Подробнее...
uint | GetStrHash (string @str)
Высчитывает хэш строки. Подробнее...

Прочее

int | GetCritterAnimType (uint crType)
Возвращает вид криттера (Fallout, Tactics, Arcanum, etc) по номеру CritterType. Подробнее...
uint | GetCritterAlias (uint crType) string @GetCritterTypeName(uint crType) string @GetCritterSoundName(uint crType) bool IsCritterCanArmor(uint crType)
возвращает значение Alias из CritterTypes.fos. Подробнее...
bool | IsCritterCanWalk (uint crType)
возвращает возможность перемещения для заданного типа криттера. Подробнее...
bool | IsCritterCanRun (uint crType)
возвращает возможность перемещения бегом для заданного типа криттера. Подробнее...
bool | IsCritterCanRotate (uint crType)
возвращает возможность изменения направления для заданного типа криттера. Подробнее...
bool | IsCritterCanAim (uint crType)
возвращает возможность прицельной атаки для заданного типа криттера. Подробнее...
bool | IsCritterAnim1 (uint crType, uint anim1)
возвращает возможность анимации(?) для заданного типа криттера. Подробнее...

Подробное описание

Список стандартных классов и функций.

Представленные здесь классы и функции доступны при скриптинге как клиентской, так и серверной части FOnline.

Функции

void AllowSlot | ( | uint8 | index,
 |  | string & | iniOption
 | ) |  |

Разрешает использование дополнительного слота с указанным номером.

Аргументы
index | Номер слота. Должен быть больше 3 (слоты с номерами 0-3 являются стандартными).
iniOption | Обозначение региона слота в ini-файлах интерфейса.
См. также
Слоты
ProtoItem::Slot
void SetRegistrationParameter | ( | uint | index,
 |  | bool | enabled
 | ) |  |

Позволяет определить параметры, которые отсылаются серверу при регистрации.

Прим.
Все остальные параметры будут равны нулю.
Работает по принципу функции Critter::SetSendParam.
float cos ( float x )

Возвращает косинус указанного угла.

Аргументы
x Угол, измеряемый в радианах.
Возвращает
Косинус x.
float sin ( float x )

Возвращает синус указанного угла.

Аргументы
x Угол, измеряемый в радианах.
Возвращает
Синус x.
float tan ( float x )

Возвращает тангенс указанного угла.

Аргументы
x Угол, измеряемый в радианах.
Возвращает
Тангенс x.
float acos ( float x )

Возвращает угол, косинус которого равен указанному числу.

Аргументы
x Число в интервале [-1,+1], представляющее косинус.
Возвращает
Угол, измеренный в радианах, в интервале [0,pi] радиан.
float asin ( float x )

Возвращает угол, синус которого равен указанному числу.

Аргументы
x Число в интервале [-1,+1], представляющее синус.
Возвращает
Угол, измеренный в радианах, в интервале [-pi/2,+pi/2] радиан.
float atan ( float x )

Возвращает угол, тангенс которого равен указанному числу.

Аргументы
x Число представляющее тангенс.
Возвращает
Угол, измеренный в радианах, в интервале [-pi/2,+pi/2] радиан.
float atan2 | ( | float | y,
 |  | float | x
 | ) |  |

Возвращает угол, тангенс которого равен отношению двух указанных чисел.

Аргументы
y | Координата y точки.
x | Координата х точки.
Возвращает
Угол, измеренный в радианах, в интервале [-pi,+pi] радиан, и тангенс которого равен y/x, где (x, y) – это точка в декартовой системе координат.
float cosh ( float x )

Возвращает гиперболический косинус указанного угла.

Аргументы
x Угол, измеряемый в радианах.
Возвращает
Гиперболический косинус x.
float sinh ( float x )

Возвращает гиперболический синус указанного угла.

Аргументы
x Угол, измеряемый в радианах.
Возвращает
Гиперболический синус x.
float tanh ( float x )

Возвращает гиперболический тангенс указанного угла.

Аргументы
x Угол, измеряемый в радианах.
Возвращает
Гиперболический тангенс x.
float log ( float x )

Возвращает натуральный логарифм указанного числа.

Аргументы
x Число, логарифм которого должен быть найден.
Возвращает
Натуральный логарифм x.
float log10 ( float x )

Возвращает десятичный логарифм указанного числа.

Аргументы
x Число, логарифм которого должен быть найден.
Возвращает
Десятичный логарифм x.
float pow | ( | float | base,
 |  | float | exponent
 | ) |  |

Возвращает указанное число, возведенное в указанную степень.

Аргументы
base | Число, возводимое в степень.
exponent | Число, задающее степень.
Возвращает
Число base, возведенное в степень exponent.
float sqrt ( float x )

Возвращает квадратный корень из указанного числа.

Аргументы
x Число (x>=0).
Возвращает
Квадратный корень из x.
float ceil ( float x )

Возвращает наименьшее целое число, которое больше или равно заданному числу.

Аргументы
x Число.
Возвращает
Наименьшее целое число, большее или равное x.
float abs ( float x )

Возвращает абсолютное значение указанного числа.

Аргументы
x Число.
Возвращает
Абсолютное значение x.
float floor ( float x )

Возвращает наибольшее целое число, которое меньше или равно указанному числу.

Аргументы
x Число.
Возвращает
Наибольшее целое число, меньшее или равное x.
float fraction ( float x )

Возвращает дробную часть указанного числа.

Аргументы
x Число.
Возвращает
Дробная часть числа x, с тем же знаком.
string substring | ( | const string &in | str,
 |  | int | start,
 |  | int | length
 | ) |  |

Возвращает подстроку указанной строки.

Аргументы
str | Входная строка.
start | Позиция первого символа подстроки во входной строке (с нуля).
length | Число символов в подстроке.
Возвращает
Подстрока указанной входной строки.
int findFirst | ( | const string &in | str,
 |  | const string &in | sub
 | ) |  |

Возвращает индекс первого вхождения указанной подстроки в указанной входной строке.

Аргументы
str | Входная строка.
sub | Подстрока, поиск которой осуществляется во входной строке.
Возвращает
Индекс, с которого начинается первое вхождение подстроки в исходной строке, если эта подстрока найдена, или значение -1, если она не найдена.
int findFirst | ( | const string &in | str,
 |  | const string &in | sub,
 |  | int | startAt
 | ) |  |

Возвращает индекс первого вхождения указанной подстроки в указанной входной строке.

Аргументы
str | Входная строка.
sub | Подстрока, поиск которой осуществляется во входной строке.
startAt | Позиция во входной строке, с которой начинается поиск.
Возвращает
Индекс, с которого начинается первое вхождение подстроки в исходной строке, если эта подстрока найдена, или значение -1, если она не найдена.
int findLast | ( | const string &in | str,
 |  | const string &in | sub
 | ) |  |

Возвращает индекс последнего вхождения указанной подстроки в указанной входной строке.

Аргументы
str | Входная строка.
sub | Подстрока, поиск которой осуществляется во входной строке.
Возвращает
Индекс, с которого начинается последнее вхождение подстроки в исходной строке, если эта подстрока найдена, или значение -1, если она не найдена.
int findLast | ( | const string &in | str,
 |  | const string &in | sub,
 |  | int | startAt
 | ) |  |

Возвращает индекс последнего вхождения указанной подстроки в указанной входной строке.

Аргументы
str | Входная строка.
sub | Подстрока, поиск которой осуществляется во входной строке.
startAt | Позиция во входной строке, с которой начинается поиск.
Возвращает
Индекс, с которого начинается последнее вхождение подстроки в исходной строке, если эта подстрока найдена, или значение -1, если она не найдена.
int findFirstOf | ( | const string &in | str,
 |  | const string &in | set
 | ) |  |

Возвращает индекс первого встретившегося символа во входной строке, принадлежащего указанному множеству символов.

Аргументы
str | Входная строка.
set | Строка, задающая множество символов.
Возвращает
Индекс первого встретившегося символа во входной строке, содержащегося и в строке set. Если таких символов не встретилось, то возвращается -1.
int findFirstOf | ( | const string &in | str,
 |  | const string &in | set,
 |  | int | startAt
 | ) |  |

Возвращает индекс первого встретившегося символа во входной строке, принадлежащего указанному множеству символов.

Аргументы
str | Входная строка.
set | Строка, задающая множество символов.
startAt | Позиция во входной строке, с которой начинается поиск.
Возвращает
Индекс первого встретившегося символа во входной строке, содержащегося и в строке set. Если таких символов не встретилось, то возвращается -1.
int findFirstNotOf | ( | const string &in | str,
 |  | const string &in | set
 | ) |  |

Возвращает индекс первого встретившегося символа во входной строке, не принадлежащего указанному множеству символов.

Аргументы
str | Входная строка.
set | Строка, задающая множество символов.
Возвращает
Индекс первого встретившегося символа во входной строке, не содержащегося в строке set. Если таких символов не встретилось, то возвращается -1.
int findFirstNotOf | ( | const string &in | str,
 |  | const string &in | set,
 |  | int | startAt
 | ) |  |

Возвращает индекс первого встретившегося символа во входной строке, не принадлежащего указанному множеству символов.

Аргументы
str | Входная строка.
set | Строка, задающая множество символов.
startAt | Позиция во входной строке, с которой начинается поиск.
Возвращает
Индекс первого встретившегося символа во входной строке, не содержащегося в строке set. Если таких символов не встретилось, то возвращается -1.
int findLastOf | ( | const string &in | str,
 |  | const string &in | set
 | ) |  |

Возвращает индекс последнего встретившегося символа во входной строке, принадлежащего указанному множеству символов.

Аргументы
str | Входная строка.
set | Строка, задающая множество символов.
Возвращает
Индекс последнего встретившегося символа во входной строке, содержащегося и в строке set. Если таких символов не встретилось, то возвращается -1.
int findLastOf | ( | const string &in | str,
 |  | const string &in | set,
 |  | int | startAt
 | ) |  |

Возвращает индекс последнего встретившегося символа во входной строке, принадлежащего указанному множеству символов.

Аргументы
str | Входная строка.
set | Строка, задающая множество символов.
startAt | Позиция во входной строке, с которой начинается поиск.
Возвращает
Индекс последнего встретившегося символа во входной строке, содержащегося и в строке set. Если таких символов не встретилось, то возвращается -1.
int findLastNotOf | ( | const string &in | str,
 |  | const string &in | set
 | ) |  |

Возвращает индекс последнего встретившегося символа во входной строке, не принадлежащего указанному множеству символов.

Аргументы
str | Входная строка.
set | Строка, задающая множество символов.
Возвращает
Индекс последнего встретившегося символа во входной строке, не содержащегося в строке set. Если таких символов не встретилось, то возвращается -1.
int findLastNotOf | ( | const string &in | str,
 |  | const string &in | set,
 |  | int | startAt
 | ) |  |

Возвращает индекс последнего встретившегося символа во входной строке, не принадлежащего указанному множеству символов.

Аргументы
str | Входная строка.
set | Строка, задающая множество символов.
startAt | Позиция во входной строке, с которой начинается поиск.
Возвращает
Индекс последнего встретившегося символа во входной строке, не содержащегося в строке set. Если таких символов не встретилось, то возвращается -1.
string [] split | ( | const string &in | str,
 |  | const string &in | delimiter
 | ) |  |

Разбивает указанную строку на подстроки, используя указанный разделитель.

Аргументы
str | Разбиваемая строка.
delimiter | Строка, которая используется в качестве разделителя.
Возвращает
Массив, элементы которого содержат подстроки данной строки, разделенные строкой delimiter.
string [] splitEx | ( | const string &in | str,
 |  | const string &in | delimiter
 | ) |  |

Разбивает указанную строку на подстроки, используя указанный разделитель.

Аргументы
str | Разбиваемая строка.
delimiter | Строка, которая используется в качестве разделителя.
Возвращает
Массив, элементы которого содержат подстроки данной строки, разделенные строкой delimiter. В итоговый массив не включаются пустые элементы, а так же убираются пробелы/табы/перенос_строки из итоговых элементов.
string join | ( | const string @&[]in | str,
 |  | const string &in | delimiter
 | ) |  |

Объединяет строки из заданного массива в одну строку, разделяя их при этом указанной строкой.

Аргументы
str | Массив объединяемых строк.
delimiter | Строка, которая вставляется между отдельными элементами массива при их объединении.
Возвращает
Строка, состоящая из элементов str, перемежаемых строками delimiter.
string strlwr ( const string &in str )

Переводит строку в нижний регистр.

Аргументы
str Входная строка.
Возвращает
Строка str в нижнем регистре.
string strupr ( const string &in str )

Переводит строку в верхний регистр.

Аргументы
str Входная строка.
Возвращает
Строка str в верхнем регистре.
uint GetStrHash ( string @ str )

Высчитывает хэш строки.

Основное назначение - высчитывать хэш пути к файлу изображения

Аргументы
str Cтрока от которой высчитывается хэш (символ "/" в исходной строке будет автоматически заменен на "\"). Регистр значения не имеет.
Возвращает
Хэш строки
См. также
Item::PicMap
ItemCl::PicMap
Item::PicInv
ItemCl::PicInv
int GetCritterAnimType ( uint crType )

Возвращает вид криттера (Fallout, Tactics, Arcanum, etc) по номеру CritterType.

Аргументы
crType номер типа криттера.
Возвращает
вид криттера. Значения в Anim types _animation.fos.
uint GetCritterAlias ( uint crType )

возвращает значение Alias из CritterTypes.fos.

возвращает значение TypeName из CritterTypes.fos возвращает значение SoundName из CritterTypes.fos возвращает возможность смены брони для заданного типа криттера.

Аргументы
crType - Тип криттера (см. CritterTypes.cfg).
Возвращает
true – в случае если тип криттера может носить броню; false – в противном случае.
bool IsCritterCanWalk ( uint crType )

возвращает возможность перемещения для заданного типа криттера.

Аргументы
crType - Тип криттера (см. CritterTypes.cfg).
Возвращает
true – в случае если тип криттера может ходить; false – в противном случае.
bool IsCritterCanRun ( uint crType )

возвращает возможность перемещения бегом для заданного типа криттера.

Аргументы
crType - Тип криттера (см. CritterTypes.cfg).
Возвращает
true – в случае если тип криттера может бегать; false – в противном случае.
bool IsCritterCanRotate ( uint crType )

возвращает возможность изменения направления для заданного типа криттера.

Аргументы
crType - Тип криттера (см. CritterTypes.cfg).
Возвращает
true – в случае если тип криттера может поворачиваться; false – в противном случае.
bool IsCritterCanAim ( uint crType )

возвращает возможность прицельной атаки для заданного типа криттера.

Аргументы
crType - Тип криттера (см. CritterTypes.cfg).
Возвращает
true – в случае если тип криттера может носить броню; false – в противном случае.
Прим.
аналогичная функция bool Critter::IsCanAim в добавок учитывает еще и трейт Fast Shot
См. также
Critter::IsCanAim
bool IsCritterAnim1 | ( | uint | crType,
 |  | uint | anim1
 | ) |  |

возвращает возможность анимации(?) для заданного типа криттера.

Аргументы
crType - Тип криттера (см. CritterTypes.cfg).
anim1 - (?)
Возвращает
true – (?) false – в противном случае.
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Класс dictionary

  • Алфавитный указатель классов
  • Члены классов
Закрытые члены | Полный список членов класса
Класс dictionary
Стандартные классы и функции

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

Закрытые члены

void | set (const string &in key,?&in value)
Ассоциирует значение произвольного типа с указанным ключом. Подробнее...
bool | get (const string &in key,?&out value) const
Позволяет получить значение произвольного типа для указанного ключа. Подробнее...
void | set (const string &in key, int64 &in value)
Ассоциирует значение типа int64 с указанным ключом. Подробнее...
bool | get (const string &in key, int64 &out value) const
Позволяет получить значение типа int64 для указанного ключа. Подробнее...
void | set (const string &in key, double &in value)
Ассоциирует значение типа double с указанным ключом. Подробнее...
bool | get (const string &in key, double &out value) const
Позволяет получить значение типа double для указанного ключа. Подробнее...
bool | exists (const string &in key) const
Проверяет, установлено ли значение для указанного ключа. Подробнее...
void | delete (const string &in key)
Удаляет указанный ключ из словаря. Подробнее...
void | deleteAll ()
Удаляет все ключи из словаря. Подробнее...
uint | keys (string @[]@keys) const
Возвращает все ключи и их количество. Подробнее...
bool | isEmpty () const
uint | getSize () const

Подробное описание

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

Пример:
dictionary dict;
obj object;
obj @handle;
dict.set("one", 1);
dict.set("object", object);
dict.set("handle", @handle);
if( dict.exists("one") )
{
bool found = dict.get("handle", @handle);
if( found )
{
dict.delete("object");
}
}
dict.deleteAll();

Методы

void set | ( | const string &in | key,
 |  | ?&in | value
 | ) |  |
private

Ассоциирует значение произвольного типа с указанным ключом.

Аргументы
key | Ключ.
value | Ассоциируемое значение.
bool get | ( | const string &in | key,
 |  | ?&out | value
 | ) |  | const
 private

Позволяет получить значение произвольного типа для указанного ключа.

Аргументы
key | Ключ.
[out] | value | Переменная, которая после работы метода будет содержать значение, ассоциируемое с указанные ключом, если ключ найден.
Возвращает
true, если указанный ключ найден; false – в противном случае.
void set | ( | const string &in | key,
 |  | int64 &in | value
 | ) |  |
private

Ассоциирует значение типа int64 с указанным ключом.

Аргументы
key | Ключ.
value | Ассоциируемое значение.
bool get | ( | const string &in | key,
 |  | int64 &out | value
 | ) |  | const
 private

Позволяет получить значение типа int64 для указанного ключа.

Аргументы
key | Ключ.
[out] | value | Переменная, которая после работы метода будет содержать значение, ассоциируемое с указанные ключом, если ключ найден.
Возвращает
true, если указанный ключ найден; false – в противном случае.
void set | ( | const string &in | key,
 |  | double &in | value
 | ) |  |
private

Ассоциирует значение типа double с указанным ключом.

Аргументы
key | Ключ.
value | Ассоциируемое значение.
bool get | ( | const string &in | key,
 |  | double &out | value
 | ) |  | const
 private

Позволяет получить значение типа double для указанного ключа.

Аргументы
key | Ключ.
[out] | value | Переменная, которая после работы метода будет содержать значение, ассоциируемое с указанные ключом, если ключ найден.
Возвращает
true, если указанный ключ найден; false – в противном случае.
bool exists ( const string &in key ) const
private

Проверяет, установлено ли значение для указанного ключа.

Аргументы
key Проверяемый ключ.
Возвращает
true, если установлено; false – в противном случае.
void delete ( const string &in key )
private

Удаляет указанный ключ из словаря.

Аргументы
key Удаляемый ключ.
void deleteAll ( )
private

Удаляет все ключи из словаря.

uint keys ( string @@[] keys ) const
private

Возвращает все ключи и их количество.

bool isEmpty ( ) const
private
uint getSize ( ) const
private
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Класс file

  • Алфавитный указатель классов
  • Члены классов
Закрытые члены | Полный список членов класса
Класс file
Стандартные классы и функции

Класс, предназначенный для чтения и записи текстовых файлов. Подробнее...

Закрытые члены

int | open (const string &in filename, const string &in mode)
Открывает файл для работы с ним в указанном режиме. Подробнее...
int | close ()
Закрывает файл. Подробнее...
int | getSize () const
Возвращает размер файла. Подробнее...
bool | isEndOfFile () const
Возвращает значение true, если был достигнут конец файла. Подробнее...
int | readString (uint length, string &out str)
Выполняет чтение из файла указанного количества символов. Подробнее...
int | readLine (string &out str)
Выполняет чтение строки символов. Подробнее...
int | writeString (const string &in string)
Записывает строку в файл. Подробнее...
int | getPos () const
Возвращает текущую позицию файла. Подробнее...
int | setPos (int pos)
Устанавливает текущую позицию файла. Подробнее...
int | movePos (int delta)
Смещает текущую позицию файла на указанное количество байт. Подробнее...
string readWord ()
Выполняет чтение следующего слова (последовательности символов без разделителей) из файла. Подробнее...
int | readNumber ()
Выполняет чтение следующего числа из файла. Подробнее...
uint8 | readUint8 ()
uint16 | readUint16 ()
uint32 | readUint32 ()
uint64 | readUint64 ()
uint | readData (uint count, uint8[]&data)
Если data == 0, то программа читает все данные до конца файла с текущей позиции. Подробнее...
bool | writeUint8 (uint8 data)
bool | writeUint16 (uint16 data)
bool | writeUint32 (uint32 data)
bool | writeUint64 (uint64 data)
bool | writeData (uint8[]&data, uint count)
При count == 0 записывает все данные из массива. Подробнее...

Подробное описание

Класс, предназначенный для чтения и записи текстовых файлов.

Пример:
file f;
// ��������� ���� ��� ������
if( f.open("file.txt", "r") >= 0 )
{
// ��������� �� ���������� ����� � ������
string str;
f.readString(f.getSize(), str);
f.close();
}

Методы

int open | ( | const string &in | filename,
 |  | const string &in | mode
 | ) |  |
private

Открывает файл для работы с ним в указанном режиме.

Аргументы
filename Путь к файлу.
mode Режим работы с файлом. Возможные значения:
"r" | Открыть файл для чтения.
"w" | Открыть файл для записи. Существующий файл перезаписывается.
"a" | Открыть файл для записи с конца (существующий файл не перезаписывается).
Возвращает
0, если файл открыт успешно; -1 – в противном случае.
int close ( )
private

Закрывает файл.

Возвращает
0, если файл закрыт успешно; -1 – в противном случае.
int getSize ( ) const
private

Возвращает размер файла.

bool isEndOfFile ( ) const
private

Возвращает значение true, если был достигнут конец файла.

int readString | ( | uint | length,
 |  | string &out | str
 | ) |  |
private

Выполняет чтение из файла указанного количества символов.

Аргументы
length | Количество считываемых символов.
[out] | str | Строка, в которую будут записаны считанные символы.
Возвращает
Количество успешно считанных символов. Если это число отличается от аргумента length, то это означает, что либо при чтении произошла ошибка, либо был достигнут конец файла.
См. также
isEndOfFile
int readLine ( string &out str )
private

Выполняет чтение строки символов.

Строка определяется как последовательность символов, за которыми следует символ символ перевода строки или EOF.

Аргументы
[out] str Строка, в которую будут записаны считанная строка символов.
Возвращает
Количество символов в считанной строке.
int writeString ( const string &in string )
private

Записывает строку в файл.

Аргументы
string Записываемая строка.
Возвращает
Количество записанных символов. Если это число меньше, чем длина строки, то это говорит об ошибке.
int getPos ( ) const
private

Возвращает текущую позицию файла.

Возвращает
Текущая позиция в файле. -1 – в случае ошибки.
int setPos ( int pos )
private

Устанавливает текущую позицию файла.

Аргументы
pos Новая позиция.
Возвращает
0 в случае успеха; -1 – в противном случае.
int movePos ( int delta )
private

Смещает текущую позицию файла на указанное количество байт.

Аргументы
delta Количество байт, на которую смещается текущая позиция.
Возвращает
0 в случае успеха; -1 – в противном случае.
string readWord ( )
private

Выполняет чтение следующего слова (последовательности символов без разделителей) из файла.

int readNumber ( )
private

Выполняет чтение следующего числа из файла.

uint8 readUint8 ( )
private
uint16 readUint16 ( )
private
uint32 readUint32 ( )
private
uint64 readUint64 ( )
private
uint readData | ( | uint | count,
 |  | uint8 &[] | data
 | ) |  |
private

Если data == 0, то программа читает все данные до конца файла с текущей позиции.

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

bool writeUint8 ( uint8 data )
private
bool writeUint16 ( uint16 data )
private
bool writeUint32 ( uint32 data )
private
bool writeUint64 ( uint64 data )
private
bool writeData | ( | uint8 &[] | data,
 |  | uint | count
 | ) |  |
private

При count == 0 записывает все данные из массива.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Класс string

  • Алфавитный указатель классов
  • Члены классов
Закрытые члены | Полный список членов класса
Класс string
Стандартные классы и функции

Класс для работы со строками. Подробнее...

Закрытые члены

uint | length () const
Возвращает длину строки. Подробнее...
Конструкторы
string ()
string (const string &in other)
Перегруженные операторы
string & | opAssign (const string &in other)
string & | opAddAssign (const string &in other)
string | opAdd (const string &in right) const
bool | opEquals (const string &in right) const
int | opCmp (const string &in right) const
string & | opAssign (double val)
string & | opAddAssign (double val)
string | opAdd (double val) const
string | opAdd_r (double val) const
string & | opAssign (float val)
string & | opAddAssign (float val)
string | opAdd (float val) const
string | opAdd_r (float val) const
string & | opAssign (int val)
string & | opAddAssign (int val)
string | opAdd (int val) const
string | opAdd_r (int val) const
string & | opAssign (uint val)
string & | opAddAssign (uint val)
string | opAdd (uint val) const
string | opAdd_r (uint val) const

Подробное описание

Класс для работы со строками.

Конструктор(ы)

string ( )
private
string ( const string &in other )
private

Методы

uint length ( ) const
private

Возвращает длину строки.

string& opAssign ( const string &in other )
private
string& opAddAssign ( const string &in other )
private
string opAdd ( const string &in right ) const
private
bool opEquals ( const string &in right ) const
private
int opCmp ( const string &in right ) const
private
string& opAssign ( double val )
private
string& opAddAssign ( double val )
private
string opAdd ( double val ) const
private
string opAdd_r ( double val ) const
private
string& opAssign ( float val )
private
string& opAddAssign ( float val )
private
string opAdd ( float val ) const
private
string opAdd_r ( float val ) const
private
string& opAssign ( int val )
private
string& opAddAssign ( int val )
private
string opAdd ( int val ) const
private
string opAdd_r ( int val ) const
private
string& opAssign ( uint val )
private
string& opAddAssign ( uint val )
private
string opAdd ( uint val ) const
private
string opAdd_r ( uint val ) const
private
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: API сервера

Группы | Классы
API сервера

Группы

Зарезервированные скриптовые функции
Используются только в скрипте main.fos.

Классы

class | CraftItem
CraftItem. Подробнее...
class | Critter
Криттер. Подробнее...
class | GameVar
Игровая переменная. Подробнее...
class | Item
Предмет. Подробнее...
class | Location
Локация. Подробнее...
class | Map
Карта. Подробнее...
class | NpcPlane
План NPC. Подробнее...
class | ProtoItem
Прототип предметов. Подробнее...
class | Scenery
Сценери. Подробнее...

Время и дата

500

const uint16 | __Year
Текущий год. Подробнее...
const uint16 | __Month
Текущий месяц. Подробнее...
const uint16 | __Day
Текущий день. Подробнее...
const uint16 | __Hour
Текущий час. Подробнее...
const uint16 | __Minute
Текущая минута. Подробнее...
const uint16 | __Second
Текущая секунда. Подробнее...
const uint16 | __FullSecond
Полная текущая секунда, учитывающая текущие год, месяц, день, час, минуту и секнуду. Подробнее...
const uint16 | __TimeMultiplier
Коэффициент ускорения времени. Подробнее...

Бой

Глобальные переменные, с помощью которых можно изменять параметры боя.

490

uint | __Breaktime
(?) Подробнее...
uint | __TimeoutTransfer
(?) Подробнее...
uint | __TimeoutBattle
(?) Подробнее...
uint | __ApRegeneration
(?) Подробнее...
uint | __RtApCostCritterWalk
Величина штрафа AP в боевом режиме при ходьбе. Подробнее...
uint | __RtApCostCritterRun
Величина штрафа AP в боевом режиме при беге. Подробнее...
uint | __RtApCostMoveItemContainer
(?) Подробнее...
uint | __RtApCostMoveItemInventory
(?) Подробнее...
uint | __RtApCostPickItem
(?) Подробнее...
uint | __RtApCostDropItem
(?) Подробнее...
uint | __RtApCostReloadWeapon
(?) Подробнее...
uint | __RtApCostPickCritter
(?) Подробнее...
uint | __RtApCostUseItem
(?) Подробнее...
uint | __RtApCostUseSkill
(?) Подробнее...
uint | __TbApCostCritterMove
(?) Подробнее...
uint | __TbApCostMoveItemContainer
(?) Подробнее...
uint | __TbApCostMoveItemInventory
(?) Подробнее...
uint | __TbApCostPickItem
(?) Подробнее...
uint | __TbApCostDropItem
(?) Подробнее...
uint | __TbApCostReloadWeapon
(?) Подробнее...
uint | __TbApCostPickCritter
(?) Подробнее...
uint | __TbApCostUseItem
(?) Подробнее...
uint | __TbApCostUseSkill
(?) Подробнее...
uint | __ApCostAimEyes
(?) Подробнее...
uint | __ApCostAimHead
(?) Подробнее...
uint | __ApCostAimGroin
(?) Подробнее...
uint | __ApCostAimTorso
(?) Подробнее...
uint | __ApCostAimArms
(?) Подробнее...
uint | __ApCostAimLegs
(?) Подробнее...
uint | __HitAimEyes
(?) Подробнее...
uint | __HitAimHead
(?) Подробнее...
uint | __HitAimGroin
(?) Подробнее...
uint | __HitAimTorso
(?) Подробнее...
uint | __HitAimArms
(?) Подробнее...
uint | __HitAimLegs
(?) Подробнее...
bool | __RtAlwaysRun
bool | __TbAlwaysRun
bool | __AlwaysRun
Всегда бежать, по-умолчанию false. Подробнее...
uint | __AlwaysRunMoveDist
бежать при клике, при расстоянии больше-равно, чем данное значение Подробнее...
uint | __AlwaysRunUseDist
бежать при использовании/разговоре/etc, при расстоянии больше-равно, чем данное значение Подробнее...

Параметры глобальной карты

480

uint | __GlobalMapWidth
Ширина глобальной карты мира. Подробнее...
uint | __GlobalMapHeight
Высота глобальной карты мира. Подробнее...
uint | __GlobalMapZoneLength
Длина зоны на глобальной карте. Подробнее...
uint | __GlobalMapMaxGroupCount
Максимальная численность группы. Подробнее...
uint | __GlobalMapMoveTime
Указывает на то как часто вызывать обработчик глобальной карты GLOBAL_PROCESS_MOVE. Подробнее...

Геомертия игровой сетки

475 В скрипте config.fos, в функции InitializeGeometry(), добавлены необходимые настройки для трех игр: Fallout1/2, Fallout Tactics и Arcanum.

Данная функция вызывается в скриптах сервера, клиента и маппера, т.к. информация о геометрии нужна всем трем. Четырехугольная изометрия использует восемь направлений, гексогональная шесть.
Рабочие спрайты для геометрии находятся в art/geometry/.

bool | __MapHexagonal
Тип изометрии true - гексогональная, false - четырехугольная. Подробнее...
int | __MapHexWidth
Ширина гекса Подробнее...
int | __MapHexHeight
Высота гекса Подробнее...
int | __MapHexLineHeight
Высота линии гексов Подробнее...
int | __MapTileOffsX
Смещение тайлов земли по горизонтали Подробнее...
int | __MapTileOffsY
Смещение тайлов земли по вертикали Подробнее...
int | __MapRoofOffsX
Смещение тайлов крыши по горизонтали Подробнее...
int | __MapRoofOffsY
Смещение тайлов крыши по вертикали Подробнее...
int | __MapRoofSkipSize
Кол-во гексов на один тайл крыши (нужно для его корректного скрывания) Подробнее...
float | __MapCameraAngle
Угол для рендеринга трехмерных моделей Подробнее...
bool | __MapSmoothPath
Сглаживание пути при перемещениях Подробнее...
string __MapDataPrefix
Путь и префикс для файлов геометрии Подробнее...

Другие

470

uint | __FixBoyDefaultExperience
Опыт, даваемый за крафт по умолчанию. Подробнее...
uint | __SneakDivider
Делитель для режима скрытности. Подробнее...
bool | __NoAnswerShuffle
Запрет перемешивания вариантов диалога. Подробнее...
bool | __RunOnCombat
Возможность бегать в битве (для пошагового режима не актуально). Подробнее...
bool | __RunOnTransfer
Возможность бегать при таймауте на переходы. Подробнее...
uint | __CritterIdleTick
Задаёт периодичность вызова предопределенной функции critter_idle. Подробнее...
uint | __LevelCap
Ограничение по уровню. Подробнее...
bool | __LevelCapAddExperience
Будет ли начисляться опыт при достижении игроком __LevelCap (просто опыт, без перков, скиллпоинтов). Подробнее...
uint | __LookNormal
Нормальный радиус обзора криттера. Подробнее...
uint | __LookMinimum
Минимальная видимость криттера. Подробнее...
int | __DeadHitPoints
Количество хит-поинтов, при котором наступает смерть криттера. Подробнее...
uint | __BagRefreshTime
Время обновления сумок, используемое по-умолчанию. Подробнее...
uint | __WisperDist
Определяет дистанцию в гексагонах, на которой слышен шепот. Подробнее...
bool | __CustomItemCost
Указывает, использовать ли для определения цен предметов скриптовую функцию item_cost. Подробнее...
uint | __AccountPlayTime
Минимальное время игры за один аккаунт. Подробнее...
uint | __MinimumOfflineTime
минимальное время оффлайна, после которого клиент полностью выйдет из игры Подробнее...
bool | __DialogDemandRecheck
Позволяет отключить повторную проверку диалоговых условий в функциях диалоговых условий. Подробнее...
uint | __NpcMaxTalkers
максимальное количество одновременно запущенных для нпц диалогов по-умолчанию Подробнее...
uint | __TalkDistance
Максимальная дистанция ведения диалога. Подробнее...
uint | __ShoutDist
Определяет дистанцию в гексагонах, на которой слышен крик. Подробнее...
float | __SpritesZoom
Текущее увеличение в клиенте Подробнее...
float | __SpritesZoomMax
Максимальное увеличение в клиенте Подробнее...
float | __SpritesZoomMin
Минимальное увеличение в клиенте Подробнее...
uint | __DlgTalkMinTime
Минимальное время диалога Подробнее...
uint | __DlgBarterMinTime
Минимальное время бартера Подробнее...

Модификаторы видимости

475

int | __LookChecks
Позволяет задать проверки, используемые при расчете видимости одного криттера другим. Подробнее...
uint | __LookDir0
Процентный штраф к радиусу видимости при прямом взгляде. Подробнее...
uint | __LookDir1
Процентный штраф к радиусу видимости при взгяде сбоку. Подробнее...
uint | __LookDir2
Процентный штраф к радиусу видимости при нахождении сбоку за пределами взгляда. Подробнее...
uint | __LookDir3
Процентный штраф к радиусу видимости при нахождении сзади. Подробнее...
uint | __LookDir4
Дополнительная переменная для восьминаправленной геометрии Подробнее...
uint | __LookSneakDir0
Процентный штраф к навыку скрытности при прямом взгляде. Подробнее...
uint | __LookSneakDir1
Процентный штраф к навыку скрытности при взгяде сбоку. Подробнее...
uint | __LookSneakDir2
Процентный штраф к навыку скрытности при нахождении сбоку за пределами взгляда. Подробнее...
uint | __LookSneakDir3
Процентный штраф к навыку скрытности при нахождении сзади. Подробнее...
uint | __LookSneakDir4
Дополнительная переменная для восьминаправленной геометрии. Подробнее...
uint | __LookWeight
Вес (в граммах), за который который навык скрытности уменьшается на 1%. Подробнее...
int | __MouseX
Текущая позиция мыши. Подробнее...
int | __MouseY
uint | __EncounterTime
частоты вызова GLOBAL_PROCESS_MOVE . Подробнее...
int | __StartSpecialPoints
int | __StartTagSkillPoints
int | __SkillMaxValue
int | __SkillModAdd2
int | __SkillModAdd3
int | __SkillModAdd4
int | __SkillModAdd5
int | __SkillModAdd6

Общие функции

300

void | Log (string &text)
Заносит запись в лог-файл. Подробнее...
int | Random (int minimum, int maximum)
Возвращает рандомное значение. Подробнее...
bool | StrToInt (string &text, int &result)
Конвертирует текст в число. Подробнее...
string GetLastError ()
Возвращает описание последней ошибки. Подробнее...
bool | RunDialog (Critter &player, Critter &npc, bool ignoreDistance)
Открывает диалог у игрока. Подробнее...
bool | RunDialog (Critter &player, uint16 dialogId, uint16 hexX, uint16 hexY, bool ignoreDistance)
Открывает диалог у игрока. Подробнее...
void | RadioMessage (uint16 channel, string &text)
Посылает сообщение по радио. Подробнее...
void | RadioMessageMsg (uint16 channel, uint16 textMsg, uint strNum)
Посылает сообщение по радио. Подробнее...
void | RadioMessageMsg (uint16 channel, uint16 textMsg, uint strNum, string @+lexems)
Посылает сообщение по радио с обработкой лексем. Подробнее...
void | SetBestScore (int score, Critter @+player, string &name)
Установка текста в таблице статистики. Подробнее...
bool | AddTextListener (int sayType, string &firstStr, uint16 parameter, string &scriptName)
Создаёт прослушку текста игрока. Подробнее...
void | EraseTextListener (int sayType, string &firstStr, uint16 parameter)
Удаляет прослушку текста игрока. Подробнее...
NpcPlane CreatePlane ()
Создаёт новый план, все переменные которого инициализированы нулем. Подробнее...
uint | GetTick ()
Возвращает текущее время работы компьютера в миллисекундах. Подробнее...
void | ViewMap (Map &map, uint look, uint16 hx, uint16 hy, uint8 dir)
Позволяет просмотреть определенную точку на карте. Подробнее...
uint | GetScriptId (string &scriptName, string &funcDeclaration)
Возвращает идентификатор скриптовой функции по её имени. Подробнее...
string | GetScriptName (uint scriptId)
Возвращает имя скриптовой функции по её идентификатору. Подробнее...

Для гексагонов

280

uint | GetCrittersDistantion (Critter &cr1, Critter &cr2)
Определяет дистанцию между двумя криттерами. Подробнее...
uint | GetDistantion (uint16 hexX1, uint16 hexY1, uint16 hexX2, uint16 hexY2)
Определяет дистанцию между двумя гексагонами. Подробнее...
uint8 | GetDirection (uint16 fromX, uint16 fromY, uint16 toX, uint16 toY)
Определяет направление, в котором находится гексагон №2 относительно гексагона №1. Подробнее...
uint8 | GetOffsetDir (uint16 hx, uint16 hy, uint16 tx, uint16 ty, float offset)

Для карт и локаций

280

uint | CreateLocation (uint16 protoId, uint16 worldX, uint16 worldY, Critter @[]@+critters)
Создает локацию. Подробнее...
void | DeleteLocation (uint16 locationId)
Удаляет указанную локацию. Подробнее...
Location | GetLocation (uint locId)
Ищет локацию по её уникальному идентификатору. Подробнее...
Location | GetLocationByPid (uint16 locPid, uint skipCount)
Ищет локацию по ее прототипу. Подробнее...
uint | GetLocations (uint16 worldX, uint16 worldY, uint radius, Location @[]@+locations)
Ищет локации, находящиеся в указанной точке. Подробнее...
Map | GetMap (uint mapId)
Ищет карту по её уникальному идентификатору. Подробнее...
Map | GetMapByPid (uint16 mapProtoId, uint skipCount)
Ищет карту по ее прототипу. Подробнее...
uint | GetAllLocations (uint16 pid, Location @[]@+locations)
Позволяет найти в игре все локации с указанным прототипом. Подробнее...
uint | GetAllMaps (uint16 pid, Map @[]@+maps)
Позволяет найти в игре все карты с указанным прототипом. Подробнее...

Для игроков и криттеров

270

uint | GetAllNpc (uint16 pid, Critter @[]@+npc)
Позволяет найти в игре всех NPC с указанным прототипом. Подробнее...
Critter | GetCritter (uint critterId)
Ищет криттера по его уникальному номеру. Подробнее...
Critter | GetPlayer (string &playerName)
Ищет игрока по его имени. Подробнее...
uint | GetPlayerId (string &name)
Позволяет получить идентификатор игрока по его имени. Подробнее...
string | GetPlayerName (uint playerId)
Позволяет получить имя игрока по его идентификатору. Подробнее...
uint | GetAllPlayers (Critter @[]@players)
Позволяет получить указатели на всех игроков, а так же их количество Подробнее...
uint | GetRegisteredPlayers (array< uint > &ids, array< string > &names)
Позволяет получить идентификаторы всех игроков, зарегистрированных на сервере, а так же их количество Подробнее...
void | DeleteNpc (Critter &npc)
Удаляет из игры указанного NPC в конце игрового цикла. Подробнее...
bool | SwapCritters (Critter &cr1, Critter &cr2, bool withInventory, bool withVars)
(?) Подробнее...
uint | GetVisibleLocations (uint16 worldX, uint16 worldY, uint radius, Critter @+visibleBy, Location @[]@+locations)
Возвращает видимые локации в определенном радиусе, если задан параметр visibleBy, то будет так же учитываться видит ли локацию данный криттер. Подробнее...
uint | GetGlobalMapCritters (uint16 worldX, uint16 worldY, uint radius, int findType, Critter @[]@+critters)
Для выборки криттеров с глобальной карты Подробнее...
bool | SetParameterGetBehaviour (uint index, string &funcName)
Позволяет определить собственную функцию определения значения для указанного параметра криттера. Подробнее...
bool | SetParameterChangeBehaviour (uint index, string &funcName)
Позволяет определить собственную функцию-обработчик установки нового значения для указанного параметра криттера. Подробнее...
bool | SetParameterDialogGetBehaviour (uint index, string &funcName)
Позволяет определить собственную функцию-обработчик значения для указанного параметра криттера для последующей проверки данного параметра в диалоге. Подробнее...
void | SetSendParameter (int index, bool enabled)
Позволяет разрешить пересылку клиенту параметров других персонажей, по-умолчанию отправка всех параметров выключена. Подробнее...
void | SetChosenSendParameter (int index, bool enabled)
Позволяет запретить пересылку клиенту параметров активного персонажа, по-умолчанию отправка всех параметров включена. Подробнее...

Для переменных

260

GameVar | GetGlobalVar (uint16 varId)
Возвращает глобальную переменную. Подробнее...
GameVar | GetLocalVar (uint16 varId, uint masterId)
Возвращает локальную переменную. Подробнее...
GameVar | GetUnicumVar (uint16 varId, uint masterId, uint slaveId)
Возвращает уникальную переменную. Подробнее...

Для предметов

250

uint | GetAllItems (uint16 pid, Item @[]@+items)
Позволяет найти в игре все предметы с указанным номером прототипа. Подробнее...
ProtoItem | GetProtoItem (uint16 protoId)
Ищет прототип предмета, имеющий указанный ID. Подробнее...
uint | GetBagItems (uint bagId, uint16[]@+pids, uint[]@+minCounts, uint[]@+maxCounts, int[]@+slots)
Позволяет получить содержимое сумки с указанным номером. Подробнее...
void | MoveItem (Item &item, uint count, Critter &toCr)
Перемещает указанный предмет в инвентарь указанного криттера. Подробнее...
void | MoveItem (Item &item, uint count, Item &toCont, uint stackId)
Перемещает предмет в предмет-контейнер, присваивая ему указанный специальный ID. Подробнее...
void | MoveItem (Item &item, uint count, Map &toMap, uint16 toHx, uint16 toHy)
Перемещает указанный предмет на карту. Подробнее...
void | MoveItems (Item @[]&items, Critter &toCr)
Перемещает предметы в передаваемом массиве в инвентарь указанного криттера. Подробнее...
void | MoveItem (Item @[]&items, Item &toCont, uint stackId)
Перемещает предметы в передаваемом массиве в предмет-контейнер, присваивая им указанный специальный ID. Подробнее...
void | MoveItems (Item @[]&items, Map &toMap, uint16 toHx, uint16 toHy)
Перемещает предметы в передаваемом массиве на карту. Подробнее...
void | DeleteItem (Item &item)
Удаляет из игры указанный предмет, независимо от того, где он находится. Подробнее...
void | DeleteItems (Item @[]&items)
Удаляет из игры все предметы из переданного массива. Подробнее...
uint | WorldItemCount (uint16 protoId)
Статистика количества предметов в игре. Подробнее...

Для работы с временем/временными событиями

240

void | GetTime (uint16 &year, uint16 &month, uint16 &day_of_week, uint16 &day, uint16 &hour, uint16 &minute, uint16 &second, uint16 &milliseconds)
Позволяет получить текущее локальное время. Подробнее...
void | GetGameTime (uint fullSecond, uint16 &year, uint16 &month, uint16 &dayOfWeek, uint16 &day, uint16 &hour, uint16 &minute, uint16 &second)
возвращает время и дату по указанной полной секунде. Подробнее...
uint | GetFullSecond (uint16 year, uint16 month, uint16 day, uint16 hour, uint16 minute, uint16 second)
Возвращает значение года, месяца, дня, часа и минуты в полных минутах. Подробнее...
uint | CreateTimeEvent (uint beginSecond, string &funcName, bool save)
Создает событие, которое произойдет в указанное игровое время. Подробнее...
uint | CreateTimeEvent (uint beginSecond, string &funcName, int value, bool save)
Создает событие, которое произойдет в указанное игровое время. Подробнее...
uint | CreateTimeEvent (uint beginSecond, string &funcName, uint value, bool save)
Создает событие, которое произойдет в указанное игровое время. Подробнее...
uint | CreateTimeEvent (uint beginSecond, string &funcName, int[]&values, bool save)
Создает событие, которое произойдет в указанное игровое время. Подробнее...
uint | CreateTimeEvent (uint beginSecond, string &funcName, uint[]&values, bool save)
Создает событие, которое произойдет в указанное игровое время. Подробнее...
bool | GetTimeEvent (uint num, uint &duration, uint[]@+values)
Создает событие, которое произойдет в указанное игровое время. Подробнее...
bool | GetTimeEvent (uint num, uint &duration, int[]@+values)
Создает событие, которое произойдет в указанное игровое время. Подробнее...
bool | SetTimeEvent (uint num, uint duration, uint[]@+values)
Создает событие, которое произойдет в указанное игровое время. Подробнее...
bool | SetTimeEvent (uint num, uint duration, int[]@+values)
Создает событие, которое произойдет в указанное игровое время. Подробнее...
bool | EraseTimeEvent (uint num)
Удаляет событие с указанным номером. Подробнее...

Для работы с данными

230

void | EraseAnyData (string &name)
Удаляет данные. Подробнее...
bool | GetAnyData (string &name, int64[]&data)
Позволяет загрузить сохраненные данные. Подробнее...
bool | GetAnyData (string &name, int32[]&data)
Позволяет загрузить сохраненные данные. Подробнее...
bool | GetAnyData (string &name, int16[]&data)
Позволяет загрузить сохраненные данные. Подробнее...
bool | GetAnyData (string &name, int8[]&data)
Позволяет загрузить сохраненные данные. Подробнее...
bool | GetAnyData (string &name, uint64[]&data)
Позволяет загрузить сохраненные данные. Подробнее...
bool | GetAnyData (string &name, uint32[]&data)
Позволяет загрузить сохраненные данные. Подробнее...
bool | GetAnyData (string &name, uint16[]&data)
Позволяет загрузить сохраненные данные. Подробнее...
bool | GetAnyData (string &name, uint8[]&data)
Позволяет загрузить сохраненные данные. Подробнее...
bool | IsAnyData (string &name)
Проверяет, существуют ли данные с указанным именем. Подробнее...
bool | SetAnyData (string &name, int64[]&data)
Сохраняет или перезаписывает данные по данному имени. Подробнее...
bool | SetAnyData (string &name, int32[]&data)
Сохраняет или перезаписывает данные по данному имени. Подробнее...
bool | SetAnyData (string &name, int16[]&data)
Сохраняет или перезаписывает данные по данному имени. Подробнее...
bool | SetAnyData (string &name, int8[]&data)
Сохраняет или перезаписывает данные по данному имени. Подробнее...
bool | SetAnyData (string &name, uint64[]&data)
Сохраняет или перезаписывает данные по данному имени. Подробнее...
bool | SetAnyData (string &name, uint32[]&data)
Сохраняет или перезаписывает данные по данному имени. Подробнее...
bool | SetAnyData (string &name, uint16[]&data)
Сохраняет или перезаписывает данные по данному имени. Подробнее...
bool | SetAnyData (string &name, uint8[]&data)
Сохраняет или перезаписывает данные по данному имени. Подробнее...
bool | SetAnyData (string &name, int64[]&data, uint dataSize)
Сохраняет или перезаписывает данные фиксированного размера по данному имени. Подробнее...
bool | SetAnyData (string &name, int32[]&data, uint dataSize)
Сохраняет или перезаписывает данные фиксированного размера по данному имени. Подробнее...
bool | SetAnyData (string &name, int16[]&data, uint dataSize)
Сохраняет или перезаписывает данные фиксированного размера по данному имени. Подробнее...
bool | SetAnyData (string &name, int8[]&data, uint dataSize)
Сохраняет или перезаписывает данные фиксированного размера по данному имени. Подробнее...
bool | SetAnyData (string &name, uint64[]&data, uint dataSize)
Сохраняет или перезаписывает данные фиксированного размера по данному имени. Подробнее...
bool | SetAnyData (string &name, uint32[]&data, uint dataSize)
Сохраняет или перезаписывает данные фиксированного размера по данному имени. Подробнее...
bool | SetAnyData (string &name, uint16[]&data, uint dataSize)
Сохраняет или перезаписывает данные фиксированного размера по данному имени. Подробнее...
bool | SetAnyData (string &name, uint8[]&data, uint dataSize)
Сохраняет или перезаписывает данные фиксированного размера по данному имени. Подробнее...

Функции для работы с константами (*Names.lst)

int | GetConstantValue (int constCollection, string @+name)
Определение значения константы по имени. Подробнее...
string | GetConstantName (int constCollection, int value)
Определение имени константы по значению. Подробнее...
void | AddConstant (int constCollection, string @+name, int value)
Добавление отдельной константы в коллекцию. Подробнее...
bool | LoadConstants (int constCollection, string @+fileName, int pathType)
Загрузка/перезагрузка коллекции. Подробнее...

Функции для работы с изображениями

bool | LoadImage (uint index, string @+imageName, uint imageDepth, int pathType)
загрузка изображения. Подробнее...
uint | GetImageColor (uint index, uint x, uint y)
определение цвета пикселя. Подробнее...

Подробное описание

Функции

void Log ( string & text )

Заносит запись в лог-файл.

Аргументы
text Текст записи.
int Random | ( | int | minimum,
 |  | int | maximum
 | ) |  |

Возвращает рандомное значение.

Аргументы
minimum | Минимальное значение.
maximum | Максимальное значение.
Возвращает
Рандом в пределах minimum и maximum, включительно.
bool StrToInt | ( | string & | text,
 |  | int & | result
 | ) |  |

Конвертирует текст в число.

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

Аргументы
text | Строка, содержащая число.
result | Переменная, в которую записывается результат преобразования.
Возвращает
true – в случае удачного преобразования; false – в противном случае.
string GetLastError ( )

Возвращает описание последней ошибки.

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

Возвращает
Описание ошибки.
bool RunDialog | ( | Critter & | player,
 |  | Critter & | npc,
 |  | bool | ignoreDistance
 | ) |  |

Открывает диалог у игрока.

Аргументы
player | Игрок, у которого откроется диалог.
npc | NPC, который должен заговорить с игроком.
ignoreDistance | Если true, то диалог запустится на любом растоянии от игрока
Возвращает
true – в случае удачного начала диалога; false – в случае провала.
bool RunDialog | ( | Critter & | player,
 |  | uint16 | dialogId,
 |  | uint16 | hexX,
 |  | uint16 | hexY,
 |  | bool | ignoreDistance
 | ) |  |

Открывает диалог у игрока.

Аргументы
player | Игрок, у которого откроется диалог.
dialogId | Номер открываемого диалога.
hexX,hexY | Позиция привязки диалога к карте.
ignoreDistance | Если true, то диалог запустится на любом растоянии от игрока
Возвращает
true – в случае удачного начала диалога; false – в случае провала.
void RadioMessage | ( | uint16 | channel,
 |  | string & | text
 | ) |  |

Посылает сообщение по радио.

Аргументы
channel | Номер канала.
text | Сообщение.
void RadioMessageMsg | ( | uint16 | channel,
 |  | uint16 | textMsg,
 |  | uint | strNum
 | ) |  |

Посылает сообщение по радио.

Строка берется из MSG-файлов.

Аргументы
channel | Номер канала.
textMsg | Номер MSG-файла (см. Msg nums).
strNum | Номер строки.
void RadioMessageMsg | ( | uint16 | channel,
 |  | uint16 | textMsg,
 |  | uint | strNum,
 |  | string @+ | lexems
 | ) |  |

Посылает сообщение по радио с обработкой лексем.

Строка берется из MSG-файлов.

Аргументы
channel | Номер канала.
textMsg | Номер MSG-файла (см. Msg nums).
strNum | Номер строки.
lexems | лексемы.
void SetBestScore | ( | int | score,
 |  | Critter @+ | player,
 |  | string & | name
 | ) |  |

Установка текста в таблице статистики.

Аргументы
score | Номер статистики (см. Scores).
player | Игрок, имя которого будет вписано в статистику.
name | Если player равен null, то значение текста для статистики берется из этого аргумента.
bool AddTextListener | ( | int | sayType,
 |  | string & | firstStr,
 |  | uint16 | parameter,
 |  | string & | scriptName
 | ) |  |

Создаёт прослушку текста игрока.

Функция прослушки имеет следующий вид:

void listen_Func(Critter& player, string& text);
  • player – игрок, подходящий под все требования прослушки;
  • text – его текст. Префикс listen_ для функции пишите для удобства, чтобы не путаться в будущем (как и с dlg_, d_, r_...).
Аргументы
sayType | См. в Say types.
firstStr | Строка, с которой должно начинаться перехватывамое сообщение. Регистр не учитывается.
parameter | Дополнительный параметр для проверки. Для SAY_RADIO это номер канала, для остальных – это номер прототипа карты (см. MAPS.TXT).
scriptName | Имя функции.
Возвращает
true – в случае успеха; false – в случае провала.
Прим.
Минимальное значение для параметра firstStr – 5, максимальное – 63.
См. также
EraseTextListener
void EraseTextListener | ( | int | sayType,
 |  | string & | firstStr,
 |  | uint16 | parameter
 | ) |  |

Удаляет прослушку текста игрока.

Для снятия прослушки аргументы этой функции должны быть идентичны с аргументами ранее вызванной функции AddTextListener.

См. также
AddTextListener
NpcPlane CreatePlane ( )

Создаёт новый план, все переменные которого инициализированы нулем.

uint GetTick ( )

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

void ViewMap | ( | Map & | map,
 |  | uint | look,
 |  | uint16 | hx,
 |  | uint16 | hy,
 |  | uint8 | dir
 | ) |  |

Позволяет просмотреть определенную точку на карте.

Механизм аналогичен просмотру карты с глобальной карты.

Аргументы
map | Просматриваемая карта.
look | Радиус области просмотра.
hx,hy | Координаты гексагона просмотра.
dir | Направление взгляда.
uint GetScriptId | ( | string & | scriptName,
 |  | string & | funcDeclaration
 | ) |  |

Возвращает идентификатор скриптовой функции по её имени.

Аргументы
scriptName | Имя функции.
funcDeclaration | Полная сигнатура функции.
Возвращает
Идентификатор скрипта.
См. также
GetScriptName
string GetScriptName ( uint scriptId )

Возвращает имя скриптовой функции по её идентификатору.

Аргументы
scriptId Идентификатор функции.
Возвращает
Имя функции.
См. также
GetScriptId
uint GetCrittersDistantion | ( | Critter & | cr1,
 |  | Critter & | cr2
 | ) |  |

Определяет дистанцию между двумя криттерами.

Аргументы
cr1 | Первый криттер.
cr2 | Второй криттер.
Возвращает
Дистанция между криттерами в гексагонах.
uint GetDistantion | ( | uint16 | hexX1,
 |  | uint16 | hexY1,
 |  | uint16 | hexX2,
 |  | uint16 | hexY2
 | ) |  |

Определяет дистанцию между двумя гексагонами.

Аргументы
hexX1,hexY1 | Координаты 1-го гексагона.
hexX2,hexY2 | Координаты 2-го гексагона.
Возвращает
Дистанция между гексагонами в гексагонах.
uint8 GetDirection | ( | uint16 | fromX,
 |  | uint16 | fromY,
 |  | uint16 | toX,
 |  | uint16 | toY
 | ) |  |

Определяет направление, в котором находится гексагон №2 относительно гексагона №1.

Аргументы
fromX,fromY | Координаты 1-го гексагона.
toX,toY | Координаты 2-го гексагона.
Возвращает
Направление. Возможные значения: 0 – верх-право, 1 – право, 2 – низ-право, 3 – низ-лево и т.д.
uint8 GetOffsetDir | ( | uint16 | hx,
 |  | uint16 | hy,
 |  | uint16 | tx,
 |  | uint16 | ty,
 |  | float | offset
 | ) |  |
uint CreateLocation | ( | uint16 | protoId,
 |  | uint16 | worldX,
 |  | uint16 | worldY,
 |  | Critter @@+[] | critters
 | ) |  |

Создает локацию.

Аргументы
protoId | ID прототипа локации (см. файл _maps.fos).
worldX,worldY | Координаты локации на глобальной карте.
critters | Массив указателей на криттеров, которым откроется новая локация.
Возвращает
Уникальный ID новой локации. В случае провала функция возвращает 0.
void DeleteLocation ( uint16 locationId )

Удаляет указанную локацию.

Аргументы
locationId Уникальный ID локации.
Location GetLocation ( uint locId )

Ищет локацию по её уникальному идентификатору.

Аргументы
locId Уникальный идентификатор локации.
Возвращает
Указатель на экземпляр класса Location. При провале – null.
Location GetLocationByPid | ( | uint16 | locPid,
 |  | uint | skipCount
 | ) |  |

Ищет локацию по ее прототипу.

Аргументы
locPid | Номер прототипа локации (см. CITIES.TXT).
skipCount | Количество пропусков при поиске. Для случая если если попадаются локации, имеющие один прототип.
Возвращает
Указатель на экземпляр класса Location. При провале – null.
uint GetLocations | ( | uint16 | worldX,
 |  | uint16 | worldY,
 |  | uint | radius,
 |  | Location @@+[] | locations
 | ) |  |

Ищет локации, находящиеся в указанной точке.

Аргументы
worldX,worldY | Координаты точки на глобальной карте мира.
radius | Дополнительный радиус для поиска.
locations | Массив, в конец которого будут записаны найденный локации.
Возвращает
Количество найденных локаций.
Map GetMap ( uint mapId )

Ищет карту по её уникальному идентификатору.

Аргументы
mapId Уникальный идентификатор карты.
Возвращает
Указатель на экземпляр класса Map. При провале – null.
Map GetMapByPid | ( | uint16 | mapProtoId,
 |  | uint | skipCount
 | ) |  |

Ищет карту по ее прототипу.

Аргументы
mapProtoId | Номер прототипа карты (см. _maps.fos, MAPS.TXT).
skipCount | Количество пропусков при поиске. Для случая если если попадаются карты, имеющие один прототип.
Возвращает
Указатель на экземпляр класса Map. При провале – null.
uint GetAllLocations | ( | uint16 | pid,
 |  | Location @@+[] | locations
 | ) |  |

Позволяет найти в игре все локации с указанным прототипом.

Аргументы
pid | Номер прототипа локации (см. CITY.TXT).
locations | Массив, в который будут записаны все найденные локации.
Возвращает
Количество найденных локаций.
uint GetAllMaps | ( | uint16 | pid,
 |  | Map @@+[] | maps
 | ) |  |

Позволяет найти в игре все карты с указанным прототипом.

Аргументы
pid | Номер прототипа карты (см. MAPS.TXT).
maps | Массив, в который будут записаны все найденные карты.
Возвращает
Количество найденных карт.
uint GetAllNpc | ( | uint16 | pid,
 |  | Critter @@+[] | npc
 | ) |  |

Позволяет найти в игре всех NPC с указанным прототипом.

Аргументы
pid | Номер прототипа NPC.
npc | Массив, в который будут записаны все найденные NPC.
Возвращает
Количество найденных NPC.
Critter GetCritter ( uint critterId )

Ищет криттера по его уникальному номеру.

Аргументы
critterId Уникальный номер криттера.
Возвращает
Указатель на экземпляр класса Critter. В том случае, если криттера с заданным номером не существует или при попытке получить криттера-игрока, находящегося оффлайн – возвращается null.
Critter GetPlayer ( string & playerName )

Ищет игрока по его имени.

Аргументы
playerName Имя (логин) игрока.
Возвращает
Указатель на экземпляр класса Critter, при провале – null.
Прим.
Если игрок не в игре (в оффлайне), то поиск не даст результатов.
uint GetPlayerId ( string & name )

Позволяет получить идентификатор игрока по его имени.

Информация берется из базы данных.

Аргументы
name Имя (логин) игрока.
Возвращает
Идентификатор игрока.
string GetPlayerName ( uint playerId )

Позволяет получить имя игрока по его идентификатору.

Информация берется из базы данных.

Аргументы
playerId Идентификатор игрока.
Возвращает
Имя игрока.
uint GetAllPlayers ( Critter @@[] players )

Позволяет получить указатели на всех игроков, а так же их количество

Аргументы
players В данный массив поместятся указатели на игроков.
Возвращает
Количество игроков.
uint GetRegisteredPlayers | ( | array< uint > & | ids,
 |  | array< string > & | names
 | ) |  |

Позволяет получить идентификаторы всех игроков, зарегистрированных на сервере, а так же их количество

Аргументы
ids | Массив идентификаторов.
names | Массив имен.
Возвращает
Количество игроков.
void DeleteNpc ( Critter & npc )

Удаляет из игры указанного NPC в конце игрового цикла.

Аргументы
npc NPC, которого необходимо удалить.
bool SwapCritters | ( | Critter & | cr1,
 |  | Critter & | cr2,
 |  | bool | withInventory,
 |  | bool | withVars
 | ) |  |

(?)

Аргументы
cr1
cr2
withInventory
withVars
Возвращает
uint GetVisibleLocations | ( | uint16 | worldX,
 |  | uint16 | worldY,
 |  | uint | radius,
 |  | Critter @+ | visibleBy,
 |  | Location @@+[] | locations
 | ) |  |

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

Аргументы
worldX | Координата X.
worldY | Координата Y.
radius | Радиус.
visibleBy | Если параметр задан, то будет так же учитываться видит ли локацию данный криттер.
locations | Массив локаций.
Возвращает
количество
uint GetGlobalMapCritters | ( | uint16 | worldX,
 |  | uint16 | worldY,
 |  | uint | radius,
 |  | int | findType,
 |  | Critter @@+[] | critters
 | ) |  |

Для выборки криттеров с глобальной карты

bool SetParameterGetBehaviour | ( | uint | index,
 |  | string & | funcName
 | ) |  |

Позволяет определить собственную функцию определения значения для указанного параметра криттера.

Сигнатура функции:

int _FuncName(Critter& cr, uint index)
Аргументы
index | Индекс параметра (см. Параметры криттеров).
funcName | Имя функции.
Возвращает
true – в случае успешной установки обработчика; false – в противном случае.
См. также
Critter::Param
SetParameterChangeBehaviour
bool SetParameterChangeBehaviour | ( | uint | index,
 |  | string & | funcName
 | ) |  |

Позволяет определить собственную функцию-обработчик установки нового значения для указанного параметра криттера.

Сигнатура функции:

void _FuncName(Critter& cr, uint index, int oldValue)
Аргументы
index | Индекс параметра (см. Параметры криттеров).
funcName | Имя функции.
Возвращает
true – в случае успешной установки обработчика; false – в противном случае.
См. также
Critter::Param
Critter::ParamBase
SetParameterGetBehaviour
bool SetParameterDialogGetBehaviour | ( | uint | index,
 |  | string & | funcName
 | ) |  |

Позволяет определить собственную функцию-обработчик значения для указанного параметра криттера для последующей проверки данного параметра в диалоге.

Сигнатура функции:

void _FuncName(Critter@ master, Critter@ slave, uint index)
Аргументы
index | Индекс параметра (см. Параметры криттеров).
funcName | Имя функции.
Возвращает
true – в случае успешной установки обработчика; false – в противном случае.
См. также
Critter::Param
Critter::ParamBase
void SetSendParameter | ( | int | index,
 |  | bool | enabled
 | ) |  |

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

См. также
Critter::Param
Critter::ParamBase
void SetChosenSendParameter | ( | int | index,
 |  | bool | enabled
 | ) |  |

Позволяет запретить пересылку клиенту параметров активного персонажа, по-умолчанию отправка всех параметров включена.

См. также
Critter::Param
Critter::ParamBase
GameVar GetGlobalVar ( uint16 varId )

Возвращает глобальную переменную.

Аргументы
varId ID переменной (см. GVAR_... в файле _vars.fos).
Возвращает
Указатель на экземпляр класса GameVar. При провале – null.
GameVar GetLocalVar | ( | uint16 | varId,
 |  | uint | masterId
 | ) |  |

Возвращает локальную переменную.

Аргументы
varId | ID переменной (см. LVAR_... в файле _vars.fos).
masterId | ID криттера.
Возвращает
Указатель на экземпляр класса GameVar. При провале – null.
GameVar GetUnicumVar | ( | uint16 | varId,
 |  | uint | masterId,
 |  | uint | slaveId
 | ) |  |

Возвращает уникальную переменную.

Аргументы
varId | ID переменной (см. UVAR_... в файле _vars.fos).
masterId | ID криттера.
slaveId | ID второстепенного криттера.
Возвращает
Указатель на экземпляр класса GameVar. При провале – null.
uint GetAllItems | ( | uint16 | pid,
 |  | Item @@+[] | items
 | ) |  |

Позволяет найти в игре все предметы с указанным номером прототипа.

Аргументы
pid | Номер прототипа (см. файл ITEMPID.H).
items | Массив, в который будут записаны все найденные предметы.
Возвращает
Количество найденных предметов.
ProtoItem GetProtoItem ( uint16 protoId )

Ищет прототип предмета, имеющий указанный ID.

Аргументы
protoId ID Прототипа предмета (см. файл ITEMPID.H).
Возвращает
Указатель на экземпляр класса ProtoItem. При провале – null.
uint GetBagItems | ( | uint | bagId,
 |  | uint16 @+[] | pids,
 |  | uint @+[] | minCounts,
 |  | uint @+[] | maxCounts,
 |  | int @+[] | slots
 | ) |  |

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

Аргументы
bagId | Номер сумки (см. _bags.fos).
pids | Массив, к которому будут дописаны номера прототипов предметов в сумке.
minCounts | Массив, к которому будут дописано минимальное количество предметов для каждого прототипа.
maxCounts | Массив, к которому будут дописано максимальное количество предметов для каждого прототипа.
slots | Массив, к которому будут дописаны номера слотов размещения для каждого прототипа.
Возвращает
Общее количество предметов в сумке.
См. также
ST_BAG_ID
void MoveItem | ( | Item & | item,
 |  | uint | count,
 |  | Critter & | toCr
 | ) |  |

Перемещает указанный предмет в инвентарь указанного криттера.

Аргументы
item | Перемещаемый предмет.
count | Количество перемещаемых предметов.
toCr | Криттер, к которому перемещают предмет.
См. также
MoveItems(Item@[]&, Critter&)
MoveItem(Item&, uint, Item&, uint)
MoveItem(Item&, uint, Map&, uint16, uint16)
void MoveItem | ( | Item & | item,
 |  | uint | count,
 |  | Item & | toCont,
 |  | uint | stackId
 | ) |  |

Перемещает предмет в предмет-контейнер, присваивая ему указанный специальный ID.

Специальный ID предмета позволяет в дальнейшем идентифицировать перекладываемый предмет среди других предметов в контейнере.

Эта функция используется, например, в хранилищах, где игрок оставляет свои вещи. Как правило, для хранения предметов в них используется единственный предмет-контейнер, в который складываются вещи всех игроков. В качестве stackId используется идентификатор криттера.

Аргументы
item | Перемещаемый предмет.
count | Количество перемещаемых предметов.
toCont | Предмет-контейнер, в который перемещают предмет.
stackId | Новый специальный ID предмета (см. Item::SpecialId).
См. также
Item::SpecialId
MoveItems(Item@[]&, Item&, uint)
MoveItem(Item&, uint, Critter&)
MoveItem(Item&, uint, Map&, uint16, uint16)
void MoveItem | ( | Item & | item,
 |  | uint | count,
 |  | Map & | toMap,
 |  | uint16 | toHx,
 |  | uint16 | toHy
 | ) |  |

Перемещает указанный предмет на карту.

Аргументы
item | Перемещаемый предмет.
count | Количество перемещаемых предметов.
toMap | Карта, на которую должен быть перемещен предмет.
toHx,toHy | Координаты гексагона карты, на который следует переместить предмет.
См. также
Item::SpecialId
MoveItems(Item@[]&, Map&, uint16, uint16)
MoveItem(Item&, uint, Critter&)
MoveItem(Item&, uint, Item&, uint)
void MoveItems | ( | Item @&[] | items,
 |  | Critter & | toCr
 | ) |  |

Перемещает предметы в передаваемом массиве в инвентарь указанного криттера.

Аргументы
items | Массив перемещаемых предметов.
toCr | Криттер, к которому должны быть перемещены предметы.
См. также
MoveItem(Item&, uint, Critter&)
void MoveItem | ( | Item @&[] | items,
 |  | Item & | toCont,
 |  | uint | stackId
 | ) |  |

Перемещает предметы в передаваемом массиве в предмет-контейнер, присваивая им указанный специальный ID.

Аргументы
items | Массив перемещаемых предметов.
toCont | Предмет-контейнер, в который должны быть перемещены предметы.
stackId | Новый специальный ID предмета (см. Item::SpecialId).
См. также
Item::SpecialId
MoveItem(Item&, uint, Item&, uint)
void MoveItems | ( | Item @&[] | items,
 |  | Map & | toMap,
 |  | uint16 | toHx,
 |  | uint16 | toHy
 | ) |  |

Перемещает предметы в передаваемом массиве на карту.

Аргументы
items | Массив перемещаемых предметов.
toMap | Карта, на которую должны быть перемещены предметы.
toHx,toHy | Координаты гексагона карты, на который следует переместить предметы.
См. также
Item::SpecialId
MoveItem(Item&, uint, Map&, uint16, uint16)
void DeleteItem ( Item & item )

Удаляет из игры указанный предмет, независимо от того, где он находится.

Аргументы
item Предмет, который необходимо удалить.
См. также
DeleteItems
void DeleteItems ( Item @&[] items )

Удаляет из игры все предметы из переданного массива.

Аргументы
items Массив предметов, которые необходимо удалить.
Прим.
Допускается null в элементах массива items.
См. также
DeleteItem
uint WorldItemCount ( uint16 protoId )

Статистика количества предметов в игре.

Аргументы
protoId Прототип предмета.
Возвращает
Общее количество предметов с указанным прототипом.
void GetTime | ( | uint16 & | year,
 |  | uint16 & | month,
 |  | uint16 & | day_of_week,
 |  | uint16 & | day,
 |  | uint16 & | hour,
 |  | uint16 & | minute,
 |  | uint16 & | second,
 |  | uint16 & | milliseconds
 | ) |  |

Позволяет получить текущее локальное время.

Аргументы
[out] | year | Год
[out] | month | Месяц
[out] | day_of_week | День недели
[out] | day | День
[out] | hour | Час
[out] | minute | Минута
[out] | second | Секунда
[out] | milliseconds | Миллисекунда
void GetGameTime | ( | uint | fullSecond,
 |  | uint16 & | year,
 |  | uint16 & | month,
 |  | uint16 & | dayOfWeek,
 |  | uint16 & | day,
 |  | uint16 & | hour,
 |  | uint16 & | minute,
 |  | uint16 & | second
 | ) |  |

возвращает время и дату по указанной полной секунде.

Аргументы
[in] | fullSecond | Игровое время в полных секундах.
[out] | year | Год, полученный по полной секунде.
[out] | month | Месяц, полученный по полной секунде.
[out] | dayOfWeek | День недели, полученный по полной секунде.
[out] | day | День месяца, полученный по полной секунде.
[out] | hour | Час, полученный по полной секунде.
[out] | minute | Минута, полученная по полной секунде.
[out] | second | Секунда, полученная по полной секунде.
См. также
GetFullSecond
uint GetFullSecond | ( | uint16 | year,
 |  | uint16 | month,
 |  | uint16 | day,
 |  | uint16 | hour,
 |  | uint16 | minute,
 |  | uint16 | second
 | ) |  |

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

Аргументы
year | Год.
month,day,hour,minute,second | Месяц, день, час, минута и секунда соответственно.
Возвращает
Полная секунда.
Прим.
При некорректных значениях берутся текущие значения.
См. также
GetGameTime
uint CreateTimeEvent | ( | uint | beginSecond,
 |  | string & | funcName,
 |  | bool | save
 | ) |  |

Создает событие, которое произойдет в указанное игровое время.

Сигнатура функции-обработчика события:

uint e_FuncName(uint[]@ values);
  • values Хранит переданные параметры.

Если передавались криттеры или предметы, то в массиве values хранятся их идентификаторы.

Если не было передано ни одного параметра, то values == null.

В конец массива values записывается количество переданных криттеров и предметов:

uint len = values.length();
crLen = values[len-2]; // количество криттеров
itemLen = values[len-1]; // количество предметов
Аргументы
beginSecond | Время, в полных минутах, когда произойдет событие.
funcName Имя функции-события. Поддерживает два формата указания имени функции:
  • func_name – берется текущий модуль,
  • module_name@func_name – берется модуль указанный в module_name.
save | Флаг, который определяет, необходимо ли сохранять запись о событии в базе данных сервера. true – да, необходимо, false – нет.
Возвращает
Номер события. В случае провала функция возвращает 0.
uint CreateTimeEvent | ( | uint | beginSecond,
 |  | string & | funcName,
 |  | int | value,
 |  | bool | save
 | ) |  |

Создает событие, которое произойдет в указанное игровое время.

Аргументы
beginSecond | Время, в полных минутах, когда произойдет событие.
funcName | Имя функции-события (см. CreateTimeEvent(uint, string&, bool)).
value | Значение, передаваемое вместе с событием.
save | Флаг, который определяет, необходимо ли сохранять запись о событии в базе данных сервера. true – да, необходимо, false – нет.
Возвращает
Номер события. В случае провала функция возвращает 0.
См. также
CreateTimeEvent(uint, string&, bool)
uint CreateTimeEvent | ( | uint | beginSecond,
 |  | string & | funcName,
 |  | uint | value,
 |  | bool | save
 | ) |  |

Создает событие, которое произойдет в указанное игровое время.

Аргументы
beginSecond | Время, в полных минутах, когда произойдет событие.
funcName | Имя функции-события (см. CreateTimeEvent(uint, string&, bool)).
value | Значение, передаваемое вместе с событием.
save | Флаг, который определяет, необходимо ли сохранять запись о событии в базе данных сервера. true – да, необходимо, false – нет.
Возвращает
Номер события. В случае провала функция возвращает 0.
См. также
CreateTimeEvent(uint, string&, bool)
uint CreateTimeEvent | ( | uint | beginSecond,
 |  | string & | funcName,
 |  | int &[] | values,
 |  | bool | save
 | ) |  |

Создает событие, которое произойдет в указанное игровое время.

Аргументы
beginSecond | Время, в полных минутах, когда произойдет событие.
funcName | Имя функции-события (см. CreateTimeEvent(uint, string&, bool)).
values | Значения, передаваемые вместе с событием.
save | Флаг, который определяет, необходимо ли сохранять запись о событии в базе данных сервера. true – да, необходимо, false – нет.
Возвращает
Номер события. В случае провала функция возвращает 0.
См. также
CreateTimeEvent(uint, string&, bool)
uint CreateTimeEvent | ( | uint | beginSecond,
 |  | string & | funcName,
 |  | uint &[] | values,
 |  | bool | save
 | ) |  |

Создает событие, которое произойдет в указанное игровое время.

Аргументы
beginSecond | Время, в полных минутах, когда произойдет событие.
funcName | Имя функции-события (см. CreateTimeEvent(uint, string&, bool)).
values | Значения, передаваемые вместе с событием.
save | Флаг, который определяет, необходимо ли сохранять запись о событии в базе данных сервера. true – да, необходимо, false – нет.
Возвращает
Номер события. В случае провала функция возвращает 0.
См. также
CreateTimeEvent(uint, string&, bool)
bool GetTimeEvent | ( | uint | num,
 |  | uint & | duration,
 |  | uint @+[] | values
 | ) |  |

Создает событие, которое произойдет в указанное игровое время.

Аргументы
num | Номер события
duration | время до выполнения данного события в секундах (не полная секунда).
values | Значения, передаваемые вместе с событием.
Возвращает
Возвращает false, если событие не найдено.
См. также
CreateTimeEvent(uint, string&, bool)
bool GetTimeEvent | ( | uint | num,
 |  | uint & | duration,
 |  | int @+[] | values
 | ) |  |

Создает событие, которое произойдет в указанное игровое время.

Аргументы
num | Номер события
duration | время до выполнения данного события в секундах (не полная секунда).
values | Значения, передаваемые вместе с событием.
Возвращает
Возвращает false, если событие не найдено.
См. также
CreateTimeEvent(uint, string&, bool)
bool SetTimeEvent | ( | uint | num,
 |  | uint | duration,
 |  | uint @+[] | values
 | ) |  |

Создает событие, которое произойдет в указанное игровое время.

Аргументы
num | Номер события
duration | время до выполнения данного события в секундах (не полная секунда).
values | Значения, передаваемые вместе с событием.
Возвращает
Возвращает false, если событие не найдено.
См. также
CreateTimeEvent(uint, string&, bool)
bool SetTimeEvent | ( | uint | num,
 |  | uint | duration,
 |  | int @+[] | values
 | ) |  |

Создает событие, которое произойдет в указанное игровое время.

Аргументы
num | Номер события
duration | время до выполнения данного события в секундах (не полная секунда).
values | Значения, передаваемые вместе с событием.
Возвращает
Возвращает false, если событие не найдено.
См. также
CreateTimeEvent(uint, string&, bool)
bool EraseTimeEvent ( uint num )

Удаляет событие с указанным номером.

Номер события возвращается при его создании.

Аргументы
num номер удаляемого события.
Возвращает
Возвращает false, если событие не найдено.
См. также
CreateTimeEvent(uint, string&, bool)
void EraseAnyData ( string & name )

Удаляет данные.

Аргументы
name Уникальное имя данных.
bool GetAnyData | ( | string & | name,
 |  | int64 &[] | data
 | ) |  |

Позволяет загрузить сохраненные данные.

Аргументы
name | Уникальное имя данных.
data | Массив, в который будут помещены данные. Массив не обнуляется, а дописывается найденными данными.
Возвращает
true, если операция успешна; false – если нет.
См. также
SetAnyData(string&, int64[]&)
SetAnyData(string&, int64[]&, uint)
bool GetAnyData | ( | string & | name,
 |  | int32 &[] | data
 | ) |  |

Позволяет загрузить сохраненные данные.

Аргументы
name | Уникальное имя данных.
data | Массив, в который будут помещены данные. Массив не обнуляется, а дописывается найденными данными.
Возвращает
true, если операция успешна; false – если нет.
См. также
SetAnyData(string&, int32[]&)
SetAnyData(string&, int32[]&, uint)
bool GetAnyData | ( | string & | name,
 |  | int16 &[] | data
 | ) |  |

Позволяет загрузить сохраненные данные.

Аргументы
name | Уникальное имя данных.
data | Массив, в который будут помещены данные. Массив не обнуляется, а дописывается найденными данными.
Возвращает
true, если операция успешна; false – если нет.
См. также
SetAnyData(string&, int16[]&)
SetAnyData(string&, int16[]&, uint)
bool GetAnyData | ( | string & | name,
 |  | int8 &[] | data
 | ) |  |

Позволяет загрузить сохраненные данные.

Аргументы
name | Уникальное имя данных.
data | Массив, в который будут помещены данные. Массив не обнуляется, а дописывается найденными данными.
Возвращает
true, если операция успешна; false – если нет.
См. также
SetAnyData(string&, int8[]&)
SetAnyData(string&, int8[]&, uint)
bool GetAnyData | ( | string & | name,
 |  | uint64 &[] | data
 | ) |  |

Позволяет загрузить сохраненные данные.

Аргументы
name | Уникальное имя данных.
data | Массив, в который будут помещены данные. Массив не обнуляется, а дописывается найденными данными.
Возвращает
true, если операция успешна; false – если нет.
См. также
SetAnyData(string&, uint64[]&)
SetAnyData(string&, uint64[]&, uint)
bool GetAnyData | ( | string & | name,
 |  | uint32 &[] | data
 | ) |  |

Позволяет загрузить сохраненные данные.

Аргументы
name | Уникальное имя данных.
data | Массив, в который будут помещены данные. Массив не обнуляется, а дописывается найденными данными.
Возвращает
true, если операция успешна; false – если нет.
См. также
SetAnyData(string&, uint32[]&)
SetAnyData(string&, uint32[]&, uint)
bool GetAnyData | ( | string & | name,
 |  | uint16 &[] | data
 | ) |  |

Позволяет загрузить сохраненные данные.

Аргументы
name | Уникальное имя данных.
data | Массив, в который будут помещены данные. Массив не обнуляется, а дописывается найденными данными.
Возвращает
true, если операция успешна; false – если нет.
См. также
SetAnyData(string&, uint16[]&)
SetAnyData(string&, uint16[]&, uint)
bool GetAnyData | ( | string & | name,
 |  | uint8 &[] | data
 | ) |  |

Позволяет загрузить сохраненные данные.

Аргументы
name | Уникальное имя данных.
data | Массив, в который будут помещены данные. Массив не обнуляется, а дописывается найденными данными.
Возвращает
true, если операция успешна; false – если нет.
См. также
SetAnyData(string&, uint8[]&)
SetAnyData(string&, uint8[]&, uint)
bool IsAnyData ( string & name )

Проверяет, существуют ли данные с указанным именем.

Аргументы
name Проверяемое имя.
Возвращает
true, если существуют; false – если нет.
bool SetAnyData | ( | string & | name,
 |  | int64 &[] | data
 | ) |  |

Сохраняет или перезаписывает данные по данному имени.

Эти данные не исчезнут после рестарта сервера. Максимальный размер массива – 65535 байт.

Аргументы
name | Уникальное имя данных.
data | Массив сохраняемых данных.
Возвращает
true, если операция успешна; false – если нет.
См. также
GetAnyData(string&, int64[]&)
SetAnyData(string&, int64[]&, uint)
bool SetAnyData | ( | string & | name,
 |  | int32 &[] | data
 | ) |  |

Сохраняет или перезаписывает данные по данному имени.

Эти данные не исчезнут после рестарта сервера. Максимальный размер массива – 65535 байт.

Аргументы
name | Уникальное имя данных.
data | Массив сохраняемых данных.
Возвращает
true, если операция успешна; false – если нет.
См. также
GetAnyData(string&, int32[]&)
SetAnyData(string&, int32[]&, uint)
bool SetAnyData | ( | string & | name,
 |  | int16 &[] | data
 | ) |  |

Сохраняет или перезаписывает данные по данному имени.

Эти данные не исчезнут после рестарта сервера. Максимальный размер массива – 65535 байт.

Аргументы
name | Уникальное имя данных.
data | Массив сохраняемых данных.
Возвращает
true, если операция успешна; false – если нет.
См. также
GetAnyData(string&, int16[]&)
SetAnyData(string&, int16[]&, uint)
bool SetAnyData | ( | string & | name,
 |  | int8 &[] | data
 | ) |  |

Сохраняет или перезаписывает данные по данному имени.

Эти данные не исчезнут после рестарта сервера. Максимальный размер массива – 65535 байт.

Аргументы
name | Уникальное имя данных.
data | Массив сохраняемых данных.
Возвращает
true, если операция успешна; false – если нет.
См. также
GetAnyData(string&, int8[]&)
SetAnyData(string&, int8[]&, uint)
bool SetAnyData | ( | string & | name,
 |  | uint64 &[] | data
 | ) |  |

Сохраняет или перезаписывает данные по данному имени.

Эти данные не исчезнут после рестарта сервера. Максимальный размер массива – 65535 байт.

Аргументы
name | Уникальное имя данных.
data | Массив сохраняемых данных.
Возвращает
true, если операция успешна; false – если нет.
См. также
GetAnyData(string&, uint64[]&)
SetAnyData(string&, uint64[]&, uint)
bool SetAnyData | ( | string & | name,
 |  | uint32 &[] | data
 | ) |  |

Сохраняет или перезаписывает данные по данному имени.

Эти данные не исчезнут после рестарта сервера. Максимальный размер массива – 65535 байт.

Аргументы
name | Уникальное имя данных.
data | Массив сохраняемых данных.
Возвращает
true, если операция успешна; false – если нет.
См. также
GetAnyData(string&, uint32[]&)
SetAnyData(string&, uint32[]&, uint)
bool SetAnyData | ( | string & | name,
 |  | uint16 &[] | data
 | ) |  |

Сохраняет или перезаписывает данные по данному имени.

Эти данные не исчезнут после рестарта сервера. Максимальный размер массива – 65535 байт.

Аргументы
name | Уникальное имя данных.
data | Массив сохраняемых данных.
Возвращает
true, если операция успешна; false – если нет.
См. также
GetAnyData(string&, uint16[]&)
SetAnyData(string&, uint16[]&, uint)
bool SetAnyData | ( | string & | name,
 |  | uint8 &[] | data
 | ) |  |

Сохраняет или перезаписывает данные по данному имени.

Эти данные не исчезнут после рестарта сервера. Максимальный размер массива – 65535 байт.

Аргументы
name | Уникальное имя данных.
data | Массив сохраняемых данных.
Возвращает
true, если операция успешна; false – если нет.
См. также
GetAnyData(string&, uint8[]&)
SetAnyData(string&, uint8[]&, uint)
bool SetAnyData | ( | string & | name,
 |  | int64 &[] | data,
 |  | uint | dataSize
 | ) |  |

Сохраняет или перезаписывает данные фиксированного размера по данному имени.

Эти данные не исчезнут после рестарта сервера. Максимальный размер массива – 65535 байт.

Аргументы
name | Уникальное имя данных.
data | Массив сохраняемых данных.
dataSize | Размер сохраняемых данных.
Возвращает
true, если операция успешна; false – если нет.
См. также
GetAnyData(string&, int64[]&)
SetAnyData(string&, int64[]&)
bool SetAnyData | ( | string & | name,
 |  | int32 &[] | data,
 |  | uint | dataSize
 | ) |  |

Сохраняет или перезаписывает данные фиксированного размера по данному имени.

Эти данные не исчезнут после рестарта сервера. Максимальный размер массива – 65535 байт.

Аргументы
name | Уникальное имя данных.
data | Массив сохраняемых данных.
dataSize | Размер сохраняемых данных.
Возвращает
true, если операция успешна; false – если нет.
См. также
GetAnyData(string&, int32[]&)
SetAnyData(string&, int32[]&)
bool SetAnyData | ( | string & | name,
 |  | int16 &[] | data,
 |  | uint | dataSize
 | ) |  |

Сохраняет или перезаписывает данные фиксированного размера по данному имени.

Эти данные не исчезнут после рестарта сервера. Максимальный размер массива – 65535 байт.

Аргументы
name | Уникальное имя данных.
data | Массив сохраняемых данных.
dataSize | Размер сохраняемых данных.
Возвращает
true, если операция успешна; false – если нет.
См. также
GetAnyData(string&, int16[]&)
SetAnyData(string&, int16[]&)
bool SetAnyData | ( | string & | name,
 |  | int8 &[] | data,
 |  | uint | dataSize
 | ) |  |

Сохраняет или перезаписывает данные фиксированного размера по данному имени.

Эти данные не исчезнут после рестарта сервера. Максимальный размер массива – 65535 байт.

Аргументы
name | Уникальное имя данных.
data | Массив сохраняемых данных.
dataSize | Размер сохраняемых данных.
Возвращает
true, если операция успешна; false – если нет.
См. также
GetAnyData(string&, int8[]&)
SetAnyData(string&, int8[]&)
bool SetAnyData | ( | string & | name,
 |  | uint64 &[] | data,
 |  | uint | dataSize
 | ) |  |

Сохраняет или перезаписывает данные фиксированного размера по данному имени.

Эти данные не исчезнут после рестарта сервера. Максимальный размер массива – 65535 байт.

Аргументы
name | Уникальное имя данных.
data | Массив сохраняемых данных.
dataSize | Размер сохраняемых данных.
Возвращает
true, если операция успешна; false – если нет.
См. также
GetAnyData(string&, uint64[]&)
SetAnyData(string&, uint64[]&)
bool SetAnyData | ( | string & | name,
 |  | uint32 &[] | data,
 |  | uint | dataSize
 | ) |  |

Сохраняет или перезаписывает данные фиксированного размера по данному имени.

Эти данные не исчезнут после рестарта сервера. Максимальный размер массива – 65535 байт.

Аргументы
name | Уникальное имя данных.
data | Массив сохраняемых данных.
dataSize | Размер сохраняемых данных.
Возвращает
true, если операция успешна; false – если нет.
См. также
GetAnyData(string&, uint32[]&)
SetAnyData(string&, uint32[]&)
bool SetAnyData | ( | string & | name,
 |  | uint16 &[] | data,
 |  | uint | dataSize
 | ) |  |

Сохраняет или перезаписывает данные фиксированного размера по данному имени.

Эти данные не исчезнут после рестарта сервера. Максимальный размер массива – 65535 байт.

Аргументы
name | Уникальное имя данных.
data | Массив сохраняемых данных.
dataSize | Размер сохраняемых данных.
Возвращает
true, если операция успешна; false – если нет.
См. также
GetAnyData(string&, uint16[]&)
SetAnyData(string&, uint16[]&)
bool SetAnyData | ( | string & | name,
 |  | uint8 &[] | data,
 |  | uint | dataSize
 | ) |  |

Сохраняет или перезаписывает данные фиксированного размера по данному имени.

Эти данные не исчезнут после рестарта сервера. Максимальный размер массива – 65535 байт.

Аргументы
name | Уникальное имя данных.
data | Массив сохраняемых данных.
dataSize | Размер сохраняемых данных.
Возвращает
true, если операция успешна; false – если нет.
См. также
GetAnyData(string&, uint8[]&)
SetAnyData(string&, uint8[]&)
int GetConstantValue | ( | int | constCollection,
 |  | string @+ | name
 | ) |  |

Определение значения константы по имени.

Аргументы
constCollection | Номер коллекции, см. Constants collections в _defines.fos.
name | Имя константы.
Возвращает
Значение константы.
string GetConstantName | ( | int | constCollection,
 |  | int | value
 | ) |  |

Определение имени константы по значению.

Аргументы
constCollection | Номер коллекции, см. Constants collections в _defines.fos.
value | Значение константы.
Возвращает
Имя константы.
void AddConstant | ( | int | constCollection,
 |  | string @+ | name,
 |  | int | value
 | ) |  |

Добавление отдельной константы в коллекцию.

Аргументы
constCollection | Номер коллекции, см. Constants collections в _defines.fos.
name | Имя константы.
value | Значение константы.
bool LoadConstants | ( | int | constCollection,
 |  | string @+ | fileName,
 |  | int | pathType
 | ) |  |

Загрузка/перезагрузка коллекции.

Аргументы
constCollection | Номер коллекции, см. Constants collections в _defines.fos.
fileName | Имя файла.
pathType | Путь.
bool LoadImage | ( | uint | index,
 |  | string @+ | imageName,
 |  | uint | imageDepth,
 |  | int | pathType
 | ) |  |

загрузка изображения.

Аргументы
index | Номер изображения, с которым идет работа, перечисления см. в Game images _defines.fos;
imageName | Имя файла, формат должен быть только PNG, при null удаляется текущее изображение;
imageDepth | Глубина создаваемого изображения, допустимые значения 4 - ARGB, 3 - RGB, 2 - GB, 1 - B, необходима для оптимизации работы с памятью, что бы не выделять память, которая не будет использоваться (узнать кол-во выделенной памяти под изображения можно во вкладке сервера Memory -> Images);
pathType | Тип пути.
Возвращает
true, если операция успешна; false – если нет.
uint GetImageColor | ( | uint | index,
 |  | uint | x,
 |  | uint | y
 | ) |  |

определение цвета пикселя.

Аргументы
index | Номер изображения, с которым идет работа, перечисления см. в Game images _defines.fos;
x | Координаты пикселя X;
y | Координаты пикселя Y.
Возвращает
цвет

Переменные

const uint16 __Year

Текущий год.

Устанавливается в предопределенной функции сервера get_start_time.

См. также
get_start_time
const uint16 __Month

Текущий месяц.

Возможные значения
1 – 12.
const uint16 __Day

Текущий день.

Возможные значения
1 – (в зависимости от месяца). Также учитываются високосные года.
const uint16 __Hour

Текущий час.

Возможные значения
0 – 23.
const uint16 __Minute

Текущая минута.

Возможные значения
0 – 59.
const uint16 __Second

Текущая секунда.

Возможные значения
0 – 59.
const uint16 __FullSecond

Полная текущая секунда, учитывающая текущие год, месяц, день, час, минуту и секнуду.

const uint16 __TimeMultiplier

Коэффициент ускорения времени.

Устанавливается в предопределенной функции сервера get_start_time.

См. также
get_start_time
uint __Breaktime

(?)

uint __TimeoutTransfer

(?)

uint __TimeoutBattle

(?)

uint __ApRegeneration

(?)

uint __RtApCostCritterWalk

Величина штрафа AP в боевом режиме при ходьбе.

uint __RtApCostCritterRun

Величина штрафа AP в боевом режиме при беге.

uint __RtApCostMoveItemContainer

(?)

uint __RtApCostMoveItemInventory

(?)

uint __RtApCostPickItem

(?)

uint __RtApCostDropItem

(?)

uint __RtApCostReloadWeapon

(?)

uint __RtApCostPickCritter

(?)

uint __RtApCostUseItem

(?)

uint __RtApCostUseSkill

(?)

uint __TbApCostCritterMove

(?)

uint __TbApCostMoveItemContainer

(?)

uint __TbApCostMoveItemInventory

(?)

uint __TbApCostPickItem

(?)

uint __TbApCostDropItem

(?)

uint __TbApCostReloadWeapon

(?)

uint __TbApCostPickCritter

(?)

uint __TbApCostUseItem

(?)

uint __TbApCostUseSkill

(?)

uint __ApCostAimEyes

(?)

uint __ApCostAimHead

(?)

uint __ApCostAimGroin

(?)

uint __ApCostAimTorso

(?)

uint __ApCostAimArms

(?)

uint __ApCostAimLegs

(?)

uint __HitAimEyes

(?)

uint __HitAimHead

(?)

uint __HitAimGroin

(?)

uint __HitAimTorso

(?)

uint __HitAimArms

(?)

uint __HitAimLegs

(?)

bool __RtAlwaysRun
bool __TbAlwaysRun
bool __AlwaysRun

Всегда бежать, по-умолчанию false.

uint __AlwaysRunMoveDist

бежать при клике, при расстоянии больше-равно, чем данное значение

uint __AlwaysRunUseDist

бежать при использовании/разговоре/etc, при расстоянии больше-равно, чем данное значение

uint __GlobalMapWidth

Ширина глобальной карты мира.

Максимальное значение
100.
uint __GlobalMapHeight

Высота глобальной карты мира.

Максимальное значение
100.
uint __GlobalMapZoneLength

Длина зоны на глобальной карте.

Максимальное значение
500.
uint __GlobalMapMaxGroupCount

Максимальная численность группы.

uint __GlobalMapMoveTime

Указывает на то как часто вызывать обработчик глобальной карты GLOBAL_PROCESS_MOVE.

bool __MapHexagonal

Тип изометрии true - гексогональная, false - четырехугольная.

int __MapHexWidth

Ширина гекса

int __MapHexHeight

Высота гекса

int __MapHexLineHeight

Высота линии гексов

int __MapTileOffsX

Смещение тайлов земли по горизонтали

int __MapTileOffsY

Смещение тайлов земли по вертикали

int __MapRoofOffsX

Смещение тайлов крыши по горизонтали

int __MapRoofOffsY

Смещение тайлов крыши по вертикали

int __MapRoofSkipSize

Кол-во гексов на один тайл крыши (нужно для его корректного скрывания)

float __MapCameraAngle

Угол для рендеринга трехмерных моделей

bool __MapSmoothPath

Сглаживание пути при перемещениях

string __MapDataPrefix

Путь и префикс для файлов геометрии

uint __FixBoyDefaultExperience

Опыт, даваемый за крафт по умолчанию.

uint __SneakDivider

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

Формула
(20 + Perception * 3) - (Sneak / __SneakDivider).
bool __NoAnswerShuffle

Запрет перемешивания вариантов диалога.

bool __RunOnCombat

Возможность бегать в битве (для пошагового режима не актуально).

bool __RunOnTransfer

Возможность бегать при таймауте на переходы.

uint __CritterIdleTick

Задаёт периодичность вызова предопределенной функции critter_idle.

uint __LevelCap

Ограничение по уровню.

bool __LevelCapAddExperience

Будет ли начисляться опыт при достижении игроком __LevelCap (просто опыт, без перков, скиллпоинтов).

uint __LookNormal

Нормальный радиус обзора криттера.

Полная формула
critter.LookRadius = __LookNormal + critter.Perception * 3 - opponent.Sneak / __SneakDivider + critter.BonusLook
uint __LookMinimum

Минимальная видимость криттера.

Актуальна при ситуациях, когда модификатор скрытности превышает видимость.

int __DeadHitPoints

Количество хит-поинтов, при котором наступает смерть криттера.

uint __BagRefreshTime

Время обновления сумок, используемое по-умолчанию.

См. также
Critter::GetBagRefreshTime
Critter::SetBagRefreshTime
uint __WisperDist

Определяет дистанцию в гексагонах, на которой слышен шепот.

bool __CustomItemCost

Указывает, использовать ли для определения цен предметов скриптовую функцию item_cost.

uint __AccountPlayTime

Минимальное время игры за один аккаунт.

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

uint __MinimumOfflineTime

минимальное время оффлайна, после которого клиент полностью выйдет из игры

bool __DialogDemandRecheck

Позволяет отключить повторную проверку диалоговых условий в функциях диалоговых условий.

Прим.
При повторном вызове диалогового условия переменная равна true; при первом – false.
uint __NpcMaxTalkers

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

uint __TalkDistance

Максимальная дистанция ведения диалога.

См. также
ST_TALK_DISTANCE
uint __ShoutDist

Определяет дистанцию в гексагонах, на которой слышен крик.

float __SpritesZoom

Текущее увеличение в клиенте

float __SpritesZoomMax

Максимальное увеличение в клиенте

Прим.
Максимальное значение 10.0f
float __SpritesZoomMin

Минимальное увеличение в клиенте

Прим.
Минимальное значение 0.2f
uint __DlgTalkMinTime

Минимальное время диалога

uint __DlgBarterMinTime

Минимальное время бартера

int __LookChecks

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

См. Look checks.

uint __LookDir0

Процентный штраф к радиусу видимости при прямом взгляде.

uint __LookDir1

Процентный штраф к радиусу видимости при взгяде сбоку.

uint __LookDir2

Процентный штраф к радиусу видимости при нахождении сбоку за пределами взгляда.

uint __LookDir3

Процентный штраф к радиусу видимости при нахождении сзади.

uint __LookDir4

Дополнительная переменная для восьминаправленной геометрии

uint __LookSneakDir0

Процентный штраф к навыку скрытности при прямом взгляде.

uint __LookSneakDir1

Процентный штраф к навыку скрытности при взгяде сбоку.

uint __LookSneakDir2

Процентный штраф к навыку скрытности при нахождении сбоку за пределами взгляда.

uint __LookSneakDir3

Процентный штраф к навыку скрытности при нахождении сзади.

uint __LookSneakDir4

Дополнительная переменная для восьминаправленной геометрии.

uint __LookWeight

Вес (в граммах), за который который навык скрытности уменьшается на 1%.

int __MouseX

Текущая позиция мыши.

int __MouseY
uint __EncounterTime

частоты вызова GLOBAL_PROCESS_MOVE .

int __StartSpecialPoints
int __StartTagSkillPoints
int __SkillMaxValue
int __SkillModAdd2
int __SkillModAdd3
int __SkillModAdd4
int __SkillModAdd5
int __SkillModAdd6
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Зарезервированные скриптовые функции

Функции
Зарезервированные скриптовые функции
API сервера

Используются только в скрипте main.fos. Подробнее...

Функции

void | karma_voting (Critter &crFrom, Critter &crTo, bool valUp)
Вызывается при смене кармы одним игроком другому. Подробнее...
bool | check_look (Critter &cr, Critter &opponent)
Обработчик, позволяющий проверять в скрипте видимость одного криттера другим. Подробнее...
bool | check_trap_look (Map &map, Critter &cr, Item &item)
Обработчик, позволяющий проверять в скрипте видимость предмета криттером. Подробнее...
uint | item_cost (Item &item, Critter &cr, Critter &npc, bool sell)
Обработчик, позволяющий определять в скрипте цену предметов. Подробнее...
void | items_crafted (Item @[]&items, uint[]&itemsCount, Item @[]&resources, Critter &crafter)
Вызывается при крафте игроком новых предметов. Подробнее...
bool | items_barter (Item @[]&saleItems, uint[]&saleItemsCount, Item @[]&buyItems, uint[]&buyItemsCount, Critter &player, Critter &npc)
Вызывается при попытке совершения бартера между игроком и NPC. Подробнее...
void | player_levelup (Critter &player, uint skillIndex, uint skillUp, uint perkIndex)
Вызывается при распределении скиллпоинтов или выборе перка игроком. Подробнее...
void | turn_based_sequence (Map &map, Critter @[]&critters, Critter @firstTurnCrit)
Вызывается перед каждым новым раундом в пошаговом бое. Подробнее...

Сервер

200

bool | start ()
Вызывается при старте сервера. Подробнее...
void | init ()
Вызывается при старте сервера раньше, чем start(), когда мир еще не сгенерирован. Подробнее...
void | finish ()
Вызывается при остановке сервера. Подробнее...
uint | loop ()
Функция, вызываемая движком с задаваемой периодичностью. Подробнее...
void | get_start_time (uint16 &multiplier, uint16 &year, uint16 &month, uint16 &day, uint16 &hour, uint16 &minute)
Функция, устанавливающая стартовое время сервера. Подробнее...

Глобальная карта

190

void | global_process (int type, Critter &cr, Critter @[]&group, Item @car, uint &x, uint &y, uint &toX, uint &toY, uint &speed, uint &encounterDescriptor, bool &waitForAnswer)
Вызывается при различных событиях, связанных с перемещением и различными действиями группы криттеров на глобальной карте мира. Подробнее...
void | global_invite (Critter @[]&group, Item @car, uint encounterDescriptor, int combatMode, uint &mapId, uint16 &hexX, uint16 &hexY, uint8 &dir)
Вызывается, когда группа криттеров заходит на энкаутер. Подробнее...

Карты

190

void | map_critter_in (Map &map, Critter &cr)
Вызывается при заходе криттера на карту. Подробнее...
void | map_critter_out (Map &map, Critter &cr)
Вызывается при выходе криттера с карты. Подробнее...

Криттеры

180

void | critter_init (Critter &cr, bool registration)
Вызывается при регистрации/логине игрока или создании/загрузке NPC. Подробнее...
void | critter_idle (Critter &cr)
Вызывается при простое криттера. Подробнее...
void | critter_finish (Critter &cr)
Вызывается при выходе криттера из игры. Подробнее...
void | critter_dead (Critter &cr, Critter @killer)
Вызывается при смерти любого криттера. Подробнее...
void | critter_respawn (Critter &cr)
Вызывается при респауне криттера. Подробнее...
void | critter_attack (Critter &cr, Critter &target, ProtoItem &weapon, uint8 weaponMode, ProtoItem @ammo)
Глобальный обработчик атаки, который вызывается каждый раз при атаке одного криттера другим. Подробнее...
void | critter_attacked (Critter &cr, Critter &attacker)
Глобальный обработчик атаки, который вызывается каждый раз при атаке одного криттера другим. Подробнее...
bool | critter_stealing (Critter &cr, Critter &thief, Item &item, uint count)
Глобальный обработчик попытки воровства. Подробнее...
bool | critter_use_item (Critter &cr, Item &item, Critter @targetCr, Item @targetItem, Scenery @targetScen, uint param)
Глобальный обработчик использования предметов. Подробнее...
bool | critter_use_skill (Critter &cr, int skill, Critter @targetCr, Item @targetItem, Scenery @targetScen)
Глобальный обработчик использования скиллов. Подробнее...
void | critter_move_item (Critter &cr, Item &item, int fromSlot)
Глобальный обработчик, вызываемый при смене криттером предмета в активном слоте (в руках и при смене брони). Подробнее...
void | critter_reload_weapon (Critter &cr, Item &weapon, Item @ammo)
Вызывается при перезарядке или разрядке оружия криттером. Подробнее...
void | critter_move_item (Critter &cr, Item &item, uint8 fromSlot)
Вызызывается при смене предмета в активном слоте (того, что в руках или смене брони) у криттера. Подробнее...
bool | critter_check_move_item (Critter &cr, Item &item, uint8 toSlot, Item @itemSwap)
Вызызывается перед каждым перемещением предмета у криттера. Подробнее...

Планы

Глобальные обработчики событий для планов.

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

170

bool | npc_plane_begin (Critter &npc, NpcPlane &plane, uint childIndex, int reason, Critter @someCr, Item @someItem)
Вызывается перед добавлением плана (которого еще нет в списках у NPC). Подробнее...
bool | npc_plane_end (Critter &npc, NpcPlane &plane, uint childIndex, int reason, Critter @someCr, Item @someItem)
Вызывается перед удалением плана (который еще присутствует в списках планов). Подробнее...
bool | npc_plane_run (Critter &npc, NpcPlane &plane, uint childIndex, int reason, uint &result0, uint &result1, uint &result2)
Вызывается во время выполнения некоторых планов. Подробнее...

Подробное описание

Используются только в скрипте main.fos.

Должны быть обязательно объявлены, иначе сервер не запустится.

Функции

bool start ( )

Вызывается при старте сервера.

Возвращает
Показывает удачно ли прошла инициализация. true – если удачно; false – в противном случае.
void init ( )

Вызывается при старте сервера раньше, чем start(), когда мир еще не сгенерирован.

void finish ( )

Вызывается при остановке сервера.

uint loop ( )

Функция, вызываемая движком с задаваемой периодичностью.

Период задается с помощью возвращаемого значения.

Возвращает
Время в миллисекундах, через которое функцию следует вызвать снова. Если будет возвращен ноль, то функция больше не будет вызываться.
void get_start_time | ( | uint16 & | multiplier,
 |  | uint16 & | year,
 |  | uint16 & | month,
 |  | uint16 & | day,
 |  | uint16 & | hour,
 |  | uint16 & | minute
 | ) |  |

Функция, устанавливающая стартовое время сервера.

Вызывается единожды при создании мира.

Аргументы
[out] | multiplier | Коэффициент ускорения времени (1..99).
[out] | year | Стартовый год (1700..30000).
[out] | month | Стартовый месяц (1..12).
[out] | day | Стартовый день (1..31).
[out] | hour | Стартовый час час (0..23).
[out] | minute | Стартовая минута (0..59)
void global_process | ( | int | type,
 |  | Critter & | cr,
 |  | Critter @&[] | group,
 |  | Item @ | car,
 |  | uint & | x,
 |  | uint & | y,
 |  | uint & | toX,
 |  | uint & | toY,
 |  | uint & | speed,
 |  | uint & | encounterDescriptor,
 |  | bool & | waitForAnswer
 | ) |  |

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

Типы событий, при которых вызывается данная функция (возможные значения параметра type):

  • GLOBAL_PROCESS_MOVE – при передвижении по глобальной карте, каждые 5 секунд.
  • GLOBAL_PROCESS_ENTER – при попытке входа на пустую карту.
  • GLOBAL_PROCESS_START_FAST – сразу при выходе на глобал или отсоединении от группы.
  • GLOBAL_PROCESS_START – при прошествии 20 секунд от выхода на глобал или при первой попытке передвижения.
  • GLOBAL_PROCESS_SET_MOVE – при изменении направления движения.
  • GLOBAL_PROCESS_STOPPED – при остановке группы на глобале.
  • GLOBAL_PROCESS_NPC_IDLE – при простое NPC на глобале (промежуток вызова определяется переменной __CritterIdleTick).

Для открытия диалогового окна с вопросом о входе на энкаунтер используются методы Say* класса Critter, с типами:

  • SAY_ENCOUNTER_ANY – возможность выбора между боем в реальном времени, пошаговым режимом боя и отказом от захода на энкаутер.
  • SAY_ENCOUNTER_RT – предлагается только бой в реальном времени и отказ.
  • SAY_ENCOUNTER_TB – предлагается только бой в пошаговом режиме и отказ.
Аргументы
[in] | type | Тип вызова.
[in] | cr | Криттер, для которого вызван обработчик.
[in] | group | Группа тех, кто двигается.
[in] | car | Указатель на машину, используемую группой.
[in,out] | x,y | Текущая позиция.
[in,out] | toX,toY | Позиция, куда двигается группа.
[out] | speed | Служит для установки скорости перемещения по глобалу.
[out] | encounterDescriptor | Если в результате вызова данный параметр принимает ненулевое значение, то он впоследствии отправится в функцию global_invite, в которой уже и надо выставить конкретно номер карты и позицию входа. Если encounterDescriptor равен 0, то функция global_invite не вызывается.
[out] | waitForAnswer | Если в результате вызова данный параметр принимает значение true, то перед последующим вызовом функции global_invite лидер группы должен подтвердить приглашение. Если false, то функция global_invite вызывается сразу. Каким образом показать сообщение лидеру см. в Примечаниях.
Прим.
Можно менять переменные x, y, toX, toY, чтобы изменить точки: текущую или назначения, соответственно. Чтобы остановить группу просто присвойте точке назначения текущую.
Первым криттером в списке group является лидер группы.
См. также
global_invite
Critter::Say
Critter::SayMsg
CRITTER_EVENT_GLOBAL_PROCESS
void global_invite | ( | Critter @&[] | group,
 |  | Item @ | car,
 |  | uint | encounterDescriptor,
 |  | int | combatMode,
 |  | uint & | mapId,
 |  | uint16 & | hexX,
 |  | uint16 & | hexY,
 |  | uint8 & | dir
 | ) |  |

Вызывается, когда группа криттеров заходит на энкаутер.

Аргументы
[in] | group | Группа криттеров, заходящих на энкаутер.
[in] | car | Указатель на машину, используемую группой.
[in] | encounterDescriptor | Переданный из функции global_process номер.
[in] | combatMode | Выбранный (игроком или движком) режим боя (см. Combat modes).
[out] | mapId | Уникальный идентификатор карты энкаутера. Если в результате вызова данный параметр принимает ненулевое значение, то группа заходит на указанную карту.
[out] | hexX,hexY | Начальная позиция криттеров на карте.
[out] | dir | Начальное направление криттеров на карте.
См. также
global_process
CRITTER_EVENT_GLOBAL_INVITE
void map_critter_in | ( | Map & | map,
 |  | Critter & | cr
 | ) |  |

Вызывается при заходе криттера на карту.

Аргументы
map | Карта, на которую осуществляется вход.
cr | Игрок, который входит.
См. также
MAP_EVENT_CRITTER_IN
void map_critter_out | ( | Map & | map,
 |  | Critter & | cr
 | ) |  |

Вызывается при выходе криттера с карты.

Аргументы
map | Карта, с которой осуществляется выход.
cr | Игрок, который выходит.
См. также
MAP_EVENT_CRITTER_OUT
void critter_init | ( | Critter & | cr,
 |  | bool | registration
 | ) |  |

Вызывается при регистрации/логине игрока или создании/загрузке NPC.

Аргументы
cr | Игрок.
registration | При логине равен false; при регистрации (первом входе) – true.
Прим.
По умолчанию, стартовой позицией игроков считается центр глобальной карты.
void critter_idle ( Critter & cr )

Вызывается при простое криттера.

Периодичность вызова определяется глобальной переменной __CritterIdleTick.

Аргументы
cr Криттер, для которого вызывается функция.
См. также
CRITTER_EVENT_IDLE
void critter_finish ( Critter & cr )

Вызывается при выходе криттера из игры.

Аргументы
cr Криттер, для которого вызывается функция.
См. также
CRITTER_EVENT_FINISH
void critter_dead | ( | Critter & | cr,
 |  | Critter @ | killer
 | ) |  |

Вызывается при смерти любого криттера.

Аргументы
cr | Убитый или погибший криттер.
killer | Указатель на криттера-убийцу.
См. также
CRITTER_EVENT_DEAD MAP_EVENT_CRITTER_DEAD
void critter_respawn ( Critter & cr )

Вызывается при респауне криттера.

Аргументы
cr Криттер, для которого вызывается событие.
См. также
CRITTER_EVENT_RESPAWN
void critter_attack | ( | Critter & | cr,
 |  | Critter & | target,
 |  | ProtoItem & | weapon,
 |  | uint8 | weaponMode,
 |  | ProtoItem @ | ammo
 | ) |  |

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

Аргументы
cr | Атакующий криттер.
target | Атакуемый криттер.
weapon | Используемый прототип оружия, уже настроенный на нужный тип атаки.
weaponMode | Режим атаки оружия. старшие четыре бита - прицел (см. Hit Locations), младшие четыре бита - тип использования (0 – primary, 1 – secondary, 2 – third).
ammo | Используемая амуниция.
См. также
Critter::SendCombatResult
CRITTER_EVENT_ATTACK
CRITTER_EVENT_SMTH_ATTACK
void critter_attacked | ( | Critter & | cr,
 |  | Critter & | attacker
 | ) |  |

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

Аргументы
cr | Атакуемый криттер.
attacker | Атакующий криттер.
См. также
CRITTER_EVENT_ATTACKED
CRITTER_EVENT_SMTH_ATTACKED
bool critter_stealing | ( | Critter & | cr,
 |  | Critter & | thief,
 |  | Item & | item,
 |  | uint | count
 | ) |  |

Глобальный обработчик попытки воровства.

Аргументы
cr | Обворовываемый криттер.
thief | Вор.
item | Воруемый предмет.
count | Количество воруемых предметов.
Возвращает
Попадает в параметр success в обработчиках CRITTER_EVENT_STEALING и CRITTER_EVENT_SMTH_STEALING, которые, в свою очередь, уже не возвращают никакого значения.
См. также
CRITTER_EVENT_STEALING
CRITTER_EVENT_SMTH_STEALING
bool critter_use_item | ( | Critter & | cr,
 |  | Item & | item,
 |  | Critter @ | targetCr,
 |  | Item @ | targetItem,
 |  | Scenery @ | targetScen,
 |  | uint | param
 | ) |  |

Глобальный обработчик использования предметов.

Аргументы
cr | Криттер, который использует предмет.
item | Используемый предмет.
targetCr | Указатель на криттера, на котором используется предмет.
targetItem | Указатель на предмет, на котором используется предмет.
targetScen | Указатель на сценери, на котором используется предмет.
param (?).
Возвращает
true, если обработка полностью выполнена скриптом; false, если обработка должна быть выполнена движком.
См. также
CRITTER_EVENT_USE_ITEM
bool critter_use_skill | ( | Critter & | cr,
 |  | int | skill,
 |  | Critter @ | targetCr,
 |  | Item @ | targetItem,
 |  | Scenery @ | targetScen
 | ) |  |

Глобальный обработчик использования скиллов.

Аргументы
cr | Криттер, использующий скилл.
skill | Используемый скилл (см. Навыки и Special Skill Values).
targetCr | Указатель на криттера, на котором используется скилл.
targetItem | Указатель на предмет, на котором используется скилл.
targetScen | Указатель на сценери, на котором используется скилл.
Возвращает
true, если обработка полностью выполнена скриптом; false, если обработка должна быть выполнена движком.
См. также
CRITTER_EVENT_USE_SKILL
void critter_move_item | ( | Critter & | cr,
 |  | Item & | item,
 |  | int | fromSlot
 | ) |  |

Глобальный обработчик, вызываемый при смене криттером предмета в активном слоте (в руках и при смене брони).

Аргументы
cr | Криттер, меняющий предмет.
item | Предмет.
fromSlot | Слот (см. Slots).
void critter_reload_weapon | ( | Critter & | cr,
 |  | Item & | weapon,
 |  | Item @ | ammo
 | ) |  |

Вызывается при перезарядке или разрядке оружия криттером.

Аргументы
cr | Криттер, который выполняет перезарядку.
weapon | Оружие.
ammo | Указатель на предмет, представляющий патроны. Если передан null, то это значит, что криттер разряжает оружие.
void critter_move_item | ( | Critter & | cr,
 |  | Item & | item,
 |  | uint8 | fromSlot
 | ) |  |

Вызызывается при смене предмета в активном слоте (того, что в руках или смене брони) у криттера.

Аргументы
cr | Криттер, который меняет предмет.
item | Предмет, который меняется.
fromSlot | Слот, из которого берется предмет.
bool critter_check_move_item | ( | Critter & | cr,
 |  | Item & | item,
 |  | uint8 | toSlot,
 |  | Item @ | itemSwap
 | ) |  |

Вызызывается перед каждым перемещением предмета у криттера.

Аргументы
cr | Криттер, который меняет предмет;
item | Предмет, который перемещается;
toSlot | Слот, из которого берется предмет;
itemSwap | предмет, который уже находится в слоте назначения и который переместится в слот перемещаемого предмета при успешной транзакции.
Возвращает
Если возвратить false, то предмет не переместится; если true, то переместится.
bool npc_plane_begin | ( | Critter & | npc,
 |  | NpcPlane & | plane,
 |  | uint | childIndex,
 |  | int | reason,
 |  | Critter @ | someCr,
 |  | Item @ | someItem
 | ) |  |

Вызывается перед добавлением плана (которого еще нет в списках у NPC).

Аргументы
npc | NPC, для которого вызвана функция.
plane | Добавляемый план.
childIndex | Номер плана в цепочке наследников.
reason | Указывает причину начала плана (см. Plane begin reasons).
someCr (?)
someItem (?)
Возвращает
Если возвратить false, то план не добавится; если true, то добавится.
bool npc_plane_end | ( | Critter & | npc,
 |  | NpcPlane & | plane,
 |  | uint | childIndex,
 |  | int | reason,
 |  | Critter @ | someCr,
 |  | Item @ | someItem
 | ) |  |

Вызывается перед удалением плана (который еще присутствует в списках планов).

Аргументы
npc | NPC, для которого вызвана функция.
plane | Удаляемый план.
childIndex | Номер плана в цепочке наследников.
reason | Указывает причину завершения плана (см. Plane end reasons).
someCr (?)
someItem (?)
Возвращает
Если возвратить false, то план станет последним по текущей приоритетности; если true, то удалится.
bool npc_plane_run | ( | Critter & | npc,
 |  | NpcPlane & | plane,
 |  | uint | childIndex,
 |  | int | reason,
 |  | uint & | result0,
 |  | uint & | result1,
 |  | uint & | result2
 | ) |  |

Вызывается во время выполнения некоторых планов.

Аргументы
npc | NPC, для которого вызвана функцмя-обработчик.
plane | План, для которого вызвана функция-обработчик.
childIndex | Номер плана в цепочке наследников.
reason | Причина, по которой была вызвана функция обработчик (см. Plane run reasons).
[in,out] | result0,result1,result2 | Аргументы, интерпретация которых зависит от аргумента reason.
Возвращает
Показывает, было ли обработано событие в скрипте.
void karma_voting | ( | Critter & | crFrom,
 |  | Critter & | crTo,
 |  | bool | valUp
 | ) |  |

Вызывается при смене кармы одним игроком другому.

Аргументы
crFrom | Игрок, меняющий карму.
crTo | Игрок, которому меняется карма.
valUp | Повышается ли карма (true) или понижается (false).
bool check_look | ( | Critter & | cr,
 |  | Critter & | opponent
 | ) |  |

Обработчик, позволяющий проверять в скрипте видимость одного криттера другим.

Чтобы эта функция использовалась при расчётах видимости, установите флаг LOOK_CHECK_SCRIPT глобальной переменной __LookChecks.

Аргументы
cr | Криттер, относительно которого определяется видимость другого криттера.
opponent | Криттер, видимость которого проверяется.
Возвращает
true, в случае, если один криттер видит другого; false – в противном случае.
Прим.
События CRITTER_EVENT_SHOW_CRITTER_X и CRITTER_EVENT_HIDE_CRITTER_X при этом не вызываются.
bool check_trap_look | ( | Map & | map,
 |  | Critter & | cr,
 |  | Item & | item
 | ) |  |

Обработчик, позволяющий проверять в скрипте видимость предмета криттером.

Чтобы эта функция использовалась при расчётах видимости, установите флаг LOOK_CHECK_ITEM_SCRIPT глобальной переменной __LookChecks.

Аргументы
map | Карта, на которой проверяется видимость.
cr | Криттер, относительно которого определяется видимость предмета.
item | Предмет, видимость которого проверяется.
Возвращает
true, в случае, если один криттер видит другого; false – в противном случае.
uint item_cost | ( | Item & | item,
 |  | Critter & | cr,
 |  | Critter & | npc,
 |  | bool | sell
 | ) |  |

Обработчик, позволяющий определять в скрипте цену предметов.

Чтобы эта функция использовалась при расчётах цен предметов, необходимо установить глобальной переменной __CustomItemCost значение true.

Аргументы
item | Предмет, для которого определяется цена.
cr | Игрок, участвующий в обмене.
npc | NPC, участвующий в обмене.
sell | Указывает, продается ли (true) предмет игроком или покупается (false).
Прим.
Не забудьте определить эту функцию в клиентском скрипте.
Помните, что надо возвращать цену за один предмет, а не за все.
Возвращает
Цена одного предмета.
См. также
ClientReserved::item_cost
void items_crafted | ( | Item @&[] | items,
 |  | uint &[] | itemsCount,
 |  | Item @&[] | resources,
 |  | Critter & | crafter
 | ) |  |

Вызывается при крафте игроком новых предметов.

Аргументы
items | Созданные предметы.
itemsCount | Количество созданных предметов (для определения количества группируемых предметов).
resources | Предметы-ресурсы.
crafter | Игрок, скрафтивший предметы.
Прим.
Ресурсы resources в функции не имеют какой-либо принадлежности (Item::Accessory == ACCESSORY_NONE) и будут удалены после выхода из функции, если никому не будут присвоены.
bool items_barter | ( | Item @&[] | saleItems,
 |  | uint &[] | saleItemsCount,
 |  | Item @&[] | buyItems,
 |  | uint &[] | buyItemsCount,
 |  | Critter & | player,
 |  | Critter & | npc
 | ) |  |

Вызывается при попытке совершения бартера между игроком и NPC.

Аргументы
saleItems | Продаваемые игроком предметы.
saleItemsCount | Массив с количеством продаваемых предметов, соответсвующий saleItems.
buyItems | Покупаемые игроком предметы.
buyItemsCount | Массив с количеством покупаемых предметов, соответствующий buyItems.
player | Игрок, участвующий в бартере.
npc | NPC, участвующий в бартере.
Возвращает
Если возвращается false, то бартер не будет совершен.
void player_levelup | ( | Critter & | player,
 |  | uint | skillIndex,
 |  | uint | skillUp,
 |  | uint | perkIndex
 | ) |  |

Вызывается при распределении скиллпоинтов или выборе перка игроком.

Аргументы
player | Игрок.
skillIndex | Номер навыка, на который распределяются скиллпоинты (см. Навыки).
skillUp | Количество затраченных скиллпоинтов.
perkIndex | Номер выбранного перка (см. Перки).
void turn_based_sequence | ( | Map & | map,
 |  | Critter @&[] | critters,
 |  | Critter @ | firstTurnCrit
 | ) |  |

Вызывается перед каждым новым раундом в пошаговом бое.

Аргументы
map | Карта боя.
critters | Все игроки с карты.
firstTurnCrit | Игрок, который ходит первым. Данный аргумент берется из Map::BeginTurnBased.
Прим.
Отсортированная очередь возвращается в переданном массиве Critter@[]& critters.
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Класс CraftItem

  • Алфавитный указатель классов
  • Члены классов
Открытые члены | Открытые атрибуты | Полный список членов класса
Класс CraftItem
API сервера

CraftItem. Подробнее...

Открытые члены

uint | GetShowParams (array< uint > @nums, array< int > @values, array< bool > @ors)
uint | GetNeedParams (array< uint > @nums, array< int > @values, array< bool > @ors)
uint | GetNeedTools (array< uint16 > @pids, array< uint > @values, array< bool > @ors)
uint | GetNeedItems (array< uint16 > @pids, array< uint > @values, array< bool > @ors)
uint | GetOutItems (array< uint16 > @pids, array< uint > @values)

Открытые атрибуты

const uint | Num
const uint | Name
const string | Info
const uint | Experience
const string | Script

Подробное описание

CraftItem.

Методы

uint GetShowParams | ( | array< uint > @ | nums,
 |  | array< int > @ | values,
 |  | array< bool > @ | ors
 | ) |  |
uint GetNeedParams | ( | array< uint > @ | nums,
 |  | array< int > @ | values,
 |  | array< bool > @ | ors
 | ) |  |
uint GetNeedTools | ( | array< uint16 > @ | pids,
 |  | array< uint > @ | values,
 |  | array< bool > @ | ors
 | ) |  |
uint GetNeedItems | ( | array< uint16 > @ | pids,
 |  | array< uint > @ | values,
 |  | array< bool > @ | ors
 | ) |  |
uint GetOutItems | ( | array< uint16 > @ | pids,
 |  | array< uint > @ | values
 | ) |  |

Данные класса

const uint Num
const uint Name
const string Info
const uint Experience
const string Script
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Класс Critter

  • Алфавитный указатель классов
  • Члены классов
Полный список членов класса
Класс Critter
API сервера

Криттер. Подробнее...

Открытые члены

Скрипты и события

300

bool | SetScript (string @+script)
Устанавливает новый скрипт и вызывает в нем функцию инициализации с параметром firstTime равным true. Подробнее...
uint | GetScriptId ()
Возвращает ID текущего скрипта, связанного с данным криттером. Подробнее...
void | SetEvent (int eventType, string &funcName)
Биндит функцию-обработчика определенного события. Подробнее...
Вызов событий

295

void | EventIdle ()
Принудительно вызывает событие CRITTER_EVENT_IDLE. Подробнее...
void | EventFinish (bool deleted)
Принудительно вызывает событие CRITTER_EVENT_FINISH. Подробнее...
void | EventDead (Critter @killer)
Принудительно вызывает событие CRITTER_EVENT_DEAD. Подробнее...
void | EventRespawn ()
Принудительно вызывает событие CRITTER_EVENT_RESPAWN. Подробнее...
void | EventShowCritter (Critter &cr)
Принудительно вызывает событие CRITTER_EVENT_SHOW_CRITTER. Подробнее...
void | EventHideCritter (Critter &cr)
Принудительно вызывает событие CRITTER_EVENT_HIDE_CRITTER. Подробнее...
void | EventShowItemOnMap (Item &showItem, bool added, Critter @dropper)
Принудительно вызывает событие CRITTER_EVENT_SHOW_ITEM_ON_MAP. Подробнее...
void | EventChangeItemOnMap (Item &item)
Принудительно вызывает событие CRITTER_EVENT_CHANGE_ITEM_ON_MAP. Подробнее...
void | EventHideItemOnMap (Item &hideItem, bool removed, Critter @picker)
Принудительно вызывает событие CRITTER_EVENT_HIDE_ITEM_ON_MAP. Подробнее...
bool | EventAttacked (Critter &attacker, Item @weapon)
Принудительно вызывает событие CRITTER_EVENT_ATTACKED. Подробнее...
void | EventStealing (Critter &thief, bool success, Item &item, uint count)
Принудительно вызывает событие CRITTER_EVENT_STEALING. Подробнее...
void | EventMessage (Critter &fromCrit, int message, int value)
Принудительно вызывает событие CRITTER_EVENT_MESSAGE. Подробнее...
bool | EventAttack (Critter &target, Item @weapon)
Принудительно вызывает событие CRITTER_EVENT_ATTACK. Подробнее...
bool | EventUseItem (Item &item, Critter @onCritter, Item @onItem, Scenery @onScenery)
Принудительно вызывает событие CRITTER_EVENT_USE_ITEM. Подробнее...
bool | EventUseSkill (int skill, Critter @onCritter, Item @onItem, Scenery @onScenery)
Принудительно вызывает событие CRITTER_EVENT_USE_SKILL. Подробнее...
void | EventDropItem (Item &item)
Принудительно вызывает событие CRITTER_EVENT_DROP_ITEM. Подробнее...
void | EventMoveItem (Item &item, uint8 fromSlot)
Принудительно вызывает событие CRITTER_EVENT_MOVE_ITEM. Подробнее...
void | EventKnockout (uint anim2begin, uint anim2idle, uint anim2end, uint lostAp, uint knockDist)
Принудительно вызывает событие CRITTER_EVENT_KNOCKOUT. Подробнее...
void | EventSmthStealing (Critter &fromCrit, Critter &thief, bool success, Item &item, uint count)
Принудительно вызывает событие CRITTER_EVENT_SMTH_STEALING. Подробнее...
void | EventSmthAttack (Critter &fromCrit, Critter &target)
Принудительно вызывает событие CRITTER_EVENT_SMTH_ATTACK. Подробнее...
void | EventSmthAttack (Critter &fromCrit, Critter &target)
Принудительно вызывает событие CRITTER_EVENT_SMTH_ATTACKED. Подробнее...
void | EventSmthUseItem (Critter &fromCrit, Item &item, Critter @onCritter, Item @onItem, Scenery @onScenery)
Принудительно вызывает событие CRITTER_EVENT_SMTH_USE_ITEM. Подробнее...
void | EventSmthUseSkill (Critter &fromCrit, int skill, Critter @onCritter, Item @onItem, Scenery @onScenery)
Принудительно вызывает событие CRITTER_EVENT_SMTH_USE_SKILL. Подробнее...
void | EventSmthDropItem (Critter &fromCrit, Item &item)
Принудительно вызывает событие CRITTER_EVENT_SMTH_DROP_ITEM. Подробнее...
void | EventSmthMoveItem (Critter &fromCrit, Item &item, uint8 fromSlot)
Принудительно вызывает событие CRITTER_EVENT_SMTH_MOVE_ITEM. Подробнее...
void | EventSmthKnockout (Critter &fromCrit, uint anim2begin, uint anim2idle, uint anim2end, uint lostAp, uint knockDist)
Принудительно вызывает событие CRITTER_EVENT_SMTH_KNOCKOUT. Подробнее...
bool | EventBarter (Critter &cr, bool attach, uint barterCount)
Принудительно вызывает событие CRITTER_EVENT_BARTER. Подробнее...
bool | EventTalk (Critter &cr, bool attach, uint talkCount)
Принудительно вызывает событие CRITTER_EVENT_TALK. Подробнее...
bool | EventPlaneBegin (NpcPlane &plane, uint childIndex, int reason, Critter @someCr, Item @someItem)
Принудительно вызывает событие CRITTER_EVENT_PLANE_BEGIN. Подробнее...
bool | EventPlaneEnd (NpcPlane &plane, uint childIndex, int reason, Critter @someCr, Item @someItem)
Принудительно вызывает событие CRITTER_EVENT_PLANE_END. Подробнее...
bool | EventPlaneRun (NpcPlane &plane, uint childIndex, int reason, uint &p0, uint &p1, uint &p2)
Принудительно вызывает событие CRITTER_EVENT_PLANE_RUN. Подробнее...
void | EventShowCritter1 (Critter &cr)
Принудительно вызывает событие CRITTER_EVENT_SHOW_CRITTER_1. Подробнее...
void | EventShowCritter2 (Critter &cr)
Принудительно вызывает событие CRITTER_EVENT_SHOW_CRITTER_2. Подробнее...
void | EventShowCritter3 (Critter &cr)
Принудительно вызывает событие CRITTER_EVENT_SHOW_CRITTER_3. Подробнее...
void | EventHideCritter1 (Critter &cr)
Принудительно вызывает событие CRITTER_EVENT_HIDE_CRITTER_1. Подробнее...
void | EventHideCritter2 (Critter &cr)
Принудительно вызывает событие CRITTER_EVENT_HIDE_CRITTER_2. Подробнее...
void | EventHideCritter3 (Critter &cr)
Принудительно вызывает событие CRITTER_EVENT_HIDE_CRITTER_3. Подробнее...
bool | EventGlobalProcess (int type, Critter &cr, Item @car, uint &x, uint &y, uint &toX, uint &toY, uint &speed, uint &encounterDescriptor, bool &waitForAnswer)
Принудительно вызывает событие CRITTER_EVENT_GLOBAL_PROCESS. Подробнее...
bool | EventGlobalInvite (Critter &leader, Item @car, uint encounterDescriptor, int combatMode, uint &mapId, uint16 &hexX, uint16 &hexY, uint8 &dir)
Принудительно вызывает событие CRITTER_EVENT_GLOBAL_INVITE. Подробнее...
Карта

290

Map GetMap ()
Возвращает указатель на объект карты, на которой находится криттер. Подробнее...
uint | GetMapId ()
Возвращает уникальный ID карты, на которой находится криттер. Подробнее...
uint16 | GetMapProtoId ()
Возвращает ID прототипа карты, на которой находится криттер. Подробнее...
int | GetFog (uint16 zoneX, uint16 zoneY)
Позволяет получить состояние видимости указанной клетки глобальной карты мира для криттера. Подробнее...
void | SetFog (uint16 zoneX, uint16 zoneY, int fog)
Позволяет изменить для криттера видимость указанной клетки глобальной карты мира. Подробнее...
Cтатистика

270

void | AddScore (int score, int value)
Добавляет указанное количество очков в указанную статистику криттера. Подробнее...
Инвентарь

260

uint | GetBagRefreshTime ()
Возвращает время обновления сумки. Подробнее...
void | SetBagRefreshTime (uint realMinutes)
Устанавливает время обновления сумки. Подробнее...
uint | GetInternalBag (uint16[]@+pids, uint[]@+minCounts, uint[]@+maxCounts, int[]@+slots)
Позволяет получить внутреннюю сумку криттера. Подробнее...
void | SetInternalBag (uint16[]&pids, uint[]@+minCounts, uint[]@+maxCounts, int[]@+slots)
Позволяет установить внутреннюю сумку криттера. Подробнее...
uint | ItemsCount ()
Возвращает количество всех предметов, находящихся в инвентаре криттера. Подробнее...
uint | ItemsWeight ()
Возвращает общий вес всех предметов, находящихся в инвентаре криттера. Подробнее...
uint | ItemsVolume ()
Возвращает общий объем всех предметов, находящихся в инвентаре криттера. Подробнее...
uint | CountItem (uint16 protoId)
Возвращает количество указанных предметов, находящихся в инвентаре криттера. Подробнее...
Item | GetItem (uint16 protoId, int slot)
Позволяет получить предмет с указанным прототипом, находящийся в указанном слоте инвентаря криттера. Подробнее...
Item | GetItemById (uint itemId)
Позволяет получить предмет с указанным идентификатором, находящийся в инвентаре криттера. Подробнее...
uint | GetItems (int slot, Item @[]@+items)
Находит все предметы, которые находятся в инвентаре. Подробнее...
uint | GetItemsByType (int type, Item @[]@+items)
Позволяет получить все предметы указанного типа, находящиеся в инвентаре криттера. Подробнее...
bool | MoveItem (uint objId, uint count, uint8 toSlot)
Перемещает предмет из одного слота в другой. Подробнее...
Item | AddItem (uint16 protoId, uint count)
Добавляет предмет в инвентарь криттера. Подробнее...
bool | DeleteItem (uint16 protoId, uint count)
Удаляет предмет из инвентаря криттера. Подробнее...
bool | PickItem (uint16 hexX, uint16 hexY, uint16 protoId)
Заставляет криттера поднять предмет. Подробнее...
uint16 | GetFavoriteItem (int slot)
Возвращает номер прототипа избранной вещи криттера для указанного слота. Подробнее...
void | SetFavoriteItem (int slot, uint16 pid)
Устанавливает избранную вещь криттера для указанного слота. Подробнее...
ProtoItem | GetSlotProto (int slot)
Позволяет получить прототип предмета, который находится в указанном слоте. Подробнее...
Передвижение

250

bool | MoveRandom ()
Заставляет криттера пройти 1 гексагон в случайном направлении. Подробнее...
bool | MoveToDir (uint8 dir)
Заставляет криттера пройти 1 гексагон в указанном направлении. Подробнее...
void | SetDir (uint8 dir)
Поворачивает криттера в указанном направлении. Подробнее...
void | SetHomePos (uint16 hexX, uint16 hexY, uint8 dir)
Устанавливает домашнюю позицию криттера. Подробнее...
void | GetHomePos (uint &mapId, uint16 &hexX, uint16 &hexY, uint8 &dir)
Возвращает домашнюю позицию криттера. Подробнее...
bool | TransitToGlobal (bool requestGroup)
Перемещает игрока или партию игроков на глобальную карту мира. Подробнее...
bool | TransitToGlobal (Critter @[]&group)
Перемещает на глобал с группой. Подробнее...
bool | TransitToGlobalGroup (uint critterId)
Перемещает криттера на глобал в группу указанного криттера. Подробнее...
bool | TransitToHex (uint16 hexX, uint16 hexY, uint8 dir)
Перемещает криттера в указанный гексагон на текущей карте. Подробнее...
bool | TransitToMap (uint mapId, uint16 hexX, uint16 hexY, uint8 dir, bool withGroup)
Перемещает криттера на определенную карту, помещая его в указанный гексагон. Подробнее...
bool | TransitToMap (uint mapId, uint16 hexX, uint16 hexY, uint8 dir)
Перемещает криттера на определенную карту, помещая его в указанный гексагон. Подробнее...
bool | TransitToMap (uint mapId, uint8 entireNum)
Перемещает криттера на определенную карту, помещая его на точку входа с указанным номером. Подробнее...
Разговор

240

void | Say (uint8 howSay, string @text)
Заставляет криттера сказать что-либо. Подробнее...
void | SayMsg (uint8 howSay, uint16 textMsg, uint strNum)
Заставляет криттера сказать что-либо. Подробнее...
void | SayMsg (uint8 howSay, uint16 textMsg, uint strNum, string &lexems)
Заставляет криттера сказать что-либо. Подробнее...
Локации

230

bool | IsKnownLoc (bool byId, uint locNum)
Позволяет определить, знает ли игрок об указанной локации или нет. Подробнее...
bool | SetKnownLoc (bool byId, uint locNum)
Делает локацию видимой для криттера. Подробнее...
bool | UnsetKnownLoc (bool byId, uint locNum)
Делает локацию невидимой для криттера. Подробнее...
Планы

220

bool | AddPlane (NpcPlane @+plane)
Устанавливает план NPC. Подробнее...
bool | ErasePlane (uint index)
Удаляет план по указанному индексу. Подробнее...
uint | ErasePlane (int planeType, bool all)
Удаляет план(ы) указанного типа. Подробнее...
NpcPlane GetCurPlane ()
Возвращает текущий план. Подробнее...
uint | GetPlanes (NpcPlane @[]@+planes)
Позволяет получить все текущие планы NPC. Подробнее...
bool | IsNoPlanes ()
Позволяет проверить, есть ли у криттера запланированные действия. Подробнее...
uint | GetPlanes (int identifier, NpcPlane @[]@+planes)
Позволяет узнать количество планов с заданным идентификатором. Подробнее...
uint | GetPlanesByExt (uint identifierExt, NpcPlane @[]@+planes)
Позволяет узнать количество планов с заданным параметром identifierExt. Подробнее...
uint | GetPlanes (int identifier, uint identifierExt, NpcPlane @[]@+planes)
Позволяет узнать количество планов с заданными параметрами identifier и identifierExt. Подробнее...
void | DropPlanes ()
Cбрасывает все планы NPC. Подробнее...
Уведомления

210

void | SendQuestVar (GameVar &var)
Отправляет игроку уведомление об изменившейся игровой переменной. Подробнее...
void | SendCombatResult (uint[]&combatResult)
Служит для оповещения игроков о результатах боя. Подробнее...
void | SetSendParam (uint index, bool enabled)
Служит для разрешения отправки игроку информации о других криттерах. Подробнее...
void | SendMessage (int num, int val, int to)
Отправляет сообщение другим криттерам. Подробнее...
Состояние

200

bool | IsFree ()
Проверяет, свободен ли криттер или нет. Подробнее...
bool | IsBusy ()
Проверяет, занят ли криттер или нет. Подробнее...
bool | IsDead ()
Проверяет, мёртв ли криттер. Подробнее...
bool | IsKnockout ()
Проверяет, находится ли криттер в нокдауне. Подробнее...
bool | IsLife ()
Проверяет, жив ли криттер. Подробнее...
void | ToDead (uint anim2, Critter @+killer)
Убивает криттера. Подробнее...
bool | ToKnockout (uint anim2begin, uint anim2idle, uint anim2end, uint lostAp, uint16 knockHx, uint16 knockHy)
Посылает криттера в нокаут. Подробнее...
bool | ToLife ()
Возвращает мертвого криттера к жизни. Подробнее...
Анимация

190

void | Animate (uint anim1, uint anim2, Item @+item, bool clearSequence, bool delayPlay)
Ставит указанную анимацию в очередь проигрываемых анимаций криттера. Подробнее...
bool | ChangeCrType (uint newType)
Cмена типа криттера. Подробнее...
bool | IsAnim1 (uint index)
Позволяет определить возможность использования криттером указанной анимации (оружия, действий) Подробнее...
void | SetAnims (int cond, uint anim1, uint anim2)
Для смены данных значений на постоянной основе (например, положение сидя, лежа). Подробнее...
Для групп (партий)

180

uint | GetFollowGroup (int findType, Critter @[]@+critters)
Ищет криттеров, входящих в группу во главе с криттером. Подробнее...
Critter GetFollowLeader ()
Позволяет получить лидера группы, в которую входит криттер. Подробнее...
Critter[] GetGlobalGroup ()
Возвращает текущую группу на глобальной карте, в которую входит криттер. Подробнее...
Для работы со стеком противников

Максимальная вместимость стека – 30.

170

void | AddEnemyInStack (uint critterId)
Добавляет криттера с указанным ID в стек противников. Подробнее...
void | ChangeEnemyStackSize (uint newSize)
Позволяет изменить размер стека противников. Подробнее...
bool | CheckEnemyInStack (uint critterId)
Позволяет проверить, находится ли криттер с указанным ID в стеке противников. Подробнее...
void | ClearEnemyStack ()
Очищает стек противников. Подробнее...
void | EraseEnemyFromStack (uint critterId)
Удаляет криттера с указанным ID из стека противников. Подробнее...
void | GetEnemyStack (uint[]&enemyStack)
Позволяет получить ID всех противников, находящихся в стеке. Подробнее...
Информация с голодисков

160

void | AddHolodiskInfo (uint holodiskNum)
Записывает в Пип-бой информацию с указанного голодиска. Подробнее...
void | EraseHolodiskInfo (uint holodiskNum)
Стирает из Пип-боя информацию с указанного голодиска. Подробнее...
bool | IsHolodiskInfo (uint holodiskNum)
Позволяет проверить, содержится ли в Пип-бое информация с указанного голодиска. Подробнее...
Для работы с временными событиями криттера.

150

bool | AddTimeEvent (string &funcName, uint duration, int identifier)
Создает временное событие персонажа. Подробнее...
bool | AddTimeEvent (string &funcName, uint duration, int identifier, uint rate)
Создает временное событие персонажа с указанием параметра rate. Подробнее...
void | ChangeTimeEvent (uint index, uint newDuration, uint newRate)
Изменяет временное событие персонажа. Подробнее...
uint | GetTimeEvents (int identifier, uint[]@+indexes, uint[]@+durations, uint[]@+rates)
Возвращает количество найденных событий персонажа по указанным параметрам. Подробнее...
uint | GetTimeEvents (int[]&findIdentifiers, int[]@+identifiers, uint[]@+indexes, uint[]@+durations, uint[]@+rates)
Возвращает количество найденных событий персонажа, а так же их параметры identifier по указанным параметрам. Подробнее...
void | EraseTimeEvent (uint index)
Удаляет временное событие персонажа по индексу в массиве. Подробнее...
uint | EraseTimeEvents (int identifier)
Удаляет временные события персонажа с заданным идентификатором. Подробнее...
uint | EraseTimeEvents (int[]&identifiers)
Удаляет временные события персонажа с заданными идентификаторами. Подробнее...
Мультигексовость

145

uint | GetMultihex ()
Возвращает значение мултигексовости для персонажа Подробнее...
void | SetMultihex (int value)
Устанавливает новое значение мультигексовости для персонажа Подробнее...
Прочее

140

uint16 | GetProtoId ()
Возвращает номер прототипа криттера. Подробнее...
bool | IsNpc ()
Позволяет проверить, является ли криттер NPC. Подробнее...
bool | IsPlayer ()
Позволяет проверить, является ли криттер игроком. Подробнее...
void | Wait (uint ms)
Заставляет криттера подождать указанное количество времени. Подробнее...
void | ShowContainer (Critter @+contCr, Item @+contItem, uint8 transferType)
Показывает игроку содержимое контейнера. Подробнее...
uint | GetCritters (bool lookOnMe, int findType, Critter @[]@+critters)
Ищет криттеров в поле видимости. Подробнее...
uint | GetTalkedPlayers (Critter @[]@+players)
Находит всех игроков, разговаривающих с криттером. Подробнее...
void | DropTimers ()
Сбрасывает таймеры на вызов обновлений Фикс-боя, точек входа в город и игровой статистики. Подробнее...
void | ShowScreen (int screenType, uint param, string &funcName)
Открывает окно на стороне клиента, позволяя обработать его ответ. Подробнее...
void | PlaySound (string &soundName, bool sendSelf)
Проигрывает звук с указанным именем на стороне клиента. Подробнее...
void | PlaySound (uint8 soundType, uint8 soundTypeExt, uint8 soundId, uint8 soundIdExt, bool sendSelf)
Проигрывает звук с указанными составляющими на стороне клиента. Подробнее...
void | RunClientScript (string &funcName, int p0, int p1, int p2, string @+p3, int[]@+p4)
Вызывает скрипт на стороне клиента. Подробнее...
void | SetLexems (string @+lexems)
Устанавливает значения для лексем, использующихся в строках с описанием криттера. Подробнее...
bool | IsCanWalk ()
Позволяет проверить, может ли криттер перемещаться. Подробнее...
bool | IsCanRun ()
Позволяет проверить, может ли криттер передвигаться бегом. Подробнее...
bool | IsCanRotate ()
Позволяет проверить, может ли криттер вращаться. Подробнее...
bool | IsCanAim ()
Позволяет проверить, может ли криттер атаковать прицельно. Подробнее...
int | GetAccess ()
Позволяет получить уровень доступа игрока. Подробнее...
bool | IsSee (Critter &cr)
Проверяет, виден ли указанный криттер криттеру. Подробнее...
bool | IsSeenBy (Critter &cr)
Проверяет, виден ли криттер указанным криттером. Подробнее...
bool | IsSee (Item &item)
Проверяет, виден ли указанный предмет криттеру. Подробнее...
void | RefreshVisible ()
Обновляет видимость криттера. Подробнее...
void | Action (int action, int actionExt, Item @+item)
Вызывает на стороне клиент зарезервированную функцию critter_action. Подробнее...
void | Disconnect ()
Вызывает отключение клиента. Подробнее...

Открытые атрибуты

Общие поля

200

const uint | Id
Уникальный идентификатор криттера. Подробнее...
const bool | IsNotValid
Позволяет определить валидность объекта. Подробнее...
const uint8 | CrType
Базовый тип анимации криттера. Подробнее...
const uint16 | HexX
Координата, по оси X, расположения криттера на карте. Подробнее...
const uint16 | HexY
Координата, по оси Y, расположения криттера на карте. Подробнее...
const uint16 | WorldX
Координата, по оси X, расположения криттера на глобальной карте. Подробнее...
const uint16 | WorldY
Координата, по оси Y, расположения криттера на глобальной карте. Подробнее...
const uint8 | Dir
Направление, в которое повернут криттер. Подробнее...
const uint8 | Cond
Текущее состояние криттера. Подробнее...
const uint8 | CondExt
Уточняет состояние криттера. Подробнее...
const uint16 | Flags
Флаги криттера, предназначенные только для чтения. Подробнее...
int | NpcRole
Определяет роль криттера. Подробнее...
uint | ShowCritterDist1
Дистанция обнаружения для событий CRITTER_EVENT_SHOW_CRITTER_1 и CRITTER_EVENT_HIDE_CRITTER_1. Подробнее...
uint | ShowCritterDist2
Дистанция обнаружения для события CRITTER_EVENT_SHOW_CRITTER_2 и CRITTER_EVENT_HIDE_CRITTER_2. Подробнее...
uint | ShowCritterDist3
Дистанция обнаружения для событий CRITTER_EVENT_SHOW_CRITTER_3 и CRITTER_EVENT_HIDE_CRITTER_3. Подробнее...
bool | IsRuning
Позволяет узнать, бежал ли криттер в момент срабатывания событий триггера или предмета. Подробнее...
const uint | Life
Уточняет состояние криттера. Подробнее...
const uint | Knockout
Уточняет состояние криттера. Подробнее...
const uint | Dead
Уточняет состояние криттера. Подробнее...
DataVal | Param
Массив значений параметров криттера. Подробнее...
DataRef | ParamBase
Массив базовых значений параметров криттера. Подробнее...

Подробное описание

Криттер.

Под словом "криттер" подразумеваются как игроки, так и NPC.

Методы

bool SetScript ( string @+ script )

Устанавливает новый скрипт и вызывает в нем функцию инициализации с параметром firstTime равным true.

Аргументы
script Имя скрипта.
Возвращает
true в случае успеха; false в случае провала.
Прим.
Если скрипт или функция не найдена, то установки значения скрипта не произойдет.
uint GetScriptId ( )

Возвращает ID текущего скрипта, связанного с данным криттером.

См. _scripts.fos, scripts.lst.

Возвращает
ID текущего скрипта. 0, если скрипт не назначен.
void SetEvent | ( | int | eventType,
 |  | string & | funcName
 | ) |  |

Биндит функцию-обработчика определенного события.

Аргументы
eventType | Тип события (см. Critter events).
funcName | Имя функции-обработчика.
void EventIdle ( )

Принудительно вызывает событие CRITTER_EVENT_IDLE.

void EventFinish ( bool deleted )

Принудительно вызывает событие CRITTER_EVENT_FINISH.

void EventDead ( Critter @ killer )

Принудительно вызывает событие CRITTER_EVENT_DEAD.

void EventRespawn ( )

Принудительно вызывает событие CRITTER_EVENT_RESPAWN.

void EventShowCritter ( Critter & cr )

Принудительно вызывает событие CRITTER_EVENT_SHOW_CRITTER.

void EventHideCritter ( Critter & cr )

Принудительно вызывает событие CRITTER_EVENT_HIDE_CRITTER.

void EventShowItemOnMap | ( | Item & | showItem,
 |  | bool | added,
 |  | Critter @ | dropper
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_SHOW_ITEM_ON_MAP.

void EventChangeItemOnMap ( Item & item )

Принудительно вызывает событие CRITTER_EVENT_CHANGE_ITEM_ON_MAP.

void EventHideItemOnMap | ( | Item & | hideItem,
 |  | bool | removed,
 |  | Critter @ | picker
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_HIDE_ITEM_ON_MAP.

bool EventAttacked | ( | Critter & | attacker,
 |  | Item @ | weapon
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_ATTACKED.

void EventStealing | ( | Critter & | thief,
 |  | bool | success,
 |  | Item & | item,
 |  | uint | count
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_STEALING.

void EventMessage | ( | Critter & | fromCrit,
 |  | int | message,
 |  | int | value
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_MESSAGE.

bool EventAttack | ( | Critter & | target,
 |  | Item @ | weapon
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_ATTACK.

bool EventUseItem | ( | Item & | item,
 |  | Critter @ | onCritter,
 |  | Item @ | onItem,
 |  | Scenery @ | onScenery
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_USE_ITEM.

bool EventUseSkill | ( | int | skill,
 |  | Critter @ | onCritter,
 |  | Item @ | onItem,
 |  | Scenery @ | onScenery
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_USE_SKILL.

void EventDropItem ( Item & item )

Принудительно вызывает событие CRITTER_EVENT_DROP_ITEM.

void EventMoveItem | ( | Item & | item,
 |  | uint8 | fromSlot
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_MOVE_ITEM.

void EventKnockout | ( | uint | anim2begin,
 |  | uint | anim2idle,
 |  | uint | anim2end,
 |  | uint | lostAp,
 |  | uint | knockDist
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_KNOCKOUT.

void EventSmthStealing | ( | Critter & | fromCrit,
 |  | Critter & | thief,
 |  | bool | success,
 |  | Item & | item,
 |  | uint | count
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_SMTH_STEALING.

void EventSmthAttack | ( | Critter & | fromCrit,
 |  | Critter & | target
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_SMTH_ATTACK.

void EventSmthAttack | ( | Critter & | fromCrit,
 |  | Critter & | target
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_SMTH_ATTACKED.

void EventSmthUseItem | ( | Critter & | fromCrit,
 |  | Item & | item,
 |  | Critter @ | onCritter,
 |  | Item @ | onItem,
 |  | Scenery @ | onScenery
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_SMTH_USE_ITEM.

void EventSmthUseSkill | ( | Critter & | fromCrit,
 |  | int | skill,
 |  | Critter @ | onCritter,
 |  | Item @ | onItem,
 |  | Scenery @ | onScenery
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_SMTH_USE_SKILL.

void EventSmthDropItem | ( | Critter & | fromCrit,
 |  | Item & | item
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_SMTH_DROP_ITEM.

void EventSmthMoveItem | ( | Critter & | fromCrit,
 |  | Item & | item,
 |  | uint8 | fromSlot
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_SMTH_MOVE_ITEM.

void EventSmthKnockout | ( | Critter & | fromCrit,
 |  | uint | anim2begin,
 |  | uint | anim2idle,
 |  | uint | anim2end,
 |  | uint | lostAp,
 |  | uint | knockDist
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_SMTH_KNOCKOUT.

bool EventBarter | ( | Critter & | cr,
 |  | bool | attach,
 |  | uint | barterCount
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_BARTER.

bool EventTalk | ( | Critter & | cr,
 |  | bool | attach,
 |  | uint | talkCount
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_TALK.

bool EventPlaneBegin | ( | NpcPlane & | plane,
 |  | uint | childIndex,
 |  | int | reason,
 |  | Critter @ | someCr,
 |  | Item @ | someItem
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_PLANE_BEGIN.

bool EventPlaneEnd | ( | NpcPlane & | plane,
 |  | uint | childIndex,
 |  | int | reason,
 |  | Critter @ | someCr,
 |  | Item @ | someItem
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_PLANE_END.

bool EventPlaneRun | ( | NpcPlane & | plane,
 |  | uint | childIndex,
 |  | int | reason,
 |  | uint & | p0,
 |  | uint & | p1,
 |  | uint & | p2
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_PLANE_RUN.

void EventShowCritter1 ( Critter & cr )

Принудительно вызывает событие CRITTER_EVENT_SHOW_CRITTER_1.

void EventShowCritter2 ( Critter & cr )

Принудительно вызывает событие CRITTER_EVENT_SHOW_CRITTER_2.

void EventShowCritter3 ( Critter & cr )

Принудительно вызывает событие CRITTER_EVENT_SHOW_CRITTER_3.

void EventHideCritter1 ( Critter & cr )

Принудительно вызывает событие CRITTER_EVENT_HIDE_CRITTER_1.

void EventHideCritter2 ( Critter & cr )

Принудительно вызывает событие CRITTER_EVENT_HIDE_CRITTER_2.

void EventHideCritter3 ( Critter & cr )

Принудительно вызывает событие CRITTER_EVENT_HIDE_CRITTER_3.

bool EventGlobalProcess | ( | int | type,
 |  | Critter & | cr,
 |  | Item @ | car,
 |  | uint & | x,
 |  | uint & | y,
 |  | uint & | toX,
 |  | uint & | toY,
 |  | uint & | speed,
 |  | uint & | encounterDescriptor,
 |  | bool & | waitForAnswer
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_GLOBAL_PROCESS.

bool EventGlobalInvite | ( | Critter & | leader,
 |  | Item @ | car,
 |  | uint | encounterDescriptor,
 |  | int | combatMode,
 |  | uint & | mapId,
 |  | uint16 & | hexX,
 |  | uint16 & | hexY,
 |  | uint8 & | dir
 | ) |  |

Принудительно вызывает событие CRITTER_EVENT_GLOBAL_INVITE.

Map GetMap ( )

Возвращает указатель на объект карты, на которой находится криттер.

Возвращает
Указатель на экземпляр класса Map. В случае провала – null.
uint GetMapId ( )

Возвращает уникальный ID карты, на которой находится криттер.

Возвращает
ID карты. В случае провала – 0.
uint16 GetMapProtoId ( )

Возвращает ID прототипа карты, на которой находится криттер.

Возвращает
ID прототипа карты. В случае провала – 0.
int GetFog | ( | uint16 | zoneX,
 |  | uint16 | zoneY
 | ) |  |

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

Аргументы
zoneX,zoneY Координаты клетки глобальной карты мира.
Возвращает
Состояние видимости. См. Global map fog.
См. также
SetFog
void SetFog | ( | uint16 | zoneX,
 |  | uint16 | zoneY,
 |  | int | fog
 | ) |  |

Позволяет изменить для криттера видимость указанной клетки глобальной карты мира.

Аргументы
zoneX,zoneY | Координаты клетки глобальной карты мира.
fog | Устанавливаемое состояние видимости. См. Global map fog.
См. также
GetFog
void AddScore | ( | int | score,
 |  | int | value
 | ) |  |

Добавляет указанное количество очков в указанную статистику криттера.

Аргументы
score | Номер статистики (см. Scores).
value | Количество очков.
uint GetBagRefreshTime ( )

Возвращает время обновления сумки.

Возвращает
Время обновления сумки в реальных минутах.
См. также
SetBagRefreshTime
void SetBagRefreshTime ( uint realMinutes )

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

Если время обновления равно 0, то берется время по-умолчанию: рандомно от 60 до 120 реальных минут.

Аргументы
realMinutes Новое значение в реальных минутах.
См. также
GetBagRefreshTime
uint GetInternalBag | ( | uint16 @+[] | pids,
 |  | uint @+[] | minCounts,
 |  | uint @+[] | maxCounts,
 |  | int @+[] | slots
 | ) |  |

Позволяет получить внутреннюю сумку криттера.

Аргументы
pids | Массив, к которому будут дописаны номера прототипов предметов в сумке.
minCounts | Массив, к которому будут дописано минимальное количество предметов для каждого прототипа.
maxCounts | Массив, к которому будут дописано максимальное количество предметов для каждого прототипа.
slots | Массив, к которому будут дописаны номера слотов размещения для каждого прототипа.
См. также
SetInternalBag
void SetInternalBag | ( | uint16 &[] | pids,
 |  | uint @+[] | minCounts,
 |  | uint @+[] | maxCounts,
 |  | int @+[] | slots
 | ) |  |

Позволяет установить внутреннюю сумку криттера.

Начальное состояние формируется из инвентаря NPC в маппере, если его параметр BagId равен 0.

Аргументы
pids | Массив с номерами прототипов предметов, которые будут содержаться в сумке.
minCounts | Массив, содержащий минимальное количество каждого предмета в сумке.
maxCounts | Массив, содержащий максимальное количество каждого предмета в сумке.
slots | Массив с номерами слотов, в которых должны размещаться предметы из сумки.
См. также
GetInternalBag
uint ItemsCount ( )

Возвращает количество всех предметов, находящихся в инвентаре криттера.

Возвращает
Количество всех предметов.
uint ItemsWeight ( )

Возвращает общий вес всех предметов, находящихся в инвентаре криттера.

Возвращает
Общий вес предметов в инвентаре.
uint ItemsVolume ( )

Возвращает общий объем всех предметов, находящихся в инвентаре криттера.

Возвращает
Общий объем предметов в инвентаре.
uint CountItem ( uint16 protoId )

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

Аргументы
protoId ID прототипа предмета (см. файл ITEMPID.H).
Возвращает
Количество предметов с указанным прототипом, находящихся в инвентаре.
Item GetItem | ( | uint16 | protoId,
 |  | int | slot
 | ) |  |

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

Аргументы
protoId | ID прототипа предмета (см. файл ITEMPID.H).
slot | Слот, в котором находится предмет (см. Slots). Если установлено значение: -1, то слот учитываться не будет.
Возвращает
Указатель на экземпляр класса Item, если предмет найден. В противном случае – null.
Item GetItemById ( uint itemId )

Позволяет получить предмет с указанным идентификатором, находящийся в инвентаре криттера.

Аргументы
itemId ID предмета (см. файл ITEMPID.H).
Возвращает
Указатель на экземпляр класса Item, если предмет найден. В противном случае – null.
uint GetItems | ( | int | slot,
 |  | Item @@+[] | items
 | ) |  |

Находит все предметы, которые находятся в инвентаре.

Аргументы
slot | Слот, в котором находятся предметы (см. Slots). Если установлено значение: -1, то слот учитываться не будет.
items | Массив указателей на предметы, которые находятся в инвентаре. Массив не очищается, а дописывается с конца нужными предметами.
Возвращает
Количество найденных предметов.
uint GetItemsByType | ( | int | type,
 |  | Item @@+[] | items
 | ) |  |

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

Аргументы
type | Тип предмета (см. Items types).
items | Массив, в конец которого будут записаны найденные предметы.
Возвращает
Количество предметов указанного типа.
bool MoveItem | ( | uint | objId,
 |  | uint | count,
 |  | uint8 | toSlot
 | ) |  |

Перемещает предмет из одного слота в другой.

Аргументы
objId | Уникальный ID предмета.
toSlot | Слот, в который перемещают предмет (см. Slots).
count | Количество перемещаемых предметов.
Возвращает
true – в случае удачного перемещения, false – в случае провала.
Item AddItem | ( | uint16 | protoId,
 |  | uint | count
 | ) |  |

Добавляет предмет в инвентарь криттера.

Аргументы
protoId | Номер прототипа предмета (см. файл ITEMPID.H).
count | Количество предметов.
Возвращает
Указатель на экземпляр класса Item. В случае провала – null.
bool DeleteItem | ( | uint16 | protoId,
 |  | uint | count
 | ) |  |

Удаляет предмет из инвентаря криттера.

Аргументы
protoId | Номер прототипа предмета (см. файл ITEMPID.H).
count | Количество предметов.
Возвращает
true – в случае удачного добавления; false – в случае провала.
bool PickItem | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | uint16 | protoId
 | ) |  |

Заставляет криттера поднять предмет.

Для того, чтобы предмет был поднят удачно, криттер должен находиться не дальше, чем на 1 гексагон от предмета.

Аргументы
hexX,hexY | Координаты гексагона, на котором находится предмет.
protoId | Номер прототипа предмета (см. файл ITEMPID.H).
Возвращает
true – в случае поднятия, false – в случае неудачного завершения работы функции.
uint16 GetFavoriteItem ( int slot )

Возвращает номер прототипа избранной вещи криттера для указанного слота.

Подроности см. в описании SetFavoriteItem.

Аргументы
slot Слот. Доступны три: SLOT_HAND1, SLOT_HAND2, SLOT_ARMOR.
См. также
SetFavoriteItem
void SetFavoriteItem | ( | int | slot,
 |  | uint16 | pid
 | ) |  |

Устанавливает избранную вещь криттера для указанного слота.

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

Для отключения механизма можно установить криттеру перк MODE_NO_FAVORITE_ITEM.

Аргументы
slot | Слот. См. Slots. Из них доступны три: SLOT_HAND1, SLOT_HAND2, SLOT_ARMOR.
pid | Номер прототипа избранной вещи.
См. также
GetFavoriteItem
ProtoItem GetSlotProto ( int slot )

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

Аргументы
slot Слот (см. Slots).
Возвращает
Указатель на экземпляр класса ProtoItem. Если слот пуст, то возвращается null.
bool MoveRandom ( )

Заставляет криттера пройти 1 гексагон в случайном направлении.

Возвращает
true – в случае удачного выполнения функции; false – в случае провала.
См. также
MoveToDir
bool MoveToDir ( uint8 dir )

Заставляет криттера пройти 1 гексагон в указанном направлении.

Аргументы
dir Направление шага. Возможные значения: 0 – вверх-право, 1 – вправо, 2 – вниз-право и т.д.
Возвращает
true – в случае удачного выполнения функции; false – в случае провала.
См. также
MoveRandom
void SetDir ( uint8 dir )

Поворачивает криттера в указанном направлении.

Аргументы
dir Направление. Возможные значения: 0 – вверх-право, 1 – вправо, 2 – вниз-право и т.д.
void SetHomePos | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | uint8 | dir
 | ) |  |

Устанавливает домашнюю позицию криттера.

Криттер будет всегда возвращаться в эту позицию при отсутствии планов.

Аргументы
hexX,hexY | Координаты гексагона (позиции).
dir | Направление, в которое будет повернут криттер, будучи на этой позиции.
См. также
GetHomePos
void GetHomePos | ( | uint & | mapId,
 |  | uint16 & | hexX,
 |  | uint16 & | hexY,
 |  | uint8 & | dir
 | ) |  |

Возвращает домашнюю позицию криттера.

Аргументы
[out] | mapId | Переменная, в которую будет записан уникальный идентификатор карты домашней позиции криттера.
[out] | hexX,hexY | Переменные, в которые будут записаны координаты домашней позиции.
[out] | dir | Переменная, в которую будет записано направление, в которое повернут криттер, стоя на этой позиции.
См. также
SetHomePos
bool TransitToGlobal ( bool requestGroup )

Перемещает игрока или партию игроков на глобальную карту мира.

Аргументы
requestGroup Указывает, нужно ли послать уведомление о перемещении всей партии данного игрока (true) или просто выкинуть игрока на глобал (false).
Прим.
Предназначена только для игроков.
bool TransitToGlobal ( Critter @&[] group )

Перемещает на глобал с группой.

Аргументы
group Массив криттеров, перемещаемых на глобал в группу с криттером.
Возвращает
true – если перемещение успешно; false – в противном случае.
Прим.
Криттер, у которого вызывается метод, должен находиться не на глобале.
Криттеры из группы могут находиться и на других картах. Если кто-то из них находится на глобале, то в группу он не будет добавлен, но функция всё равно завершится успешно и криттер, для которого был вызван метод, будет перемещен на глобал.
bool TransitToGlobalGroup ( uint critterId )

Перемещает криттера на глобал в группу указанного криттера.

Аргументы
critterId Идентификатор криттера, в группу которого происходит перемещение. Этот криттер должен находиться на глобале.
Возвращает
true – если перемещение успешно; false – в противном случае.
Прим.
Криттер, для которого вызывается метод, должен находиться не на глобале.
bool TransitToHex | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | uint8 | dir
 | ) |  |

Перемещает криттера в указанный гексагон на текущей карте.

Аргументы
hexX,hexY | Координаты гексагона, в который нужно переместить криттера.
dir | Направление криттера после перемещения.
Прим.
Для NPC автоматически прописывается новая домашняя позиция.
Если параметр dir > 5, то направление криттера не меняется.
bool TransitToMap | ( | uint | mapId,
 |  | uint16 | hexX,
 |  | uint16 | hexY,
 |  | uint8 | dir,
 |  | bool | withGroup
 | ) |  |

Перемещает криттера на определенную карту, помещая его в указанный гексагон.

Аргументы
mapId | Идентификатор карты.
hexX,hexY | Координаты гексагона, на который помещается криттер. При передаче некорректных гексов Игрок перемещается в область рядом с машиной или на вход с номером 0, если машина отсутствует.
dir | Направление криттера после перемещения.
withGroup | Перемещать ли игрока вместе с группой или отдельно.
Прим.
Для NPC автоматически прописывается новая домашняя позиция.
Если параметр dir > 5, то направление криттера не меняется.
bool TransitToMap | ( | uint | mapId,
 |  | uint16 | hexX,
 |  | uint16 | hexY,
 |  | uint8 | dir
 | ) |  |

Перемещает криттера на определенную карту, помещая его в указанный гексагон.

Аргументы
mapId | Идентификатор карты.
hexX,hexY | Координаты гексагона, на который помещается криттер. При передаче некорректных гексов Игрок перемещается в область рядом с машиной или на вход с номером 0, если машина отсутствует.
dir | Направление криттера после перемещения.
Прим.
Для NPC автоматически прописывается новая домашняя позиция.
Если параметр dir > 5, то направление криттера не меняется.
bool TransitToMap | ( | uint | mapId,
 |  | uint8 | entireNum
 | ) |  |

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

Аргументы
mapId | Идентификатор карты.
entireNum | Номер точки входа (специально помеченной группы гексагонов).
Прим.
Для NPC автоматически прописывается новая домашняя позиция.
void Say | ( | uint8 | howSay,
 |  | string @ | text
 | ) |  |

Заставляет криттера сказать что-либо.

Если NPC мертв или упал на землю, то произносить фразу он не будет.

Аргументы
howSay | Тип фразы. Например: говорить спокойно, кричать и т.д. (см. Say types).
text | Текст сообщения.
void SayMsg | ( | uint8 | howSay,
 |  | uint16 | textMsg,
 |  | uint | strNum
 | ) |  |

Заставляет криттера сказать что-либо.

Текст сообщения находится в файле. Если NPC мертв или упал на землю, то произносить фразу он не будет.

Аргументы
howSay | Тип фразы, например: говорить спокойно, кричать и т.д. (см. Say types).
textMsg | Название файла с текстами (см. Msg nums).
strNum | Номер фразы в файле.
void SayMsg | ( | uint8 | howSay,
 |  | uint16 | textMsg,
 |  | uint | strNum,
 |  | string & | lexems
 | ) |  |

Заставляет криттера сказать что-либо.

Текст сообщения находится в файле. Если NPC мертв или упал на землю, то произносить фразу он не будет.

Аргументы
howSay | Тип фразы, например: говорить спокойно, кричать и т.д. (см. Say types).
textMsg | Название файла с текстами (см. Msg nums).
strNum | Номер фразы в файле.
lexems | Вставки текста (см. Работа с диалогом).
bool IsKnownLoc | ( | bool | byId,
 |  | uint | locNum
 | ) |  |

Позволяет определить, знает ли игрок об указанной локации или нет.

Аргументы
byId | Если указано значение true, то locNum расценивается как уникальный идентификатор локации; если false – то как номер прототипа.
locNum | Номер прототипа локации (см. файл _maps.fos) или уникальный идентификатор локации.
Возвращает
true – если знает; false – если нет.
См. также
SetKnownLoc
UnsetKnownLoc
bool SetKnownLoc | ( | bool | byId,
 |  | uint | locNum
 | ) |  |

Делает локацию видимой для криттера.

Аргументы
byId | Если указано значение true, то locNum расценивается как уникальный идентификатор локации, если false – то как номер прототипа.
locNum | Номер прототипа локации (см. файл _maps.fos) или уникальный идентификатор локации.
Возвращает
true – в случае успеха; false – в случае провала.
См. также
IsKnownLoc
UnsetKnownLoc
bool UnsetKnownLoc | ( | bool | byId,
 |  | uint | locNum
 | ) |  |

Делает локацию невидимой для криттера.

Аргументы
byId | Если указано значение true, то locNum расценивается как уникальный идентификатор локации, если false – то как номер прототипа.
locNum | Номер прототипа локации (см. файл _maps.fos) или уникальный идентификатор локации.
Возвращает
true – в случае успеха, false – в случае провала.
См. также
IsKnownLoc
SetKnownLoc
bool AddPlane ( NpcPlane @+ plane )

Устанавливает план NPC.

План добавляется в очередь планов. Cортировка планов (т.е. определение порядка исполнения) при установке идет по их приоритету (см. NpcPlane::Priority).

Аргументы
plane Устанавливаемый план.
Возвращает
true – в случае успеха; false – в случае неудачи.
Прим.
Для создания экземпляра класса NpcPlane используйте глобальную функцию CreatePlane.
bool ErasePlane ( uint index )

Удаляет план по указанному индексу.

Аргументы
index Индекс удаляемого плана в очереди.
Возвращает
true – в случае успеха; false – в случае неудачи.
uint ErasePlane | ( | int | planeType,
 |  | bool | all
 | ) |  |

Удаляет план(ы) указанного типа.

Аргументы
planeType | Тип плана, который следует удалить (см. Planes types). Если установлено значение: -1, то этот параметр учитываться не будет.
all | Если установлено значение true, то удаляются все планы указанного типа. Если установлено значение – false, то удаляется только один план указанного типа, находящийся в самом начале очереди.
Возвращает
Отрицательное значение в случае неудачи. Все остальные значения в случае удачного выполнения функции.
NpcPlane GetCurPlane ( )

Возвращает текущий план.

Возвращает
Текущий план.
uint GetPlanes ( NpcPlane @@+[] planes )

Позволяет получить все текущие планы NPC.

Аргументы
planes Массив, в конец которого будут дописаны все текущие планы.
Возвращает
Количество базовых планов.
Прим.
Чтобы просто узнать количество базовых планов, в параметре planes можно передать значение null вместо списка.
bool IsNoPlanes ( )

Позволяет проверить, есть ли у криттера запланированные действия.

Возвращает
true – если у криттера нет запланированных действий; false – если есть.
uint GetPlanes | ( | int | identifier,
 |  | NpcPlane @@+[] | planes
 | ) |  |

Позволяет узнать количество планов с заданным идентификатором.

Аргументы
identifier | Идентификатор планов.
planes | Массив, в конец которого будут дописаны все текущие планы.
Возвращает
Количество найденных планов.
uint GetPlanesByExt | ( | uint | identifierExt,
 |  | NpcPlane @@+[] | planes
 | ) |  |

Позволяет узнать количество планов с заданным параметром identifierExt.

Аргументы
identifierExt | Параметр identifierExt планов, среди которых будет вестись поиск.
planes | Массив, в конец которого будут дописаны все текущие планы.
Возвращает
Количество найденных планов.
uint GetPlanes | ( | int | identifier,
 |  | uint | identifierExt,
 |  | NpcPlane @@+[] | planes
 | ) |  |

Позволяет узнать количество планов с заданными параметрами identifier и identifierExt.

Аргументы
identifier | параметр identifier планов, среди которых будет вестись поиск.
identifierExt | параметр identifierExt планов, среди которых будет вестись поиск.
planes | Массив, в конец которого будут дописаны все текущие планы.
Возвращает
Количество найденных планов.
void DropPlanes ( )

Cбрасывает все планы NPC.

void SendQuestVar ( GameVar & var )

Отправляет игроку уведомление об изменившейся игровой переменной.

Аргументы
var Изменившаяся игровая переменная.
Прим.
Только для игроков.
void SendCombatResult ( uint &[] combatResult )

Служит для оповещения игроков о результатах боя.

Аргументы
combatResult Массив, содержащий информацию о бое и его результате. Первый элемент массива должен содержать размер массива. Затем может следовать любое количество записей (детальную их спецификацию см. в combat_msg.fos).
Прим.
Только для игроков.
void SetSendParam | ( | uint | index,
 |  | bool | enabled
 | ) |  |

Служит для разрешения отправки игроку информации о других криттерах.

Аргументы
index | Индекс параметра. См. Параметры криттеров.
enabled | Разрешить или запретить отправку.
Прим.
По-умолчанию, все уведомления запрещены.
Только для игроков.
void SendMessage | ( | int | num,
 |  | int | val,
 |  | int | to
 | ) |  |

Отправляет сообщение другим криттерам.

Чтобы другой криттер прочитал это сообщение, для него должна быть описана предопределенная функция ::on_message. Сообщения принимаются в момент посылки.

Аргументы
num | Номер сообщения.
val | Передаваемое значение.
to | Определяет, кому отсылается сообщение (см. In SendMessage).
См. также
CRITTER_EVENT_MESSAGE
bool IsFree ( )

Проверяет, свободен ли криттер или нет.

Возвращает
true – если криттер свободен; false – в противном случае.
См. также
IsBusy
bool IsBusy ( )

Проверяет, занят ли криттер или нет.

Возвращает
true – если криттер занят; false – в противном случае.
См. также
IsFree
bool IsDead ( )

Проверяет, мёртв ли криттер.

Возвращает
true – если криттер мёртв; false – в противном случае.
См. также
ToDead
IsKnockout
IsLife
bool IsKnockout ( )

Проверяет, находится ли криттер в нокдауне.

Возвращает
true – если криттер в нокдауне; false – в противном случае.
См. также
ToKnockout
IsDead
IsLife
bool IsLife ( )

Проверяет, жив ли криттер.

Возвращает
true – если криттер жив; false – в противном случае.
См. также
ToLife
IsDead
IsKnockout
void ToDead | ( | uint | anim2,
 |  | Critter @+ | killer
 | ) |  |

Убивает криттера.

Аргументы
anim2 | Тип анимации смерти (см. COND_DEAD_... в Critter extended conditions).
killer | Указатель на криттера-убийцу.
См. также
IsDead
bool ToKnockout | ( | uint | anim2begin,
 |  | uint | anim2idle,
 |  | uint | anim2end,
 |  | uint | lostAp,
 |  | uint16 | knockHx,
 |  | uint16 | knockHy
 | ) |  |

Посылает криттера в нокаут.

Аргументы
anim2begin | анимации начала накаута
anim2idle | анимации нахождения в накауте
anim2end | анимации выхода из накаута
lostAp | Количество очков действия, необходимых для поднятия с земли.
knockHx,knockHy | Гекс, на который падает криттер.
Возвращает
true – в случае успеха; false – в случае неудачи.
Прим.
Пока возможность указать гекс, на который упал криттер, не реализована должным образом. Криттер в клиенте падает в отличный от своей позиции гекс некорректно.
См. также
IsKnockout
bool ToLife ( )

Возвращает мертвого криттера к жизни.

Если позиция мёртвого криттера занята (например, другим криттером), то респаун не происходит.

Возвращает
true – в случае успеха; false – в случае неудачи.
См. также
IsLife
void Animate | ( | uint | anim1,
 |  | uint | anim2,
 |  | Item @+ | item,
 |  | bool | clearSequence,
 |  | bool | delayPlay
 | ) |  |

Ставит указанную анимацию в очередь проигрываемых анимаций криттера.

Для удобства пользуйтесь макросами (см. Animation в файле _macros.fos).

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

Если функция была вызвана в момент, когда у криттера проигрывается какая-либо анимация, то проигрывание новой анимации будет занесено в очередь.

Аргументы
anim1 | Первый индекс анимации (см. ANIM1_* в _animation.fos).
anim2 | Второй индекс анимации (см. ANIM2_* в _animation.fos).
item | Указатель на предмет, используемый в анимации.
clearSequence | Очистка очереди анимаций. При false анимация записывается в конец очереди.
delayPlay | Актуален при clearSequence == false. Указывает ставить ли анимацию в очередь или пропустить (не проигрывать, если в данный момент идет другая анимация).
См. также
animation2d_process
animation3d_process
bool ChangeCrType ( uint newType )

Cмена типа криттера.

Аргументы
newType Новый тип. См. Таблицу типов криттеров и возможностей их анимации.
Возвращает
true – в случае успеха, false – в противном случае.
bool IsAnim1 ( uint index )

Позволяет определить возможность использования криттером указанной анимации (оружия, действий)

Аргументы
index Индекс анимации.
Возвращает
true – если анимация может использоваться, false – в противном случае.
void SetAnims | ( | int | cond,
 |  | uint | anim1,
 |  | uint | anim2
 | ) |  |

Для смены данных значений на постоянной основе (например, положение сидя, лежа).

Аргументы
cond | Для какого состаяния применить значения (см. COND_* в _defines.fos), при нуле применяется ко всем трем.
anim1 | Значения анимаций.
anim2 | Значения анимаций.
uint GetFollowGroup | ( | int | findType,
 |  | Critter @@+[] | critters
 | ) |  |

Ищет криттеров, входящих в группу во главе с криттером.

Аргументы
findType | Тип поиска (см. Critter find types).
critters | Массив криттеров, в конец которого будут записаны найденные криттеры.
Возвращает
Количество найденных криттеров.
Прим.
Чтобы просто узнать количество найденных криттеров, в параметре critters можно передать значение null вместо списка.
Найденные криттеры будут отсортированы по отдалению от криттера.
Critter GetFollowLeader ( )

Позволяет получить лидера группы, в которую входит криттер.

Возвращает
В том случае, если криттер видит лидера, то возвращается указатель на лидера группы. В противном случае возвращается null.
Critter [] GetGlobalGroup ( )

Возвращает текущую группу на глобальной карте, в которую входит криттер.

Возвращает
Массив, содержащий всех криттеров, входящих в группу на глобальной карте. Если криттер находится не на глобале, то будет возвращен null.
void AddEnemyInStack ( uint critterId )

Добавляет криттера с указанным ID в стек противников.

Аргументы
critterId ID добавляемого криттера.
void ChangeEnemyStackSize ( uint newSize )

Позволяет изменить размер стека противников.

Аргументы
newSize Новый размер стека. Максимальное значение – 30.
bool CheckEnemyInStack ( uint critterId )

Позволяет проверить, находится ли криттер с указанным ID в стеке противников.

Аргументы
critterId ID проверяемого криттера.
Возвращает
true если находится; false – если нет.
void ClearEnemyStack ( )

Очищает стек противников.

void EraseEnemyFromStack ( uint critterId )

Удаляет криттера с указанным ID из стека противников.

Аргументы
critterId ID удаляемого криттера.
void GetEnemyStack ( uint &[] enemyStack )

Позволяет получить ID всех противников, находящихся в стеке.

Аргументы
enemyStack Массив, в который будут записаны все ID врагов криттера.
void AddHolodiskInfo ( uint holodiskNum )

Записывает в Пип-бой информацию с указанного голодиска.

Аргументы
holodiskNum Номер голодиска.
См. также
EraseHolodiskInfo
IsHolodiskInfo
void EraseHolodiskInfo ( uint holodiskNum )

Стирает из Пип-боя информацию с указанного голодиска.

Аргументы
holodiskNum Номер голодиска.
См. также
AddHolodiskInfo
IsHolodiskInfo
bool IsHolodiskInfo ( uint holodiskNum )

Позволяет проверить, содержится ли в Пип-бое информация с указанного голодиска.

Аргументы
holodiskNum Номер голодиска.
Возвращает
true – если содержится; false – если нет.
См. также
AddHolodiskInfo
EraseHolodiskInfo
bool AddTimeEvent | ( | string & | funcName,
 |  | uint | duration,
 |  | int | identifier
 | ) |  |

Создает временное событие персонажа.

Аргументы
funcName | Строка ссылка на функцию.
duration | Игровое время (в игровых секундах) через которое должно произойти событие.
identifier | идентификатор, для удобного поиска событий в общем списке.
Возвращает
Возвращает true в случае успеха.
См. также
Временные события персонажей
bool AddTimeEvent | ( | string & | funcName,
 |  | uint | duration,
 |  | int | identifier,
 |  | uint | rate
 | ) |  |

Создает временное событие персонажа с указанием параметра rate.

Аргументы
funcName | Строка ссылка на функцию.
duration | Игровое время (в игровых секундах) через которое должно произойти событие.
identifier | идентификатор, для удобного поиска событий в общем списке.
rate | дополнительный параметр, можно использовать для любых целей, если использован метод без указания значения rate, то данный параметр в функции обработчике будет равен нулю.
Возвращает
Возвращает true в случае успеха.
См. также
Временные события персонажей
void ChangeTimeEvent | ( | uint | index,
 |  | uint | newDuration,
 |  | uint | newRate
 | ) |  |

Изменяет временное событие персонажа.

Аргументы
index | Индекс события, которое необходимо изменить.
newDuration | Новый интервал до возникновения события.
newRate | Новое значение параметра rate.
См. также
Временные события персонажей
uint GetTimeEvents | ( | int | identifier,
 |  | uint @+[] | indexes,
 |  | uint @+[] | durations,
 |  | uint @+[] | rates
 | ) |  |

Возвращает количество найденных событий персонажа по указанным параметрам.

Аргументы
identifier | Идентификатор указанный при создании события.
indexes | Индексы событий.
durations | Временные промежутки событий.
rates | значения параметра rate тех событий.
Возвращает
Количество найденных событий.
См. также
Временные события персонажей
uint GetTimeEvents | ( | int &[] | findIdentifiers,
 |  | int @+[] | identifiers,
 |  | uint @+[] | indexes,
 |  | uint @+[] | durations,
 |  | uint @+[] | rates
 | ) |  |

Возвращает количество найденных событий персонажа, а так же их параметры identifier по указанным параметрам.

Аргументы
findIdentifiers | Идентификаторы найденных событий.
identifiers | Идентификаторы указанные при создании событий.
indexes | Индексы событий.
durations | Временные промежутки событий.
rates | значения параметра rate событий.
Возвращает
Количество найденных событий.
См. также
Временные события персонажей
void EraseTimeEvent ( uint index )

Удаляет временное событие персонажа по индексу в массиве.

Аргументы
index Индекс события, которое следует удалить
См. также
Временные события персонажей
uint EraseTimeEvents ( int identifier )

Удаляет временные события персонажа с заданным идентификатором.

Аргументы
identifier Идентификатор, указанный при создании, тех событий, которые следует удалить.
Возвращает
Количество удаленных событий
См. также
Временные события персонажей
uint EraseTimeEvents ( int &[] identifiers )

Удаляет временные события персонажа с заданными идентификаторами.

Аргументы
identifiers Массив идентификаторов тех событий, которые нужно удалить.
Возвращает
Количество удаленных событий.
См. также
Временные события персонажей
uint GetMultihex ( )

Возвращает значение мултигексовости для персонажа

void SetMultihex ( int value )

Устанавливает новое значение мультигексовости для персонажа

Прим.
при value равном -1 значение меняется на значение по-умолчанию (значение по-умолчанию указано в CritterType.cfg)
uint16 GetProtoId ( )

Возвращает номер прототипа криттера.

bool IsNpc ( )

Позволяет проверить, является ли криттер NPC.

Возвращает
true – если криттер является NPC; false – в противном случае.
bool IsPlayer ( )

Позволяет проверить, является ли криттер игроком.

Возвращает
true – если криттер является игроком; false – в противном случае.
void Wait ( uint ms )

Заставляет криттера подождать указанное количество времени.

Функция прекращает свою работу после окончания таймаута.
Примечание: Если функция вызвана во время движения персонажа, то он остановится.

Аргументы
ms Время (в миллисекундах, 1 секунда = 1000 миллисекунд), которое криттер должен ждать.
См. также
CRITTER_EVENT_IDLE
void ShowContainer | ( | Critter @+ | contCr,
 |  | Item @+ | contItem,
 |  | uint8 | transferType
 | ) |  |

Показывает игроку содержимое контейнера.

Аргументы
contCr | Указатель на криттера, инвентарь которого будет показан.
contItem | Указатель на предмет-контейнер, содержимое которого будет показано.
transferType | Тип обмена (см. Transfer types).
uint GetCritters | ( | bool | lookOnMe,
 |  | int | findType,
 |  | Critter @@+[] | critters
 | ) |  |

Ищет криттеров в поле видимости.

Аргументы
lookOnMe | При значении true ищутся те, кто видит криттера, а при false – те, кого видит криттер.
findType | Тип поиска (см. Critter find types).
critters | Массив криттеров, в конец которого будут записаны найденные криттеры.
Возвращает
Количество записанных криттеров.
Прим.
Чтобы просто узнать количество найденных криттеров, в параметре critters можно передать значение null вместо списка.
Найденные криттеры будут отсортированы по отдалению от криттера.
uint GetTalkedPlayers ( Critter @@+[] players )

Находит всех игроков, разговаривающих с криттером.

Аргументы
players Массив криттеров, в который будут записаны разговаривающие с криттером игроки.
Возвращает
Количество игроков, разговаривающих с криттером.
Прим.
Предназначена только для NPC.
Если необходимо просто проверить, разговаривает ли кто-либо с криттером, можно передать null в качестве значения аргумента players.
На данный момент с каждым NPC может разговаривать максимум два игрока.
Найденные криттеры будут отсортированы по отдалению от криттера.
void DropTimers ( )

Сбрасывает таймеры на вызов обновлений Фикс-боя, точек входа в город и игровой статистики.

void ShowScreen | ( | int | screenType,
 |  | uint | param,
 |  | string & | funcName
 | ) |  |

Открывает окно на стороне клиента, позволяя обработать его ответ.

Подробности использования этой функции смотрите в статье Взаимодействие с игроком.

Аргументы
screenType | Тип окна (см. Show screen modes).
param | Дополнительный параметр.
funcName | Вызываемая при ответе функция.
Прим.
Ответ (вызов функции) вы сможете получить только на последний вызванный ShowScreen, т.к. каждый вызов ShowScreen отменяет ожидание предыдущего. Также у игрока всегда есть возможность не отвечать на него, и тогда и функция не вызовется.
void PlaySound | ( | string & | soundName,
 |  | bool | sendSelf
 | ) |  |

Проигрывает звук с указанным именем на стороне клиента.

Аргументы
soundName | Имя звука в клиенте.
sendSelf | Отправлять ли сообщения о проигрывании самому себе.
void PlaySound | ( | uint8 | soundType,
 |  | uint8 | soundTypeExt,
 |  | uint8 | soundId,
 |  | uint8 | soundIdExt,
 |  | bool | sendSelf
 | ) |  |

Проигрывает звук с указанными составляющими на стороне клиента.

Аргументы
soundType,soundTypeExt,soundId,soundIdExt | Составляющие звука. Формула составления имени для некоторых soundType различается (см. Sound types).
sendSelf | Отправлять ли сообщения о проигрывании самому себе.
void RunClientScript | ( | string & | funcName,
 |  | int | p0,
 |  | int | p1,
 |  | int | p2,
 |  | string @+ | p3,
 |  | int @+[] | p4
 | ) |  |

Вызывает скрипт на стороне клиента.

Спецификация функции на стороне клиента (см. templates.fos):

void __FuncName(int param0, int param1, int param2, string@ param3, int[]@ param4);
Аргументы
funcName | Имя функции.
p0,p1,p2,p3,p4 | Значения для передаваемых в функцию параметров.
void SetLexems ( string @+ lexems )

Устанавливает значения для лексем, использующихся в строках с описанием криттера.

Аргументы
lexems Cтрока значений лексем (см. описание тэга @lex@, где описан формат строки).
bool IsCanWalk ( )

Позволяет проверить, может ли криттер перемещаться.

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

bool IsCanRun ( )

Позволяет проверить, может ли криттер передвигаться бегом.

bool IsCanRotate ( )

Позволяет проверить, может ли криттер вращаться.

bool IsCanAim ( )

Позволяет проверить, может ли криттер атаковать прицельно.

Значение проставляется в таблице криттеров.

int GetAccess ( )

Позволяет получить уровень доступа игрока.

Возвращает
Уровень доступа игрока (см. Access levels).
bool IsSee ( Critter & cr )

Проверяет, виден ли указанный криттер криттеру.

Аргументы
cr Криттер, видимость которого проверяется.
Возвращает
true – если указанный криттер виден; false – в противном случае.
bool IsSeenBy ( Critter & cr )

Проверяет, виден ли криттер указанным криттером.

Аргументы
cr Криттер, по отношению к которому проверяется видимость.
Возвращает
true – если криттер виден указанному криттеру; false – в противном случае.
bool IsSee ( Item & item )

Проверяет, виден ли указанный предмет криттеру.

Аргументы
item Предмет, видимость которого проверяется.
Возвращает
true – если указанный предмет виден; false – в противном случае.
void RefreshVisible ( )

Обновляет видимость криттера.

void Action | ( | int | action,
 |  | int | actionExt,
 |  | Item @+ | item
 | ) |  |

Вызывает на стороне клиент зарезервированную функцию critter_action.

Аргументы
action | Действие (см. Действия криттеров).
actionExt | Параметр с дополнительной информацией о действии. Зависит от типа типа действия.
item | Предмет, участвующий в действии.
См. также
critter_action
void Disconnect ( )

Вызывает отключение клиента.

Данные класса

const uint Id

Уникальный идентификатор криттера.

См. также
GetCritter(uint)
const bool IsNotValid

Позволяет определить валидность объекта.

const uint8 CrType

Базовый тип анимации криттера.

const uint16 HexX

Координата, по оси X, расположения криттера на карте.

const uint16 HexY

Координата, по оси Y, расположения криттера на карте.

const uint16 WorldX

Координата, по оси X, расположения криттера на глобальной карте.

const uint16 WorldY

Координата, по оси Y, расположения криттера на глобальной карте.

const uint8 Dir

Направление, в которое повернут криттер.

const uint8 Cond

Текущее состояние криттера.

Cм. Critter basic conditions.

const uint8 CondExt

Уточняет состояние криттера.

См. Extended critter conditions.

const uint16 Flags

Флаги криттера, предназначенные только для чтения.

См. Critter extra flags.

int NpcRole

Определяет роль криттера.

Устанавливается по усмотрению разработчика скрипта.

См. также
Map::GetNpc
uint ShowCritterDist1

Дистанция обнаружения для событий CRITTER_EVENT_SHOW_CRITTER_1 и CRITTER_EVENT_HIDE_CRITTER_1.

uint ShowCritterDist2

Дистанция обнаружения для события CRITTER_EVENT_SHOW_CRITTER_2 и CRITTER_EVENT_HIDE_CRITTER_2.

uint ShowCritterDist3

Дистанция обнаружения для событий CRITTER_EVENT_SHOW_CRITTER_3 и CRITTER_EVENT_HIDE_CRITTER_3.

bool IsRuning

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

const uint Life

Уточняет состояние криттера.

Используется для анимаций.

const uint Knockout

Уточняет состояние криттера.

Используется для анимаций.

const uint Dead

Уточняет состояние криттера.

Используется для анимаций.

DataVal Param

Массив значений параметров криттера.

Только для чтения.

См. также
ParamBase
SetParameterGetBehaviour
DataRef ParamBase

Массив базовых значений параметров криттера.

См. также
Param
SetParameterChangeBehaviour
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Класс GameVar

  • Алфавитный указатель классов
  • Члены классов
Открытые члены | Полный список членов класса
Класс GameVar
API сервера

Игровая переменная. Подробнее...

Открытые члены

int | GetValue ()
Возвращает значение игровой переменной. Подробнее...
int | GetMin ()
Возвращает минимальное значение игровой переменной. Подробнее...
int | GetMax ()
Возвращает максимальное значение игровой переменной. Подробнее...
bool | IsQuest ()
Определяет, является ли переменная квестовой. Подробнее...
uint | GetQuestStr ()
Для квестовой переменной возвращает номер строки, которая находится в файле FOQUEST.MSG. Подробнее...
Перегруженные операторы сравнения
int | opCmp (const GameVar &)
int | opCmp (const int)
bool | opEquals (const GameVar &)
bool | opEquals (const int)
Перегруженные операторы присваивания
GameVar & | opAssign (const GameVar &)
GameVar & | opAssign (const int)
GameVar & | opDivAssign (const GameVar &)
GameVar & | opDivAssign (const int)
GameVar & | opMulAssign (const GameVar &)
GameVar & | opMulAssign (const int)
GameVar & | opSubAssign (const GameVar &)
GameVar & | opSubAssign (const int)
GameVar & | opAddAssign (const GameVar &)
GameVar & | opAddAssign (const int)
Перегруженные арифметические операторы
int | opAdd (const GameVar &)
int | opAdd (const int)
int | opSub (const GameVar &)
int | opSub (const int)
int | opDiv (const GameVar &)
int | opDiv (const int)
int | opMul (const GameVar &)
int | opMul (const int)

Подробное описание

Игровая переменная.

Для этого типа перегружены следующие операторы:

  • >, <, ==, >=, <=, != – логические операторы. Тип возвращаемого значения – bool.
  • +=, -=, *=, /=, = – операторы присваивания. Тип возвращаемого значения – GameVar.
  • +, -, *, / – арифметические операторы. Тип возвращаемого значения – int.

Методы

int GetValue ( )

Возвращает значение игровой переменной.

Возвращает
Значение игровой переменной.
int GetMin ( )

Возвращает минимальное значение игровой переменной.

Возвращает
Минимальное значение игровой переменной.
int GetMax ( )

Возвращает максимальное значение игровой переменной.

Возвращает
Максимальное значение игровой переменной.
bool IsQuest ( )

Определяет, является ли переменная квестовой.

Возвращает
true – если переменная квестовая; false – если нет.
uint GetQuestStr ( )

Для квестовой переменной возвращает номер строки, которая находится в файле FOQUEST.MSG.

Возвращает
Номер строки в файле FOQUEST.MSG, соответствующей значению квестовой переменной.
int opCmp ( const GameVar & )
int opCmp ( const int )
bool opEquals ( const GameVar & )
bool opEquals ( const int )
GameVar& opAssign ( const GameVar & )
GameVar& opAssign ( const int )
GameVar& opDivAssign ( const GameVar & )
GameVar& opDivAssign ( const int )
GameVar& opMulAssign ( const GameVar & )
GameVar& opMulAssign ( const int )
GameVar& opSubAssign ( const GameVar & )
GameVar& opSubAssign ( const int )
GameVar& opAddAssign ( const GameVar & )
GameVar& opAddAssign ( const int )
int opAdd ( const GameVar & )
int opAdd ( const int )
int opSub ( const GameVar & )
int opSub ( const int )
int opDiv ( const GameVar & )
int opDiv ( const int )
int opMul ( const GameVar & )
int opMul ( const int )
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Класс Item

  • Алфавитный указатель классов
  • Члены классов
Полный список членов класса
Класс Item
API сервера

Предмет. Подробнее...

Открытые члены

Скрипты и события

300

bool | SetScript (string @+script)
Устанавливает новый скрипт и вызывает в нем функцию инициализации с параметром firstTime равным true. Подробнее...
uint | GetScriptId ()
Возвращает ID скрипта, связанного с данным предметом. Подробнее...
void | SetEvent (int eventType, string &funcName)
Биндит функцию-обработчика определенного события. Подробнее...
Вызов событий

295

bool | EventFinish (bool toDelete)
Принудительно вызывает событие ITEM_EVENT_FINISH. Подробнее...
bool | EventAttack (Critter &attacker, Critter &target)
Принудительно вызывает событие ITEM_EVENT_ATTACK. Подробнее...
bool | EventUse (Critter &cr, Critter @onCritter, Item @onItem, Scenery @onScenery)
Принудительно вызывает событие ITEM_EVENT_USE. Подробнее...
bool | EventUseOnMe (Critter &cr, Item @usedItem)
Принудительно вызывает событие ITEM_EVENT_USE_ON_ME. Подробнее...
bool | EventSkill (Critter &cr, int skill)
Принудительно вызывает событие ITEM_EVENT_SKILL. Подробнее...
void | EventDrop (Critter &cr)
Принудительно вызывает событие ITEM_EVENT_DROP. Подробнее...
void | EventMove (Critter &cr, uint8 fromSlot)
Принудительно вызывает событие ITEM_EVENT_MOVE. Подробнее...
void | EventWalk (Critter &cr, bool entered, uint8 dir)
Принудительно вызывает событие ITEM_EVENT_WALK. Подробнее...
Общие

290

void | Animate (uint8 fromFrame, uint8 toFrame)
Проигрывает анимацию предмета. Подробнее...
bool | ChangeProto (uint16 protoId)
Меняет прототип у предмета. Подробнее...
uint8 | GetType ()
Возвращает тип предмета. Подробнее...
uint16 | GetProtoId ()
Возвращает ID прототипа предмета. Подробнее...
uint | GetCost ()
Автоматически расчитывает стоимость предмета, учитывая стоимость в предмете и прототипе, износ, заряженную аммуницию. Подробнее...
uint | GetCount ()
Возвращает количество предметов в данном экземпляре. Подробнее...
void | SetCount (uint count)
Устанавливает количество предметов в данном экземпляре. Подробнее...
Map | GetMapPosition (uint16 &hexX, uint16 &hexY)
Возвращает указатель на карту и координаты расположения предмета на ней. Подробнее...
bool | IsStackable ()
Группируются ли предметы. Подробнее...
bool | IsDeteriorable ()
Изнашиваются ли предметы. Подробнее...
void | Update ()
Обновление инфы об предмете у игроков. Подробнее...
void | SetLexems (string @+lexems)
Позволяет установить (или сбросить) значения лексем, используемых в названии и описании предмета. Подробнее...
Для машин

280

Item | GetChild (uint childIndex)
Возвращает указатель на дочерний предмет. Подробнее...
Для предметов-контейнеров

270

Item | AddItem (uint16 protoId, uint count, uint specialId)
Создание предмета в контейнере. Подробнее...
Item | GetItem (uint16 protoId, uint specialId)
Возвращает указатель на предмет, который находится в предмете-контейнере. Подробнее...
uint | GetItems (uint specialId, Item @[]@+items)
Ищет все предметы с указанным специальным ID, которые находятся в предмете-контейнере. Подробнее...

Открытые атрибуты

Общие поля

300

const uint | Id
Уникальный идентификатор предмета. Подробнее...
const bool | IsNotValid
Позволяет определить валидность объекта. Подробнее...
const ProtoItem | Proto
Указатель на прототип предмета. Подробнее...
uint | Cost
Цена. Подробнее...
uint | Flags
Изменяемые флаги предмета. Подробнее...
uint16 | RadioFlags
Флаги рации (См. Подробнее...
uint16 | Info
Используется в формуле для определения номера строки с описанием предмета. Подробнее...
uint | PicInv
Изображение в инвентаре. Подробнее...
uint | PicMap
Изображение на карте. Подробнее...
uint16 | SortValue
Сортировочное число. Подробнее...
Доступ

290

const uint8 | Accessory
Определяет, где находится предмет. Подробнее...
const uint | MapId
Уникальный идентификатор карты, на которой находится предмет. Подробнее...
const uint16 | HexX
Координата месторасположения предмета по оси X. Подробнее...
const uint16 | HexY
Координата месторасположения предмета по оси Y. Подробнее...
const uint | CritId
Уникальный идентификатор криттера, в инвентаре которого находится предмет. Подробнее...
const uint8 | CritSlot
Слот в инвентаре криттера, в котором находится предмет. Подробнее...
const uint | ContainerId
Уникальный идентификатор контейнера, в котором находится предмет. Подробнее...
const uint | StackId
(?) Подробнее...
uint | SpecialId
Специальный ID предмета. Подробнее...
Разное (Misc2)

280

uint | Val1
Используется для хранения произвольной информации. Подробнее...
uint | Val2
Используется для хранения произвольной информации. Подробнее...
uint | Val3
Используется для хранения произвольной информации. Подробнее...
uint | Val4
Используется для хранения произвольной информации. Подробнее...
uint | Val5
Используется для хранения произвольной информации. Подробнее...
Для изнашивающихся предметов (оружие, броня)

270

uint8 | BrokenFlags
(?) Подробнее...
uint8 | BrokenCount
(?) Подробнее...
uint16 | Deterioration
Степень износа Подробнее...
Для замков (ключи, контейнеры, двери)

280

uint | LockerId
Номер замка. Подробнее...
uint16 | LockerCondition
Состояние замка. Подробнее...
uint16 | LockerComplexity
Сложность замка (штраф к навыку Взлом). Подробнее...
Для анимаций

Значения инициализируются по данным прототипа.

Используются для проигрывания анимации.

270

uint16 | AnimWaitBase
(?) Подробнее...
uint8 | AnimStayBegin
(?) Подробнее...
uint8 | AnimStayEnd
(?) Подробнее...
uint8 | AnimShowBegin
(?) Подробнее...
uint8 | AnimShowEnd
(?) Подробнее...
uint8 | AnimHideBegin
(?) Подробнее...
uint8 | AnimHideEnd
(?) Подробнее...
Для оружия

260

uint16 | Weapon_AmmoPid
Текущий PID заряженных патронов. Подробнее...
uint16 | Weapon_AmmoCount
Текущее количество патронов. Подробнее...
uint8 | Mode
Активный режим атаки. Подробнее...
Освещенность

250

int8 | LightIntensity
(?) Подробнее...
uint8 | LightRadius
(?) Подробнее...
uint8 | LightFlags
(?) Подробнее...
uint | LightColor
(?) Подробнее...

Подробное описание

Предмет.

Методы

bool SetScript ( string @+ script )

Устанавливает новый скрипт и вызывает в нем функцию инициализации с параметром firstTime равным true.

Аргументы
script Имя скрипта.
Возвращает
true в случае успешной операции; false – в случае провала.
Прим.
Если скрипт или функция не найдена, то установки значения скрипта не произойдет.
uint GetScriptId ( )

Возвращает ID скрипта, связанного с данным предметом.

Возвращает
ID скрипта. 0, если скрипт не назначен.
void SetEvent | ( | int | eventType,
 |  | string & | funcName
 | ) |  |

Биндит функцию-обработчика определенного события.

Аргументы
eventType | Тип события (см. Item events).
funcName | Имя функции-обработчика.
bool EventFinish ( bool toDelete )

Принудительно вызывает событие ITEM_EVENT_FINISH.

bool EventAttack | ( | Critter & | attacker,
 |  | Critter & | target
 | ) |  |

Принудительно вызывает событие ITEM_EVENT_ATTACK.

bool EventUse | ( | Critter & | cr,
 |  | Critter @ | onCritter,
 |  | Item @ | onItem,
 |  | Scenery @ | onScenery
 | ) |  |

Принудительно вызывает событие ITEM_EVENT_USE.

bool EventUseOnMe | ( | Critter & | cr,
 |  | Item @ | usedItem
 | ) |  |

Принудительно вызывает событие ITEM_EVENT_USE_ON_ME.

bool EventSkill | ( | Critter & | cr,
 |  | int | skill
 | ) |  |

Принудительно вызывает событие ITEM_EVENT_SKILL.

void EventDrop ( Critter & cr )

Принудительно вызывает событие ITEM_EVENT_DROP.

void EventMove | ( | Critter & | cr,
 |  | uint8 | fromSlot
 | ) |  |

Принудительно вызывает событие ITEM_EVENT_MOVE.

void EventWalk | ( | Critter & | cr,
 |  | bool | entered,
 |  | uint8 | dir
 | ) |  |

Принудительно вызывает событие ITEM_EVENT_WALK.

void Animate | ( | uint8 | fromFrame,
 |  | uint8 | toFrame
 | ) |  |

Проигрывает анимацию предмета.

Аргументы
fromFrame | Начальный кадр анимации.
toFrame | Конечный кадр анимации.
Прим.
Направление может быть любым (например, Animate(1,7) или Animate(7,1)).
bool ChangeProto ( uint16 protoId )

Меняет прототип у предмета.

Новый прототип должен иметь такой же тип, что и сам предмет.

Аргументы
protoId Номер нового прототипа (см. ITEMPID.H).
Возвращает
В случае успеха – true. В случае провала – false.
uint8 GetType ( )

Возвращает тип предмета.

Возвращает
Тип предмета (см. Items types). В случае провала – 0.
uint16 GetProtoId ( )

Возвращает ID прототипа предмета.

См. ITEMPID.H.

Возвращает
ID прототипа предмета. В случае провала – 0.
uint GetCost ( )

Автоматически расчитывает стоимость предмета, учитывая стоимость в предмете и прототипе, износ, заряженную аммуницию.

Возвращает
Стоимость предмета.
uint GetCount ( )

Возвращает количество предметов в данном экземпляре.

Возвращает
Количество предметов.
См. также
SetCount
void SetCount ( uint count )

Устанавливает количество предметов в данном экземпляре.

Аргументы
count новое количество предметов.
См. также
GetCount
Map GetMapPosition | ( | uint16 & | hexX,
 |  | uint16 & | hexY
 | ) |  |

Возвращает указатель на карту и координаты расположения предмета на ней.

В параметрах возвращается месторасположение предмета на карте, независимо от того, где находится предмет (в предмете-контейнере, в инвентаре криттера или просто на карте).

Аргументы
hexX,hexY В эти переменные функция передаст координаты предмета.
Возвращает
Указатель на экземпляр класса Map. В случае провала – null.
bool IsStackable ( )

Группируются ли предметы.

См. также
ProtoItem::Stackable
bool IsDeteriorable ( )

Изнашиваются ли предметы.

См. также
ProtoItem::Deteriorable
void Update ( )

Обновление инфы об предмете у игроков.

При изменении полей обязательно вызовите этот метод для отправки данных клиентам.

void SetLexems ( string @+ lexems )

Позволяет установить (или сбросить) значения лексем, используемых в названии и описании предмета.

Аргументы
lexems Строка значений лексем (см. описание тэга @lex@, где описан формат строки). Если значение параметра будет null, то это приведёт к удалению лексем.
Item GetChild ( uint childIndex )

Возвращает указатель на дочерний предмет.

Аргументы
childIndex Номер предмета. Обычно 0. Максимум - 4.
Возвращает
Указатель на экземпляр класса Item. В случае провала – null.
Item AddItem | ( | uint16 | protoId,
 |  | uint | count,
 |  | uint | specialId
 | ) |  |

Создание предмета в контейнере.

Аргументы
protoId | Номер прототипа предмета (см. файл ITEMPID.H).
count | Количество предметов.
specialId | Специальный ID предмета. Используется для идентификации криттера, которому принадлежит предмет.
Возвращает
Указатель на экземпляр класса Item. В случае провала – null.
См. также
SpecialId
Item GetItem | ( | uint16 | protoId,
 |  | uint | specialId
 | ) |  |

Возвращает указатель на предмет, который находится в предмете-контейнере.

Аргументы
protoId | Номер прототипа предмета (см. файл ITEMPID.H).
specialId | Специальный ID предмета. Используется для идентификации криттера, которому принадлежит предмет.
Возвращает
Указатель на экземпляр класса Item. В случае провала – null.
См. также
SpecialId
uint GetItems | ( | uint | specialId,
 |  | Item @@+[] | items
 | ) |  |

Ищет все предметы с указанным специальным ID, которые находятся в предмете-контейнере.

Аргументы
specialId | Специальный ID. Используется для идентификации криттера, которому принадлежат предметы. Если установлено значение: -1, то этот параметр учитываться не будет.
items | Массив указателей на предметы, которые находятся в контейнере. Массив не очищается, а дописывается с конца нужными предметами.
Возвращает
Количество найденных предметов.
См. также
SpecialId

Данные класса

const uint Id

Уникальный идентификатор предмета.

const bool IsNotValid

Позволяет определить валидность объекта.

const ProtoItem Proto

Указатель на прототип предмета.

uint Cost

Цена.

При нулевом значении данные берутся из прототипа.

uint Flags

Изменяемые флаги предмета.

Cм. Item flags.

Для удобства пользуйтесь макросами:

  • FLAG (позволяет проверить, установлен ли определенный флаг),
  • SETFLAG (позволяет поставить флаг),
  • UNSETFLAG (позволяет убрать флаг). Их определения см. Flags в _macros.fos.
uint16 RadioFlags

Флаги рации (См.

Radio flags)

uint16 Info

Используется в формуле для определения номера строки с описанием предмета.

Формула следующая:
Item::GetProtoId()*100 + Item::Info (+1 для полного описания).
uint PicInv

Изображение в инвентаре.

Номер вычисляется с помощью функции GetStrHash. При нулевом значении данные берутся из прототипа.

uint PicMap

Изображение на карте.

Номер вычисляется с помощью функции GetStrHash. При нулевом значении данные берутся из прототипа.

uint16 SortValue

Сортировочное число.

Используется для сортировки предметов при отображении в инвентаре/контейнере/карте/etc. Сортировка производится по возрастанию (от меньших значений к большим).

const uint8 Accessory

Определяет, где находится предмет.

Cм. Items accessory.

const uint MapId

Уникальный идентификатор карты, на которой находится предмет.

const uint16 HexX

Координата месторасположения предмета по оси X.

const uint16 HexY

Координата месторасположения предмета по оси Y.

const uint CritId

Уникальный идентификатор криттера, в инвентаре которого находится предмет.

const uint8 CritSlot

Слот в инвентаре криттера, в котором находится предмет.

См. Slots.

const uint ContainerId

Уникальный идентификатор контейнера, в котором находится предмет.

const uint StackId

(?)

uint SpecialId

Специальный ID предмета.

Используется для идентификации группы предметов внутри контейнеров. Обычно это уникальный ID криттера, которому принадлежит предмет. Изначально специальный ID предмета равен 0.

См. также
AddItem
GetItem
GetItems
MoveItem
MoveItems
uint Val1

Используется для хранения произвольной информации.

uint Val2

Используется для хранения произвольной информации.

uint Val3

Используется для хранения произвольной информации.

uint Val4

Используется для хранения произвольной информации.

uint Val5

Используется для хранения произвольной информации.

uint8 BrokenFlags

(?)

uint8 BrokenCount

(?)

uint16 Deterioration

Степень износа

uint LockerId

Номер замка.

uint16 LockerCondition

Состояние замка.

См. Locker. Только для контейнеров и дверей.

uint16 LockerComplexity

Сложность замка (штраф к навыку Взлом).

Только для контейнеров и дверей.

uint16 AnimWaitBase

(?)

uint8 AnimStayBegin

(?)

uint8 AnimStayEnd

(?)

uint8 AnimShowBegin

(?)

uint8 AnimShowEnd

(?)

uint8 AnimHideBegin

(?)

uint8 AnimHideEnd

(?)

uint16 Weapon_AmmoPid

Текущий PID заряженных патронов.

uint16 Weapon_AmmoCount

Текущее количество патронов.

uint8 Mode

Активный режим атаки.

старшие четыре бита - прицел (см. Hit Locations), младшие четыре бита - тип использования (0 – primary, 1 – secondary, 2 – third).

int8 LightIntensity

(?)

uint8 LightRadius

(?)

uint8 LightFlags

(?)

uint LightColor

(?)

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Класс Location

  • Алфавитный указатель классов
  • Члены классов
Открытые члены | Открытые атрибуты | Полный список членов класса
Класс Location
API сервера

Локация. Подробнее...

Открытые члены

uint16 | GetProtoId ()
Позволяет получить номер прототипа локации. Подробнее...
uint | GetMapCount ()
Позволяет узнать число карт в локации. Подробнее...
Map | GetMap (uint16 mapPid)
Позволяет получить по прототипу карту, находящуюся в локации. Подробнее...
Map | GetMapByIndex (uint index)
Позволяет получить карту в локации по индексу. Подробнее...
uint | GetMaps (Map @[]@+maps)
Позволяет получить все карты в локации. Подробнее...
bool | Reload ()
Переинициализирует все карты в локации. Подробнее...
void | Save (bool withMaps)
Сохраняет данные локации и, опционально, всех её карт. Подробнее...
void | Update ()
Обновляет информацию о локации на стороне клиентов. Подробнее...

Открытые атрибуты

const uint | Id
Идентификатор локации. Подробнее...
uint | Color
Задает цвет локации. Подробнее...
const bool | IsNotValid
Позволяет определить валидность объекта. Подробнее...
uint16 | WorldX
Позиция X на глобальной карте. Подробнее...
uint16 | WorldY
Позиция Y на глобальной карте. Подробнее...
bool | Visible
Видна ли локация на глобальной карте мира. Подробнее...
bool | GeckEnabled
Влияют ли на видимость локации расположенные в ней предметы с флагом ITEM_GECK. Подробнее...
int | GeckCount
Количество предеметов с флагом ITEM_GECK в локации. Подробнее...
uint8 | Radius
Радиус локации. Подробнее...
bool | AutoGarbage
Удалять ли карту, когда на ней не осталось ни одного игрока, местного NPC или предмета с флагом ITEM_GECK. Подробнее...

Подробное описание

Локация.

Локации – это кружки на глобальной карте мире, отмечающие определенные места. Каждая локация может содержать множество карт. Информация о локациях содержится в файле CITY.TXT.

См. также
Map

Методы

uint16 GetProtoId ( )

Позволяет получить номер прототипа локации.

Возвращает
Номер прототипа локации.
uint GetMapCount ( )

Позволяет узнать число карт в локации.

Возвращает
Число карт в локации.
Map GetMap ( uint16 mapPid )

Позволяет получить по прототипу карту, находящуюся в локации.

Аргументы
mapPid Номер прототипа карты.
Возвращает
Указатель на карту.
Map GetMapByIndex ( uint index )

Позволяет получить карту в локации по индексу.

Порядок карт прописывается в CITY.TXT с помощью параметра map_(X).

Аргументы
index Индекс карты.
Возвращает
Указатель на карту.
uint GetMaps ( Map @@+[] maps )

Позволяет получить все карты в локации.

Аргументы
maps Массив карт, к которому будут добавлены все найденные карты.
Возвращает
Количество карт в локации.
bool Reload ( )

Переинициализирует все карты в локации.

Возвращает
true – в случае успеха, false – в случае неудачи.
void Save ( bool withMaps )

Сохраняет данные локации и, опционально, всех её карт.

Аргументы
withMaps Указывает, нужно ли сохранять данные карт локации (true) или нет (false).
void Update ( )

Обновляет информацию о локации на стороне клиентов.

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

Данные класса

const uint Id

Идентификатор локации.

uint Color

Задает цвет локации.

По-умолчанию равно 0, клиент берет значение - 0x3C00FF00.

Заметки
Функции и макросы для работы с цветом определены в _colors.fos.
const bool IsNotValid

Позволяет определить валидность объекта.

uint16 WorldX

Позиция X на глобальной карте.

uint16 WorldY

Позиция Y на глобальной карте.

bool Visible

Видна ли локация на глобальной карте мира.

bool GeckEnabled

Влияют ли на видимость локации расположенные в ней предметы с флагом ITEM_GECK.

При значении true, в случае, если количество таких предметов больше нуля, локация приобретает свойство, аналогичное Visible.

int GeckCount

Количество предеметов с флагом ITEM_GECK в локации.

uint8 Radius

Радиус локации.

bool AutoGarbage

Удалять ли карту, когда на ней не осталось ни одного игрока, местного NPC или предмета с флагом ITEM_GECK.

Актуально при geck_visible == 1.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Класс Map

  • Алфавитный указатель классов
  • Члены классов
Открытые атрибуты | Полный список членов класса
Класс Map
API сервера

Карта. Подробнее...

Открытые члены

Скрипты и события

300

bool | SetScript (string @+script)
Устанавливает новый скрипт и вызывает в нем функцию инициализации с параметром firstTime равным true. Подробнее...
uint | GetScriptId ()
Возвращает ID текущего скрипта, связанного с данной картой. Подробнее...
void | SetEvent (int eventType, string &funcName)
Биндит функцию-обработчика определенного события. Подробнее...
Ручной вызов событий

295

void | EventFinish (bool deleted)
Принудительно вызывает событие MAP_EVENT_FINISH. Подробнее...
void | EventLoop0 ()
Принудительно вызывает событие MAP_EVENT_LOOP_0. Подробнее...
void | EventLoop1 ()
Принудительно вызывает событие MAP_EVENT_LOOP_1. Подробнее...
void | EventLoop2 ()
Принудительно вызывает событие MAP_EVENT_LOOP_2. Подробнее...
void | EventLoop3 ()
Принудительно вызывает событие MAP_EVENT_LOOP_3. Подробнее...
void | EventLoop4 ()
Принудительно вызывает событие MAP_EVENT_LOOP_4. Подробнее...
void | EventInCritter (Critter &cr)
Принудительно вызывает событие MAP_EVENT_IN_CRITTER. Подробнее...
void | EventOutCritter (Critter &cr)
Принудительно вызывает событие MAP_EVENT_OUT_CRITTER. Подробнее...
void | EventCritterDead (Critter &cr, Critter @killer)
Принудительно вызывает событие MAP_EVENT_CRITTER_DEAD. Подробнее...
void | EventTurnBasedBegin ()
Принудительно вызывает событие MAP_EVENT_TURN_BASED_BEGIN. Подробнее...
void | EventTurnBasedEnd ()
Принудительно вызывает событие MAP_EVENT_TURN_BASED_END. Подробнее...
void | EventTurnBasedProcess (Critter &cr, bool beginTurn)
Принудительно вызывает событие MAP_EVENT_TURN_BASED_PROCESS. Подробнее...
Общие

200

uint16 | GetProtoId ()
Возвращает ID прототипа карты. Подробнее...
Location GetLocation ()
Позволяет получить локацию, в которой находится карта. Подробнее...
int | GetTime ()
Возвращает текущее время суток на карте. Подробнее...
void | SetTime (int time)
Позволяет изменить время суток на карте. Подробнее...
int | GetData (uint index)
Возвращает значение из массива для работы с собственной информацией. Подробнее...
void | SetData (uint index, int value)
Позволяет записать значение в массив для работы с собственной информацией. Подробнее...
bool | IsTurnBasedAvailability ()
Позволяет проверить, возможен ли на данной карте пошаговый режим боя. Подробнее...
void | SetTurnBasedAvailability (bool value)
Позволяет включить или отключить возможность пошагового режима боя на данной карте. Подробнее...
void | BeginTurnBased (Critter @+firstTurnCrit)
Включает пошаговый режим на карте. Подробнее...
void | EndTurnBased ()
Завершает пошаговый режим на карте. Подробнее...
bool | IsTurnBased ()
Позволяет проверить, включен ли сейчас на карте пошаговый режим. Подробнее...
bool | Reload ()
Переинициализирует карту. Подробнее...
void | SetLoopTime (uint8 loop, uint16 ms)
Устанавливает период вызова loop-функций. Подробнее...
uint16 | GetWidth ()
Возвращает ширину карты. Подробнее...
uint16 | GetHeight ()
Возвращает высоту карты. Подробнее...
Визуальные и аудио эффекты

190

void | RunEffect (uint16 protoId, uint16 hexX, uint16 hexY, uint effectRadius)
Проигрывает анимацию указанного эффекта (например, анимацию взрыва). Подробнее...
void | RunFlyEffect (uint16 protoId, Critter @+fromCr, Critter @+toCr, uint16 fromX, uint16 fromY, uint16 toX, uint16 toY)
Проигрывает летящую анимацию указанного эффекта (например, анимацию летящего снаряда). Подробнее...
uint8 | GetRain ()
Возвращает плотность дождя. Подробнее...
void | SetRain (uint8 capacity)
Включает/выключает дождь. Подробнее...
void | SetText (uint16 hexX, uint16 hexY, uint color, string text)
Выводит надпись в указанном гексагоне карты. Подробнее...
void | SetTextMsg (uint16 hexX, uint16 hexY, uint color, uint16 textMsg, uint strNum)
Выводит надпись в указанном гексагоне карты. Подробнее...
void | SetTextMsg (uint16 hexX, uint16 hexY, uint color, uint16 textMsg, uint strNum, string &lexems)
Выводит надпись в указанном гексагоне карты. Подробнее...
void | PlaySound (string &soundName)
Проигрывает звук на стороне клиента. Подробнее...
void | PlaySound (string &soundName, uint16 hexX, uint16 hexY, uint radius)
Проигрывает звук с эпицентром в указанном гексагоне на стороне клиента. Подробнее...
Для криттеров

180

Critter | GetCritter (uint16 hexX, uint16 hexY)
Возвращает указатель на криттера, который находится в указанном гексагоне. Подробнее...
Critter | GetCritter (uint critterId)
Возвращает указатель на криттера, с указанным ID. Подробнее...
uint | GetCrittersHex (uint16 hexX, uint16 hexY, uint radius, int findType, Critter @[]@+critters)
Находит криттеров, находящихся в указанной области. Подробнее...
uint | GetCrittersPath (uint16 fromHx, uint16 fromHy, uint16 toHx, uint16 toHy, float angle, uint dist, int findType, Critter @[]@+critters)
Проводит трассировку с указанными параметрами и находит всех криттеров, под неё попавших. Подробнее...
uint | GetCrittersPath (uint16 fromHx, uint16 fromHy, uint16 toHx, uint16 toHy, float angle, uint dist, int findType, Critter @[]@+critters, uint16 &preBlockHx, uint16 &preBlockHy, uint16 &blockHx, uint16 &blockHy)
Проводит трассировку с указанными параметрами и находит всех криттеров, под неё попавших. Подробнее...
uint | GetCritters (uint16 pid, int findType, Critter @[]@+critters)
Находит на карте всех криттеров, имеющих указанный прототип. Подробнее...
uint | GetCrittersWhoViewPath (uint16 fromHx, uint16 fromHy, uint16 toHx, uint16 toHy, int findType, Critter @[]@+critters)
Собирает всех криттеров, которые видят указанный путь. Подробнее...
uint | GetCrittersSeeing (Critter @[]&critters, bool lookOnThem, int findType, Critter @[]@+crittersResult)
Позволяет получить всех криттеров, которые видят криттера из группы или которых видят криттеры из группы. Подробнее...
Critter | AddNpc (uint16 protoId, uint16 hexX, uint16 hexY, uint8 dir)
Добавляет криттера в указанный гексагон на карте. Подробнее...
uint | GetNpcCount (int npcRole, int findType)
Возвращает количество NPC на карте, имеющих указанное значение параметра ST_NPC_ROLE. Подробнее...
Critter | GetNpc (int npcRole, int findType, uint skipCount)
Выбор NPC по его роли. Подробнее...
Для предметов

170

Item | AddItem (uint16 hexX, uint16 hexY, uint16 protoId, uint count)
Добавляет предмет в указанный гексагон на карте. Подробнее...
Item | GetItem (uint itemId)
Возвращает указатель на объект предмета, который находится на карте. Подробнее...
Item | GetItem (uint16 hexX, uint16 hexY, uint16 protoId)
Возвращает указатель на объект предмета, который находится на карте. Подробнее...
uint | GetItems (uint16 hexX, uint16 hexY, Item @[]@+items)
Находит все предметы, находящиеся на указанном гексагоне. Подробнее...
uint | GetItems (uint16 protoId, Item @[]@+items)
Находит на карте все предметы с указанным номером прототипа. Подробнее...
uint | GetItemsByType (int type, Item @[]@+items)
Находит на карте все предметы указанного типа. Подробнее...
Item | GetDoor (uint16 hexX, uint16 hexY)
Возвращает указатель на объект двери, находящейся в указанном гексагоне. Подробнее...
bool | OpenDoor (Item &door)
Открывает дверь или контейнер. Подробнее...
bool | CloseDoor (Item &door)
Закрывает дверь или контейнер. Подробнее...
Item | GetCar (uint16 hexX, uint16 hexY)
Возвращает указатель на объект машины, которая находится в указанном гексагоне. Подробнее...
Для гексагонов

160

bool | CheckPlaceForItem (uint16 hexX, uint16 hexY, uint16 protoCar)
Проверяет, можно ли поставить на данный гексагон карты указанный предмет. Подробнее...
uint | CountEntire (uint8 entire)
Возвращает количество специально обозначенных гексагонов. Подробнее...
bool | GetEntireCoords (uint8 entire, uint8 num, uint16 &hexX, uint16 &hexY)
Возвращает координаты специально обозначенного гексагона. Подробнее...
bool | GetEntireCoords (int entire, uint skip, uint16 &hexX, uint16 &hexY, uint8 &dir)
Расширенная версия функции GetEntireCoords, возвращающая направление (Dir) Подробнее...
bool | GetNearEntireCoords (int &entire, uint16 &hexX, uint16 &hexY)
Для поиска ближайшего гекса. Подробнее...
bool | GetNearEntireCoords (int &entire, uint16 &hexX, uint16 &hexY, uint8 &dir)
Расширенная версия функции GetNearEntireCoords, возвращающая направление (Dir) Подробнее...
void | GetHexCoord (uint16 fromHx, uint16 fromHy, uint16 &toHx, uint16 &toHy, float angle, uint dist)
Позволяет получить координаты гексагона, достигнутого при трассировке по указанной траектории. Подробнее...
void | GetHexCoordWall (uint16 fromHx, uint16 fromHy, uint16 &toHx, uint16 &toHy, float angle, uint dist)
Позволяет получить координаты гексагона, достигнутого при трассировке по указанной траектории. Подробнее...
bool | IsHexPassed (uint16 hexX, uint16 hexY)
Проверяет, проходим ли гексагон или нет. Подробнее...
bool | IsHexRaked (uint16 hexX, uint16 hexY)
Проверяет, простреливается ли гексагон. Подробнее...
uint | GetPathLength (uint16 fromHx, uint16 fromHy, uint16 toHx, uint16 toHy, uint cut)
Определяет длину пути между гексагонами. Подробнее...
uint | GetPathLength (Critter &cr, uint16 toHx, uint16 toHy, uint cut)
Определяет длину пути от персонажа до указанного гекса учитывая мултигексовость персонажа. Подробнее...
void | MoveHexByDir (uint16 &hexX, uint16 &hexY, uint8 dir, uint steps)
Двигает гексы hx, hy в направлении dir на steps шагов. Подробнее...
Для сценери

180

Scenery | GetScenery (uint16 hexX, uint16 hexY, uint16 protoId)
Позовляет получить объект сценери нужного прототипа в указанном гексагоне карты. Подробнее...
uint | GetSceneries (uint16 hexX, uint16 hexY, Scenery @[]@+sceneries)
Позволяет получить все объекты сценери в указанном гексагоне карты. Подробнее...
uint | GetSceneries (uint16 protoId, Scenery @[]@+sceneries)
Позволяет получить все имеющиеся на карте объекты сценери с указанными прототипом. Подробнее...

Открытые атрибуты

const uint | Id
Идентификатор карты. Подробнее...
const bool | IsNotValid
Позволяет определить валидность объекта. Подробнее...

Подробное описание

Карта.

Методы

bool SetScript ( string @+ script )

Устанавливает новый скрипт и вызывает в нем функцию инициализации с параметром firstTime равным true.

Аргументы
script Имя скрипта.
Возвращает
true в случае успешной операции, false в случае провала.
Прим.
Если скрипт или функция не найдена, то установки значения скрипта не произойдет.
uint GetScriptId ( )

Возвращает ID текущего скрипта, связанного с данной картой.

Возвращает
ID текущего скрипта. 0, если скрипт не назначен.
void SetEvent | ( | int | eventType,
 |  | string & | funcName
 | ) |  |

Биндит функцию-обработчика определенного события.

Аргументы
eventType | Тип события (см. Map events).
funcName | Имя функции-обработчика.
void EventFinish ( bool deleted )

Принудительно вызывает событие MAP_EVENT_FINISH.

void EventLoop0 ( )

Принудительно вызывает событие MAP_EVENT_LOOP_0.

void EventLoop1 ( )

Принудительно вызывает событие MAP_EVENT_LOOP_1.

void EventLoop2 ( )

Принудительно вызывает событие MAP_EVENT_LOOP_2.

void EventLoop3 ( )

Принудительно вызывает событие MAP_EVENT_LOOP_3.

void EventLoop4 ( )

Принудительно вызывает событие MAP_EVENT_LOOP_4.

void EventInCritter ( Critter & cr )

Принудительно вызывает событие MAP_EVENT_IN_CRITTER.

void EventOutCritter ( Critter & cr )

Принудительно вызывает событие MAP_EVENT_OUT_CRITTER.

void EventCritterDead | ( | Critter & | cr,
 |  | Critter @ | killer
 | ) |  |

Принудительно вызывает событие MAP_EVENT_CRITTER_DEAD.

void EventTurnBasedBegin ( )

Принудительно вызывает событие MAP_EVENT_TURN_BASED_BEGIN.

void EventTurnBasedEnd ( )

Принудительно вызывает событие MAP_EVENT_TURN_BASED_END.

void EventTurnBasedProcess | ( | Critter & | cr,
 |  | bool | beginTurn
 | ) |  |

Принудительно вызывает событие MAP_EVENT_TURN_BASED_PROCESS.

uint16 GetProtoId ( )

Возвращает ID прототипа карты.

Возвращает
ID прототипа карты. В случае провала - 0.
Location GetLocation ( )

Позволяет получить локацию, в которой находится карта.

Возвращает
Указатель на локацию.
int GetTime ( )

Возвращает текущее время суток на карте.

См. также
SetTime
void SetTime ( int time )

Позволяет изменить время суток на карте.

Начальное значение берется из MAPS.TXT, где оно определяется параметром map_time, управляющим освещенностью карты. Если его там нет, то значение по умолчанию равно -1. При отрицательном значении освещенность зависит от времени в игре, а при >=0 освещенность будет анологична времени суток, начиная с 00.00, в минутах.

Аргументы
time Устанавливаемое время суток (в минутах).
См. также
GetTime
int GetData ( uint index )

Возвращает значение из массива для работы с собственной информацией.

Аргументы
index Индекс ячейки массива (0<=index<=63).
См. также
SetData
void SetData | ( | uint | index,
 |  | int | value
 | ) |  |

Позволяет записать значение в массив для работы с собственной информацией.

Массив для работы с собственной информацией имеет размер в 63 элемента и позволяет хранить произвольные данные для карты.

Аргументы
index | Индекс ячейки массива (0<=index<=63).
value | Записываемое значение.
См. также
GetData
bool IsTurnBasedAvailability ( )

Позволяет проверить, возможен ли на данной карте пошаговый режим боя.

Возвращает
Если true, то на карте возможен пошаговый режим. Если false, то нет.
См. также
BeginTurnBased
IsTurnBased
SetTurnBasedAvailability
void SetTurnBasedAvailability ( bool value )

Позволяет включить или отключить возможность пошагового режима боя на данной карте.

Аргументы
value Устанавливаемое значение.
См. также
BeginTurnBased
IsTurnBased
IsTurnBasedAvailability
void BeginTurnBased ( Critter @+ firstTurnCrit )

Включает пошаговый режим на карте.

Аргументы
firstTurnCrit Указатель на криттера, который ходит первым.
См. также
IsTurnBased
IsTurnBasedAvailability
SetTurnBasedAvailability
void EndTurnBased ( )

Завершает пошаговый режим на карте.

См. также
IsTurnBased
IsTurnBasedAvailability
SetTurnBasedAvailability
bool IsTurnBased ( )

Позволяет проверить, включен ли сейчас на карте пошаговый режим.

Возвращает
Если true, то на карте включен пошаговый режим. Если false, то нет.
См. также
BeginTurnBased
IsTurnBasedAvailability
SetTurnBasedAvailability
bool Reload ( )

Переинициализирует карту.

Возвращает
true – в случае успеха, false – в случае провала.
void SetLoopTime | ( | uint8 | loop,
 |  | uint16 | ms
 | ) |  |

Устанавливает период вызова loop-функций.

Всего этих функций может быть 5 (loop_0, loop_1, loop_2 и т.д.).

Аргументы
loop | Номер loop-функции.
ms | Период вызова (в миллисекундах; 1 секунда = 1000 миллисекунд.
См. также
MAP_EVENT_LOOP_0
MAP_EVENT_LOOP_1
MAP_EVENT_LOOP_2
MAP_EVENT_LOOP_3
MAP_EVENT_LOOP_4
uint16 GetWidth ( )

Возвращает ширину карты.

uint16 GetHeight ( )

Возвращает высоту карты.

void RunEffect | ( | uint16 | protoId,
 |  | uint16 | hexX,
 |  | uint16 | hexY,
 |  | uint | effectRadius
 | ) |  |

Проигрывает анимацию указанного эффекта (например, анимацию взрыва).

Аргументы
protoId | ID прототипа эффекта (см. Effects в файле ITEMPID.H).
hexX,hexY | Координаты гексагона, на котором необходимо проиграть анимацию.
effectRadius | Радиус эффекта.
void RunFlyEffect | ( | uint16 | protoId,
 |  | Critter @+ | fromCr,
 |  | Critter @+ | toCr,
 |  | uint16 | fromX,
 |  | uint16 | fromY,
 |  | uint16 | toX,
 |  | uint16 | toY
 | ) |  |

Проигрывает летящую анимацию указанного эффекта (например, анимацию летящего снаряда).

Приоритетным является указание криттера. Если передается null, то берутся координаты гексагонов.

Аргументы
protoId | ID прототипа эффекта (см. Effects в файле ITEMPID.H).
fromCr | Криттер, от которого должен лететь снаряд.
toCr | Криттер, к которому должен лететь снаряд.
fromX,fromY | Координаты гексагона, из которого должен вылететь снаряд.
toX,toY | Координаты гексагона, в который должен прилететь снаряд.
uint8 GetRain ( )

Возвращает плотность дождя.

Возвращает
Плотность дождя.
См. также
SetRain
void SetRain ( uint8 capacity )

Включает/выключает дождь.

Аргументы
capacity Плотность дождя. Если плотность дождя == 0, то это значит, что дождь отключен. Максимальное значение – 255.
См. также
GetRain
void SetText | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | uint | color,
 |  | string | text
 | ) |  |

Выводит надпись в указанном гексагоне карты.

Если на этом гексагоне находится предмет или криттер, то надпись будет показана над ними.

Аргументы
hexX,hexY | Координаты гексагона.
color | Цвет шрифта. Для задания цвета шрифта пользуйтесь специальным макросом (см. Other в файле _macros.fos).
text | Выводимый текст.
void SetTextMsg | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | uint | color,
 |  | uint16 | textMsg,
 |  | uint | strNum
 | ) |  |

Выводит надпись в указанном гексагоне карты.

Если на этом гексагоне находится предмет или криттер, то надпись будет показана над ними.

Аргументы
hexX,hexY | Координаты гексагона.
color | Цвет шрифта. Для задания цвета шрифта пользуйтесь специальным макросом (см. Other в файле _macros.fos).
textMsg | Номер MSG файла (см. Msg nums).
strNum | Номер строки.
См. также
SetTextMsg(uint16, uint16, uint, uint16, uint, string&)
void SetTextMsg | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | uint | color,
 |  | uint16 | textMsg,
 |  | uint | strNum,
 |  | string & | lexems
 | ) |  |

Выводит надпись в указанном гексагоне карты.

Аргументы
hexX,hexY | Координаты гексагона.
color | Цвет шрифта. Для задания цвета шрифта пользуйтесь специальным макросом (см. Other в файле _macros.fos).
textMsg | Номер MSG файла (см. Msg nums).
strNum | Номер строки.
lexems | Строка значений лексем (см. описание тэга @lex@, где описан формат строки).
См. также
SetTextMsg(uint16, uint16, uint, uint16, uint)
void PlaySound ( string & soundName )

Проигрывает звук на стороне клиента.

Аргументы
soundName Имя звука в клиенте.
void PlaySound | ( | string & | soundName,
 |  | uint16 | hexX,
 |  | uint16 | hexY,
 |  | uint | radius
 | ) |  |

Проигрывает звук с эпицентром в указанном гексагоне на стороне клиента.

Аргументы
soundName | Имя звука в клиенте.
hexX,hexY | Координаты гексагона, в котором находится эпицентр звука.
radius | В радиусе скольких клеток будет слышен звук; если указан 0, то услышат те, у кого радиус видимости достигает эпицентра.
Critter GetCritter | ( | uint16 | hexX,
 |  | uint16 | hexY
 | ) |  |

Возвращает указатель на криттера, который находится в указанном гексагоне.

Аргументы
hexX,hexY Координаты гексагона, на котором находится криттер.
Возвращает
Указатель на экземпляр класса Critter. В случае провала – null.
Critter GetCritter ( uint critterId )

Возвращает указатель на криттера, с указанным ID.

Аргументы
critterId Уникальный ID криттера.
Возвращает
Указатель на экземпляр класса Critter. В случае провала – null.
uint GetCrittersHex | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | uint | radius,
 |  | int | findType,
 |  | Critter @@+[] | critters
 | ) |  |

Находит криттеров, находящихся в указанной области.

Аргументы
hexX,hexY | Координаты гексагона, относительно которого будет проведен поиск криттеров.
radius | Радиус поиска, в гексагонах.
findType | Тип поиска (см. Critter find types).
critters | Массив указателей на криттеров, которые были найдены. Этот массив будет дописан с конца найденными криттерами.
Возвращает
Количество найденных криттеров.
Прим.
Чтобы просто узнать количество найденных криттеров, в параметре critters можно передать значение null вместо списка.
Найденные криттеры будут отсортированы по отдалению от базовой точки.
uint GetCrittersPath | ( | uint16 | fromHx,
 |  | uint16 | fromHy,
 |  | uint16 | toHx,
 |  | uint16 | toHy,
 |  | float | angle,
 |  | uint | dist,
 |  | int | findType,
 |  | Critter @@+[] | critters
 | ) |  |

Проводит трассировку с указанными параметрами и находит всех криттеров, под неё попавших.

Аргументы
fromHx,fromHy | Координаты стартового гексагона.
toHx,toHy | Координаты гексагона назначения.
angle | Угол отклонения луча, в градусах.
dist | Максимальная дистанция трассировки.
findType | Тип поиска (см. Critter find types).
critters | Массив указателей на криттеров, которые были найдены. Этот массив будет дописан с конца найденными криттерами.
Возвращает
Количество найденных криттеров.
Прим.
Чтобы просто узнать количество найденных криттеров, в параметре critters можно передать значение null вместо списка.
uint GetCrittersPath | ( | uint16 | fromHx,
 |  | uint16 | fromHy,
 |  | uint16 | toHx,
 |  | uint16 | toHy,
 |  | float | angle,
 |  | uint | dist,
 |  | int | findType,
 |  | Critter @@+[] | critters,
 |  | uint16 & | preBlockHx,
 |  | uint16 & | preBlockHy,
 |  | uint16 & | blockHx,
 |  | uint16 & | blockHy
 | ) |  |

Проводит трассировку с указанными параметрами и находит всех криттеров, под неё попавших.

Аргументы
fromHx,fromHy | Координаты стартового гексагона.
toHx,toHy | Координаты гексагона назначения.
angle | Угол отклонения луча, в градусах.
dist | Максимальная дистанция трассировки.
findType | Тип поиска (см. Critter find types).
critters | Массив указателей на криттеров, которые были найдены. Этот массив будет дописан с конца найденными криттерами.
[out] | preBlockHx,preBlockHy | Позиция гекса перед препятствием.
[out] | blockHx,blockHy | Позиция гекса препятствия.
Возвращает
Количество найденных криттеров.
Прим.
Если координаты preBlock* равны block*, то значит препятствия не было.
Чтобы просто узнать количество найденных криттеров, в параметре critters можно передать значение null вместо списка.
uint GetCritters | ( | uint16 | pid,
 |  | int | findType,
 |  | Critter @@+[] | critters
 | ) |  |

Находит на карте всех криттеров, имеющих указанный прототип.

Аргументы
pid | Прототип NPC (см. _npc_pids.fos). При pid, равном -1, выбираются игроки, при -2 - NPC, при 0 - все криттеры (и игроки, и NPC) (?).
findType | Тип поиска (см. Critter find types).
critters | Массив указателей на криттеров. Этот массив будет дописан с конца найденными криттерами.
Возвращает
Количество найденных криттеров.
Прим.
Чтобы просто узнать количество найденных криттеров, в параметре critters можно передать значение null вместо списка.
uint GetCrittersWhoViewPath | ( | uint16 | fromHx,
 |  | uint16 | fromHy,
 |  | uint16 | toHx,
 |  | uint16 | toHy,
 |  | int | findType,
 |  | Critter @@+[] | critters
 | ) |  |

Собирает всех криттеров, которые видят указанный путь.

Аргументы
fromHx,fromHy | Координаты стартового гексагона пути.
toHx,toHy | Координаты целевого гексагона пути.
findType | Тип поиска (см. Critter find types).
critters | Массив указателей на криттеров, которые были найдены. Этот массив будет дописан с конца найденными криттерами.
Возвращает
Количество найденных криттеров.
Прим.
Если вызывать метод несколько раз, в разных отрезках, но с одним массивом криттеров, то будут дописываться лишь те криттеры, которых нет в массиве.
uint GetCrittersSeeing | ( | Critter @&[] | critters,
 |  | bool | lookOnThem,
 |  | int | findType,
 |  | Critter @@+[] | crittersResult
 | ) |  |

Позволяет получить всех криттеров, которые видят криттера из группы или которых видят криттеры из группы.

Аргументы
critters | Исходная группа криттеров. В результирующий массив будет записана в первую очередь.
lookOnThem | Указывает, найти тех, кто видит этих криттеров (true) или тех, кого видят криттеры (false).
findType | Тип поиска (см. Critter find types).
crittersResult | Результирующий массив, в который будут дописаны найденные криттеры.
Возвращает
Количество найденных криттеров.
Прим.
Если при добавлении криттера, он уже присутствует в результирующем массиве, то повторно он туда не добавится.
Critter AddNpc | ( | uint16 | protoId,
 |  | uint16 | hexX,
 |  | uint16 | hexY,
 |  | uint8 | dir
 | ) |  |

Добавляет криттера в указанный гексагон на карте.

Аргументы
protoId | Номер прототипа NPC (см. файл _npc_pids.fos).
hexX,hexY | Координаты гексагона.
dir | Направление.
Возвращает
Указатель на экземпляр класса Critter, если криттер создан. В противном случае – null.
uint GetNpcCount | ( | int | npcRole,
 |  | int | findType
 | ) |  |

Возвращает количество NPC на карте, имеющих указанное значение параметра ST_NPC_ROLE.

Аргументы
npcRole | Роль NPC.
findType | Тип поиска (см. Critter find types).
Возвращает
Количество NPC на карте, имеющих указанное значение параметра ST_NPC_ROLE.
См. также
GetNpc
Critter GetNpc | ( | int | npcRole,
 |  | int | findType,
 |  | uint | skipCount
 | ) |  |

Выбор NPC по его роли.

Аргументы
npcRole | Роль NPC.
findType | Тип поиска (см. Critter find types).
skipCount | Количество пропусков. Необходимо использовать этот параметр в том случае, если на карте есть несколько NPC с одной ролью.
Возвращает
Указатель на экземпляр класса Critter, если NPC найде. null – в противном случае.
См. также
GetNpcCount
Item AddItem | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | uint16 | protoId,
 |  | uint | count
 | ) |  |

Добавляет предмет в указанный гексагон на карте.

Аргументы
hexX,hexY | Координаты гексагона.
protoId | ID Прототипа предмета (см. файл ITEMPID.H).
count | Количество предметов.
Возвращает
Указатель на экземпляр класса Item. В случае провала – null.
Item GetItem ( uint itemId )

Возвращает указатель на объект предмета, который находится на карте.

Аргументы
itemId Уникальный ID предмета.
Возвращает
Указатель на экземпляр класса Item. В случае провала – null.
Item GetItem | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | uint16 | protoId
 | ) |  |

Возвращает указатель на объект предмета, который находится на карте.

Аргументы
hexX,hexY | Координаты гексагона, на котором находится предмет.
protoId | ID прототипа предмета (см. файл ITEMPID.H).
Возвращает
Указатель на экземпляр класса Item. В случае провала – null.
uint GetItems | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | Item @@+[] | items
 | ) |  |

Находит все предметы, находящиеся на указанном гексагоне.

Аргументы
hexX,hexY | Координаты гексагона, на котором ищутся предметы.
items | Массив указателей на предметы, в который будут записаны найденные предметы.
Возвращает
Количество найденных предметов.
uint GetItems | ( | uint16 | protoId,
 |  | Item @@+[] | items
 | ) |  |

Находит на карте все предметы с указанным номером прототипа.

Аргументы
protoId | ID прототипа (см. файл ITEMPID.H).
items | Массив, в который будут записаны указатели на найденные предметы.
Возвращает
Количество найденных предметов.
uint GetItemsByType | ( | int | type,
 |  | Item @@+[] | items
 | ) |  |

Находит на карте все предметы указанного типа.

Аргументы
type | Тип предмета (см. Items types).
items | Массив, в конец которого будут записаны найденные предметы.
Возвращает
Количество найденных на карте предметов указанного типа.
Item GetDoor | ( | uint16 | hexX,
 |  | uint16 | hexY
 | ) |  |

Возвращает указатель на объект двери, находящейся в указанном гексагоне.

Предупреждения
Помните, что двери относятся к классу Item.
Аргументы
hexX,hexY Координаты гексагона, на котором находится объект.
Возвращает
Указатель на экземпляр класса Item. В случае провала – null.
bool OpenDoor ( Item & door )

Открывает дверь или контейнер.

Аргументы
door Дверь или контейнер, который необходимо открыть.
Возвращает
В случае успешного открытия - true. В случае провала – false.
См. также
CloseDoor
bool CloseDoor ( Item & door )

Закрывает дверь или контейнер.

Аргументы
door Дверь или контейнер, который необходимо закрыть.
Возвращает
В случае успешного закрытия - true. В случае провала – false.
См. также
OpenDoor
Item GetCar | ( | uint16 | hexX,
 |  | uint16 | hexY
 | ) |  |

Возвращает указатель на объект машины, которая находится в указанном гексагоне.

Аргументы
hexX,hexY Координаты гексагона, на котором находится объект.
Возвращает
Указатель на экземпляр класса Item. В случае провала – null.
bool CheckPlaceForItem | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | uint16 | protoCar
 | ) |  |

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

Аргументы
hexX,hexY | Предполагаемые координаты машины.
protoCar | Номер прототипа предмета.
Возвращает
true – если место подходит для установки предмета; false – если место не подходит.
uint CountEntire ( uint8 entire )

Возвращает количество специально обозначенных гексагонов.

Гексагоны обозначаются в редакторе карт.

Аргументы
entire Идентификатор группы гексагонов. Устанавливается по усмотрению разработчика карты.
Возвращает
Количество найденных гексагонов с указанным значением идентификатора EntireNum.
См. также
GetEntireCoords
bool GetEntireCoords | ( | uint8 | entire,
 |  | uint8 | num,
 |  | uint16 & | hexX,
 |  | uint16 & | hexY
 | ) |  |

Возвращает координаты специально обозначенного гексагона.

Гексагоны обозначаются в редакторе карт и несколько гексагонов могут входить в одну группу, которая имеет свой идентификатор.

Аргументы
[in] | entire | Идентификатор группы гексагонов. Устанавливается по усмотрению разработчика карты.
[in] | num | Порядковый номер гексагона в группе.
[out] | hexX,hexY | Переменные, в которые функция запишет координаты гексагона.
Возвращает
true – при удачном выполнении функции; false – при провале.
См. также
CountEntire
bool GetEntireCoords | ( | int | entire,
 |  | uint | skip,
 |  | uint16 & | hexX,
 |  | uint16 & | hexY,
 |  | uint8 & | dir
 | ) |  |

Расширенная версия функции GetEntireCoords, возвращающая направление (Dir)

bool GetNearEntireCoords | ( | int & | entire,
 |  | uint16 & | hexX,
 |  | uint16 & | hexY
 | ) |  |

Для поиска ближайшего гекса.

Аргументы
entire | Номер энтайра, если -1, то будет то будет возвращен ближайший валидный номер.
hexX,hexY | Координаты в области которых нужно производить поиск
Возвращает
true, в случае успеха.
bool GetNearEntireCoords | ( | int & | entire,
 |  | uint16 & | hexX,
 |  | uint16 & | hexY,
 |  | uint8 & | dir
 | ) |  |

Расширенная версия функции GetNearEntireCoords, возвращающая направление (Dir)

void GetHexCoord | ( | uint16 | fromHx,
 |  | uint16 | fromHy,
 |  | uint16 & | toHx,
 |  | uint16 & | toHy,
 |  | float | angle,
 |  | uint | dist
 | ) |  |

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

С помощью этой функции можно реализовывать, например, промахи метательного оружия и выстрела из базуки.

Аргументы
[in] | fromHx,fromHy | Cтартовые гексы.
[out] | toHx,toHy | Переменные, в которые будут записаны итоговые координаты.
[in] | angle | Угол отклонения луча (в градусах).
[in] | dist | Дистанция до нужного гекса.
Прим.
Если на пути попадется не простреливаемый (IsHexRaked) гекс, то итоговые координаты будут указывать на гекс перед препятствием.
При (dist == 0) берется дистанция от гекса до гекса.
void GetHexCoordWall | ( | uint16 | fromHx,
 |  | uint16 | fromHy,
 |  | uint16 & | toHx,
 |  | uint16 & | toHy,
 |  | float | angle,
 |  | uint | dist
 | ) |  |

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

Позволяет определить последний гекс перед стеной, т.к. криттеры и простреливаемые предметы игрнорируются при трассировке с помощью данного метода.

Аргументы
[in] | fromHx,fromHy | Cтартовые гексы.
[out] | toHx,toHy | Переменные, в которые будут записаны итоговые координаты.
[in] | angle | Угол отклонения луча (в градусах).
[in] | dist | Дистанция до нужного гекса.
Прим.
Если на пути попадется непроходимый (IsHexPassed) гекс, то итоговые координаты будут указывать на гекс перед препятствием.
См. также
GetHexCoord
bool IsHexPassed | ( | uint16 | hexX,
 |  | uint16 | hexY
 | ) |  |

Проверяет, проходим ли гексагон или нет.

Аргументы
hexX,hexY Координаты гексагона.
Возвращает
true – если гексагон проходим; false – если гексагон непроходим.
bool IsHexRaked | ( | uint16 | hexX,
 |  | uint16 | hexY
 | ) |  |

Проверяет, простреливается ли гексагон.

Аргументы
hexX,hexY Координаты гексагона.
Возвращает
true – если гексагон простреливаем; false – если гексагон непростреливаем.
uint GetPathLength | ( | uint16 | fromHx,
 |  | uint16 | fromHy,
 |  | uint16 | toHx,
 |  | uint16 | toHy,
 |  | uint | cut
 | ) |  |

Определяет длину пути между гексагонами.

Аргументы
fromHx,fromHy | Координаты исходного гексагона.
toHx,toHy | Координаты целевого гексагона.
cut | Указывает, на сколько гексагонов необходимо обрезать путь с конца.
Возвращает
Длина пути между гексагонами. Если путь заблокирован, то возвращается 0.
uint GetPathLength | ( | Critter & | cr,
 |  | uint16 | toHx,
 |  | uint16 | toHy,
 |  | uint | cut
 | ) |  |

Определяет длину пути от персонажа до указанного гекса учитывая мултигексовость персонажа.

Аргументы
cr | Персонаж, от которого ищется путь.
toHx,toHy | Координаты целевого гексагона.
cut | Указывает, на сколько гексагонов необходимо обрезать путь с конца.
Возвращает
Длина пути. Если путь заблокирован, то возвращается 0.
void MoveHexByDir | ( | uint16 & | hexX,
 |  | uint16 & | hexY,
 |  | uint8 | dir,
 |  | uint | steps
 | ) |  |

Двигает гексы hx, hy в направлении dir на steps шагов.

Т.к. хексагональная сетка имеет своеобразную систему координат, эта функция будет хорошим помощником для точной подстройки позиции.

Аргументы
[out] | hexX,hexY | Подстраиваемые координаты.
[in] | dir | Направление смещения.
[in] | steps | Количество шагов смещения.
Прим.
В методе проводятся проверки на выходы из границ карты.
Scenery GetScenery | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | uint16 | protoId
 | ) |  |

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

Аргументы
hexX,hexY | Координаты гексагона карты, на котором находится объект сценери.
protoId | Номер прототипа сценери.
Возвращает
Указатель на экземпляр класса Scenery. null – если в указанном месте сценери с указанным прототипом нет.
uint GetSceneries | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | Scenery @@+[] | sceneries
 | ) |  |

Позволяет получить все объекты сценери в указанном гексагоне карты.

Аргументы
hexX,hexY | Координаты гексагона карты.
sceneries | Массив, в конец которого будут записаны все найденные объекты сценери.
Возвращает
Количество объектов сценери в указанном гексагоне карты.
uint GetSceneries | ( | uint16 | protoId,
 |  | Scenery @@+[] | sceneries
 | ) |  |

Позволяет получить все имеющиеся на карте объекты сценери с указанными прототипом.

Аргументы
protoId | Номер прототипа сценери.
sceneries | Массив, в конец которого будут записаны все найденные объекты сценери.
Возвращает
Количество найденных объектов сценери.

Данные класса

const uint Id

Идентификатор карты.

const bool IsNotValid

Позволяет определить валидность объекта.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Класс NpcPlane

  • Алфавитный указатель классов
  • Члены классов
Полный список членов класса
Класс NpcPlane
API сервера

План NPC. Подробнее...

Общие поля

300

int | Identifier
Идентификатор плана. Подробнее...
uint | IdentifierExt
Дополнительный идентификатор плана. Подробнее...
int | Type
Тип плана. Подробнее...
uint | Priority
Приоритет плана. Подробнее...
NpcPlane Child
Дочерний план. Подробнее...
bool | Run
Указывает, бежать ли криттеру при выполнении плана (true) или идти (false). Подробнее...

AI_PLANE_ATTACK

200

uint | Attack_TargId
Уникальный ID атакуемого криттера. Подробнее...
int | Attack_MinHp
Минимальное количество очков жизни у атакуемого криттера. Подробнее...
bool | Attack_IsGag
(?) Подробнее...
uint16 | Attack_GagHexX
(?) Подробнее...
uint16 | Attack_GagHexY
(?) Подробнее...
uint16 | Attack_LastHexX
(?) Подробнее...
uint16 | Attack_LastHexY
(?) Подробнее...

AI_PLANE_WALK

190

uint16 | Walk_HexX
Х-координата гексагона, к которому должен идти криттер. Подробнее...
uint16 | Walk_HexY
Y-координата гексагона, к которому должен идти криттер. Подробнее...
uint8 | Walk_Dir
Направление, в которое криттер повернется после того, как дойдет до указанного места. Подробнее...
uint | Walk_Cut
Определяет, за сколько гексагонов до указанного гексагона должен остановиться криттер. Подробнее...

AI_PLANE_PICK

180

uint16 | Pick_HexX
Х-координата гексагона, на котором находится предмет. Подробнее...
uint16 | Pick_HexY
Y-координата гексагона, на котором находится предмет. Подробнее...
uint16 | Pick_Pid
ID прототипа предмета. Подробнее...
uint | Pick_UseItemId
(?) Подробнее...
bool | Pick_ToOpen
Указывает, бежать ли криттеру при выполнении плана (true) или идти (false). Подробнее...

AI_PLANE_MISC

170

uint | Misc_WaitSecond
Определяет, до какой игровой секунды ждать. Подробнее...
int | Misc_ScriptId
Номер скрипта. Подробнее...
bool | Misc_SetScript (string &funcName)
Устанавливает имя вызываемой после ожидания функции. Подробнее...

Общие методы

100

NpcPlane GetCopy ()
Создаёт копию плана. Подробнее...
NpcPlane SetChild (NpcPlane &child)
Добавляет наследника плана. Подробнее...

Подробное описание

План NPC.

Методы

bool Misc_SetScript ( string & funcName )

Устанавливает имя вызываемой после ожидания функции.

Спецификация функции (см. template.fos):

void plane_FuncName(Critter& npc);
Аргументы
funcName Имя функции.
Возвращает
true – если функция успешно установлена; false – в противном случае.
NpcPlane GetCopy ( )

Создаёт копию плана.

NpcPlane SetChild ( NpcPlane & child )

Добавляет наследника плана.

Аргументы
child
Возвращает
(?)

Данные класса

int Identifier

Идентификатор плана.

uint IdentifierExt

Дополнительный идентификатор плана.

int Type

Тип плана.

См. Planes types.

uint Priority

Приоритет плана.

Для установки дефолтных значений для различных типов планов используйте константы Planes default priority.

NpcPlane Child

Дочерний план.

bool Run

Указывает, бежать ли криттеру при выполнении плана (true) или идти (false).

uint Attack_TargId

Уникальный ID атакуемого криттера.

int Attack_MinHp

Минимальное количество очков жизни у атакуемого криттера.

Если у атакуемого криттера очки жизни упали до Attack_MinHp, то NPC перестает атаковать его.

bool Attack_IsGag

(?)

uint16 Attack_GagHexX

(?)

uint16 Attack_GagHexY

(?)

uint16 Attack_LastHexX

(?)

uint16 Attack_LastHexY

(?)

uint16 Walk_HexX

Х-координата гексагона, к которому должен идти криттер.

uint16 Walk_HexY

Y-координата гексагона, к которому должен идти криттер.

uint8 Walk_Dir

Направление, в которое криттер повернется после того, как дойдет до указанного места.

Возможные значения: 0 – вверх-право, 1 – вправо, 2 – вниз-право и т.д.

uint Walk_Cut

Определяет, за сколько гексагонов до указанного гексагона должен остановиться криттер.

Если стоит – 0, то криттер встанет на указанный гексагон.

uint16 Pick_HexX

Х-координата гексагона, на котором находится предмет.

uint16 Pick_HexY

Y-координата гексагона, на котором находится предмет.

uint16 Pick_Pid

ID прототипа предмета.

См. файл ITEMPID.H.

uint Pick_UseItemId

(?)

bool Pick_ToOpen

Указывает, бежать ли криттеру при выполнении плана (true) или идти (false).

uint Misc_WaitSecond

Определяет, до какой игровой секунды ждать.

int Misc_ScriptId

Номер скрипта.

См. scripts.lst или _scripts.fos.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Класс ProtoItem

  • Алфавитный указатель классов
  • Члены классов
Открытые члены | Открытые атрибуты | Полный список членов класса
Класс ProtoItem
API сервера | API клиента

Прототип предметов. Подробнее...

Открытые члены

string GetScriptName ()
Возвращает имя скрипта указанного в прототипе. Подробнее...

Открытые атрибуты

const uint16 | ProtoId
ID прототипа предмета. Подробнее...
const int | Type
Тип предмета. Подробнее...
const bool | Stackable
Возможность стековатья (складываться вместе) Подробнее...
const bool | Deteriorable
Возможность износа предмета Подробнее...
const bool | GroundLevel
Находится ли доступ к предмету визуально на уровне земли. Подробнее...
const int | Corner
const int | Dir
const uint | StartCount
Cтартовое количество при создании предмета. Подробнее...
const uint8 | SoundId
const bool | DisableEgg
const uint16 | AnimWaitBase
const uint16 | AnimWaitRndMin
const uint16 | AnimWaitRndMax
const uint8 | AnimStay_0
const uint8 | AnimStay_1
const uint8 | AnimShow_0
const uint8 | AnimShow_1
const uint8 | AnimHide_0
const uint8 | AnimHide_1
const int16 | OffsetX
const int16 | OffsetY
const int8 | DrawOrderOffsetHexY
const uint8 | BlockLines
Позволяет предмету блокировать сразу несколько гексов Подробнее...
const uint16 | ChildPid_0
Механизм дочерних итемов Подробнее...
const uint16 | ChildPid_1
const uint16 | ChildPid_2
const uint16 | ChildPid_3
const uint16 | ChildPid_4
const uint8 | ChildLines_0
const uint8 | ChildLines_1
const uint8 | ChildLines_2
const uint8 | ChildLines_3
const uint8 | ChildLines_4
const int | Grid_Type
const uint | Car_Speed
const uint | Car_Passability
const uint | Car_DeteriorationRate
const uint | Car_CrittersCapacity
const uint | Car_TankVolume
const uint | Car_MaxDeterioration
const uint | Car_FuelConsumption
const uint | Car_Entrance
const uint | Car_MovementType
Общие поля

300

const uint | Flags
Флаги прототипа. Подробнее...
uint | HolodiskNum
uint16 | RadioChannel
uint16 | RadioFlags
Флаги рации (См. Подробнее...
uint8 | RadioBroadcastSend
uint8 | RadioBroadcastRecv
const uint8 | LightFlags
const uint8 | LightDistance
const int8 | LightIntensity
const uint | LightColor
const uint | Weight
Вес Подробнее...
const uint | Volume
Объем. Подробнее...
uint8 | IndicatorStart
Стартовое значение параметра заряда Подробнее...
uint8 | IndicatorMax
Максимальное значение индикатора заряда Подробнее...
const uint | PicMap
Изображение на карте (хэш пути) Подробнее...
const uint | PicInv
Изображение в инвентаре (хэш пути) Подробнее...
const uint8 | Sound
(?) Подробнее...
const uint | Cost
Базовая стоимость Подробнее...
const uint8 | Material
(?) Подробнее...
uint8 | Slot
Слот, которому принадлежит предмет. Подробнее...
Броня

290

const uint8 | Armor_CrTypeMale
(?) Подробнее...
const uint8 | Armor_CrTypeFemale
(?) Подробнее...
Контейнер

280

const uint | Container_Volume
const bool | Container_Changeble
const bool | Container_CannotPickUp
const bool | Container_MagicHandsGrnd
const uint16 | Locker_Condition
Двери

265

const bool | Door_NoBlockMove
const bool | Door_NoBlockShoot
const bool | Door_NoBlockLight
Боеприпасы

250

const uint | Ammo_Caliber
Калибр амуниции. Подробнее...
const int | Ammo_AcMod
Модификатор Armor Class. Подробнее...
const int | Ammo_DrMod
Модификатор Damage Resistance. Подробнее...
const uint | Ammo_DmgMult
Модификатор Damage Multiplier. Подробнее...
const uint | Ammo_DmgDiv
Модификатор Damage Divider. Подробнее...
Misc2
const int | StartValue_0
Начальное значение поля Item::Val0 для предмета, получаемого из прототипа. Подробнее...
const int | StartValue_1
Начальное значение поля Item::Val1 для предмета, получаемого из прототипа. Подробнее...
const int | StartValue_9
Начальное значение поля Item::Val9 для предмета, получаемого из прототипа. Подробнее...

Оружие

260

const bool | Weapon_IsUnarmed
Безоружная атака. Подробнее...
const int | Weapon_UnarmedTree
const int | Weapon_UnarmedPriority
const int | Weapon_UnarmedMinAgility
const int | Weapon_UnarmedMinUnarmed
const int | Weapon_UnarmedMinLevel
const uint8 | Weapon_MinStrength
Минимальная сила для использования без штрафов. Подробнее...
const uint | Weapon_ActiveUses
const uint8 | Weapon_Perk
Перк на оружии. Подробнее...
const uint8 | Weapon_Anim1
Первичный индекс анимации. Подробнее...
const uint16 | Weapon_VolumeHolder
Емкость обоймы. Подробнее...
const uint | Weapon_Caliber
Калибр зарядов. Подробнее...
const uint8 | Weapon_CriticalFailture
Критическая неудача. Подробнее...
const uint16 | Weapon_DefaultAmmoPid
PID амуниции по-умолчанию. Подробнее...
const uint | Weapon_MaxAmmoCount
Максимальное количество патронов. Подробнее...
const uint8 | Weapon_Skill_0
Навык, влияющий на использование. Подробнее...
const uint8 | Weapon_Skill_1
Навык, влияющий на использование. Подробнее...
const uint8 | Weapon_Skill_2
Навык, влияющий на использование. Подробнее...
const uint8 | Weapon_DmgType_F
Тип повреждений. Подробнее...
const uint8 | Weapon_DmgType_S
Тип повреждений. Подробнее...
const uint8 | Weapon_DmgType_T
Тип повреждений. Подробнее...
const uint8 | Weapon_Anim2_F
Вторичный индекс анимации. Подробнее...
const uint8 | Weapon_Anim2_S
Вторичный индекс анимации. Подробнее...
const uint8 | Weapon_Anim2_T
Вторичный индекс анимации. Подробнее...
const uint16 | Weapon_DmgMin_F
Минимальное повреждение. Подробнее...
const uint16 | Weapon_DmgMin_S
Минимальное повреждение. Подробнее...
const uint16 | Weapon_DmgMin_T
Минимальное повреждение. Подробнее...
const uint16 | Weapon_DmgMax_F
Максимальное повреждение. Подробнее...
const uint16 | Weapon_DmgMax_S
Максимальное повреждение. Подробнее...
const uint16 | Weapon_DmgMax_T
Максимальное повреждение. Подробнее...
const uint16 | Weapon_MaxDist_0
Максимальная дистанция. Подробнее...
const uint16 | Weapon_MaxDist_1
Максимальная дистанция. Подробнее...
const uint16 | Weapon_MaxDist_2
Максимальная дистанция. Подробнее...
const uint | Weapon_Round_0
Расход обоймы за выстрел. Подробнее...
const uint | Weapon_Round_1
Расход обоймы за выстрел. Подробнее...
const uint | Weapon_Round_2
Расход обоймы за выстрел. Подробнее...
const uint8 | Weapon_ApCost_0
Базовая стоимость очков действий. Подробнее...
const uint8 | Weapon_ApCost_1
Базовая стоимость очков действий. Подробнее...
const uint8 | Weapon_ApCost_2
Базовая стоимость очков действий. Подробнее...
const uint8 | Weapon_SoundId_0
Индекс звука на оружии. Подробнее...
const uint8 | Weapon_SoundId_1
Индекс звука на оружии. Подробнее...
const uint8 | Weapon_SoundId_2
Индекс звука на оружии. Подробнее...
const bool | Weapon_Remove_F
Удаляется ли оружие после использования (например, метательное). Подробнее...
const bool | Weapon_Remove_S
Удаляется ли оружие после использования (например, метательное). Подробнее...
const bool | Weapon_Remove_T
Удаляется ли оружие после использования (например, метательное). Подробнее...
const bool | Weapon_Aim_F
const bool | Weapon_Aim_S
const bool | Weapon_Aim_T
const uint | Weapon_PicUse_0
const uint | Weapon_PicUse_1
const uint | Weapon_PicUse_2
void | Weapon_SetUse (uint8 use)
Позволяет установить текущее значение типа использования оружия. Подробнее...

Подробное описание

Прототип предметов.

Все возможности класса доступны как при скриптинге сервера, так и при скриптинге клиента.

Заметки
Все поля доступны только для чтения.

Добавлена возможность добавления своих полей в класс прототипа, для этого используется новая прагма 'bindfield', пример: #pragma bindfield "const int ProtoItem::MyValue -> 400" что означает создание поля MyValue типа int на смещении 400 (с учетом размера int 4 байта оно будет занимать байты 400, 401, 402, 403). Всего под пользовательские поля отведено 500 байт. По-умолчанию поле равно нулю, но значение можно изменить прописав в файле прототипа (.fopro) значение (в данном случае MyValue=111 или MyValue=SkillBigGuns). Значение может быть константой (ищется в DefineNames.lst), числом (если содержит только числа) или путем к файлу (определяется по наличию символов '/' или '\'). Сейчас поля, которые не используются движком, вынесены в скрипты, смотрите _defines.fos Item prototypes fields.

Методы

void Weapon_SetUse ( uint8 use )

Позволяет установить текущее значение типа использования оружия.

Аргументы
use Устанавливаемый тип использования. Может принимать следующие значения:
  • Primary use – 0;
  • Secondary use – 1;
  • Third use – 2.
string GetScriptName ( )

Возвращает имя скрипта указанного в прототипе.

Данные класса

const uint Flags

Флаги прототипа.

См. Item flags.

uint HolodiskNum
uint16 RadioChannel
uint16 RadioFlags

Флаги рации (См.

Radio flags)

uint8 RadioBroadcastSend
uint8 RadioBroadcastRecv
const uint8 LightFlags
const uint8 LightDistance
const int8 LightIntensity
const uint LightColor
const uint Weight

Вес

const uint Volume

Объем.

uint8 IndicatorStart

Стартовое значение параметра заряда

uint8 IndicatorMax

Максимальное значение индикатора заряда

const uint PicMap

Изображение на карте (хэш пути)

const uint PicInv

Изображение в инвентаре (хэш пути)

const uint8 Sound

(?)

const uint Cost

Базовая стоимость

const uint8 Material

(?)

uint8 Slot

Слот, которому принадлежит предмет.

См. Слоты.

const uint8 Armor_CrTypeMale

(?)

const uint8 Armor_CrTypeFemale

(?)

const uint Container_Volume
const bool Container_Changeble
const bool Container_CannotPickUp
const bool Container_MagicHandsGrnd
const uint16 Locker_Condition
const bool Door_NoBlockMove
const bool Door_NoBlockShoot
const bool Door_NoBlockLight
const bool Weapon_IsUnarmed

Безоружная атака.

const int Weapon_UnarmedTree
const int Weapon_UnarmedPriority
const int Weapon_UnarmedMinAgility
const int Weapon_UnarmedMinUnarmed
const int Weapon_UnarmedMinLevel
const uint8 Weapon_MinStrength

Минимальная сила для использования без штрафов.

const uint Weapon_ActiveUses
const uint8 Weapon_Perk

Перк на оружии.

const uint8 Weapon_Anim1

Первичный индекс анимации.

const uint16 Weapon_VolumeHolder

Емкость обоймы.

const uint Weapon_Caliber

Калибр зарядов.

const uint8 Weapon_CriticalFailture

Критическая неудача.

const uint16 Weapon_DefaultAmmoPid

PID амуниции по-умолчанию.

const uint Weapon_MaxAmmoCount

Максимальное количество патронов.

const uint8 Weapon_Skill_0

Навык, влияющий на использование.

const uint8 Weapon_Skill_1

Навык, влияющий на использование.

const uint8 Weapon_Skill_2

Навык, влияющий на использование.

const uint8 Weapon_DmgType_F

Тип повреждений.

const uint8 Weapon_DmgType_S

Тип повреждений.

const uint8 Weapon_DmgType_T

Тип повреждений.

const uint8 Weapon_Anim2_F

Вторичный индекс анимации.

const uint8 Weapon_Anim2_S

Вторичный индекс анимации.

const uint8 Weapon_Anim2_T

Вторичный индекс анимации.

const uint16 Weapon_DmgMin_F

Минимальное повреждение.

const uint16 Weapon_DmgMin_S

Минимальное повреждение.

const uint16 Weapon_DmgMin_T

Минимальное повреждение.

const uint16 Weapon_DmgMax_F

Максимальное повреждение.

const uint16 Weapon_DmgMax_S

Максимальное повреждение.

const uint16 Weapon_DmgMax_T

Максимальное повреждение.

const uint16 Weapon_MaxDist_0

Максимальная дистанция.

const uint16 Weapon_MaxDist_1

Максимальная дистанция.

const uint16 Weapon_MaxDist_2

Максимальная дистанция.

const uint Weapon_Round_0

Расход обоймы за выстрел.

const uint Weapon_Round_1

Расход обоймы за выстрел.

const uint Weapon_Round_2

Расход обоймы за выстрел.

const uint8 Weapon_ApCost_0

Базовая стоимость очков действий.

const uint8 Weapon_ApCost_1

Базовая стоимость очков действий.

const uint8 Weapon_ApCost_2

Базовая стоимость очков действий.

const uint8 Weapon_SoundId_0

Индекс звука на оружии.

const uint8 Weapon_SoundId_1

Индекс звука на оружии.

const uint8 Weapon_SoundId_2

Индекс звука на оружии.

const bool Weapon_Remove_F

Удаляется ли оружие после использования (например, метательное).

const bool Weapon_Remove_S

Удаляется ли оружие после использования (например, метательное).

const bool Weapon_Remove_T

Удаляется ли оружие после использования (например, метательное).

const bool Weapon_Aim_F
const bool Weapon_Aim_S
const bool Weapon_Aim_T
const uint Weapon_PicUse_0
const uint Weapon_PicUse_1
const uint Weapon_PicUse_2
const uint Ammo_Caliber

Калибр амуниции.

const int Ammo_AcMod

Модификатор Armor Class.

const int Ammo_DrMod

Модификатор Damage Resistance.

const uint Ammo_DmgMult

Модификатор Damage Multiplier.

const uint Ammo_DmgDiv

Модификатор Damage Divider.

const int StartValue_0

Начальное значение поля Item::Val0 для предмета, получаемого из прототипа.

const int StartValue_1

Начальное значение поля Item::Val1 для предмета, получаемого из прототипа.

const int StartValue_9

Начальное значение поля Item::Val9 для предмета, получаемого из прототипа.

const uint16 ProtoId

ID прототипа предмета.

const int Type

Тип предмета.

const bool Stackable

Возможность стековатья (складываться вместе)

const bool Deteriorable

Возможность износа предмета

const bool GroundLevel

Находится ли доступ к предмету визуально на уровне земли.

const int Corner
const int Dir
const uint StartCount

Cтартовое количество при создании предмета.

const uint8 SoundId
const bool DisableEgg
const uint16 AnimWaitBase
const uint16 AnimWaitRndMin
const uint16 AnimWaitRndMax
const uint8 AnimStay_0
const uint8 AnimStay_1
const uint8 AnimShow_0
const uint8 AnimShow_1
const uint8 AnimHide_0
const uint8 AnimHide_1
const int16 OffsetX
const int16 OffsetY
const int8 DrawOrderOffsetHexY
const uint8 BlockLines

Позволяет предмету блокировать сразу несколько гексов

Формат записи для Child/BlockLines - XYXYXY..., где X номер направления (0..5/7), а Y количество шагов (1..9) в данном направлении (для багажников раньше была другая форма записи XXXX...).

Максимальное количество шагов для BlockLines - 50.

const uint16 ChildPid_0

Механизм дочерних итемов

Один предмет может иметь до пяти производных. Номера производных предметов задаются в uint16 ProtoItem::ChildPid_0..4. При создании базового предмета производные создаются автоматически.

Максимальное количество шагов для ChildLines - 6.

const uint16 ChildPid_1
const uint16 ChildPid_2
const uint16 ChildPid_3
const uint16 ChildPid_4
const uint8 ChildLines_0
const uint8 ChildLines_1
const uint8 ChildLines_2
const uint8 ChildLines_3
const uint8 ChildLines_4
const int Grid_Type
const uint Car_Speed
const uint Car_Passability
const uint Car_DeteriorationRate
const uint Car_CrittersCapacity
const uint Car_TankVolume
const uint Car_MaxDeterioration
const uint Car_FuelConsumption
const uint Car_Entrance
const uint Car_MovementType
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Класс Scenery

  • Алфавитный указатель классов
  • Члены классов
Открытые члены | Открытые атрибуты | Полный список членов класса
Класс Scenery
API сервера

Сценери. Подробнее...

Открытые члены

bool CallSceneryFunction (Critter &cr, int skill, Item @item)
Вызывает функцию сценери ассоциированную с указанным Scenery объектом. Подробнее...

Открытые атрибуты

const uint16 | HexX
Координата месторасположения по оси X. Подробнее...
const uint16 | HexY
Координата месторасположения по оси Y. Подробнее...
const uint16 | ProtoId
ID прототипа. Подробнее...

Подробное описание

Сценери.

Методы

bool CallSceneryFunction | ( | Critter & | cr,
 |  | int | skill,
 |  | Item @ | item
 | ) |  |

Вызывает функцию сценери ассоциированную с указанным Scenery объектом.

Аргументы
cr | Криттер запустивший функцию.
skill | Скилл который использует криттер.
item | Предмет который использует криттер.

Данные класса

const uint16 HexX

Координата месторасположения по оси X.

const uint16 HexY

Координата месторасположения по оси Y.

const uint16 ProtoId

ID прототипа.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: API клиента

Группы | Классы | Переменные
API клиента

Группы

Зарезервированные скриптовые функции (Клиент)

Классы

class | CritterCl
Функционально ограниченный эквивалент класса Critter, доступный при скриптинге клиента. Подробнее...
class | ItemCl
Функционально ограниченный эквивалент класса Item, доступный при скриптинге клиента. Подробнее...
class | ProtoItem
Прототип предметов. Подробнее...

Переменные

bool | __HideCursor = false
Отображается ли курсор в клиенте. Подробнее...
uint8 | __RoofAlpha
Степень прозрачности крыш. Подробнее...
bool | __DisableLMenu
Отключено ли всплывающее меню. Подробнее...
bool | __DisableMouseEvents
Отключена ли реакция движка на события от мышки. Подробнее...
bool | __DisableKeyboardEvents
Отключена ли реакция движка на события от клавиатуры. Подробнее...
string __PlayerOffAppendix
Хранит строку, которая будет отображаться в нике клиента при его дисконнекте. Подробнее...
uint | __DamageHitDelay
Индикация количества хитов и её время. Подробнее...
int | __RunModMul = 1
int | __RunModDiv = 1
int | __RunModAdd = 0
bool | __DiLeft
bool | __DiRight
bool | __DiUp
bool | __DiDown
bool | __DiMleft
bool | __DiMright
bool | __DiMup
bool | __DiMdown
bool | __ShowGroups
bool | __DebugInfo
int | __FlushVal
int | __BaseTex
int | __ScreenClear
int | __Light
uint | __ScrollDelay
int | __ScrollStep
bool | __MouseScroll
bool | __ScrollCheck
int | __MouseSpeed
bool | __GlobalSound
string __FoPatchPath
string __FoDataPath
string __Name
string __Pass
uint | __TextDelay
bool | __MsgboxInvert
int | __ChangeLang
uint8 | __DefaultCombatMode
bool | __MessNotify
bool | __SoundNotify
int | __IndicatorType
uint | __DoubleClickTime
bool | __ShowTile
Отображение тайлов. Подробнее...
bool | __ShowRoof
Отображение крыши. Подробнее...
bool | __ShowItem
Отображение предметов. Подробнее...
bool | __ShowScen
Отображение Сценери. Подробнее...
bool | __ShowWall
Отображение стен. Подробнее...
bool | __ShowCrit
Отображение персонажей. Подробнее...
bool | __ShowFast
Отображение объектов из группы Fast. Подробнее...
bool | __ShowPlayerNames
Отображение имен игроков. Подробнее...
bool | __ShowNpcNames
Отображение имен НПЦ. Подробнее...
bool | __ShowCritId
Отображение идентификаторов персонажей. Подробнее...
bool | __HidePassword
Скрывать ли пароль в окне логина Подробнее...
bool | __GmapActive
активна ли глобальная карта и все ли следующие нижеприведенные переменные корректны. Подробнее...
bool | __GmapWait
включен режим ожидания ответа о подтверждении энкаунтера. Подробнее...
float | __GmapZoom
текущий масштаб, не забывайте учитывать его при рисовании на карте. Подробнее...
int | __GmapOffsetX
смещение карты от нулевой координаты (верхний-левый угол). Подробнее...
int | __GmapOffsetY
int | __GmapGroupCurX
координаты группы игрока. Подробнее...
int | __GmapGroupCurXY
int | __GmapGroupToXX
координаты точки назначения. Подробнее...
int | __GmapGroupToXY
string __ClientPath
Путь к папке клиента. Подробнее...
string __ServerPath
Путь к папке сервера. Подробнее...
bool | __ConsoleActive
индикация открытой консоли. Подробнее...
uint | __NpcMaxTalkers
максимальное количество одновременно запущенных для нпц диалогов по-умолчанию Подробнее...
int | __CombatMessagesType
Боевые сообщения Подробнее...
uint | __Anim2CombatBegin
Для определения анимаций боевого режима. Подробнее...
uint | __Anim2CombatIdle
Для определения анимаций боевого режима. Подробнее...
uint | __Anim2CombatEnd
Для определения анимаций боевого режима. Подробнее...
uint | __CritterFidgetTime
частота вызова анимации "дурачества". Подробнее...

Геомертия игровой сетки

В скрипте config.fos, в функции InitializeGeometry(), добавлены необходимые настройки для трех игр: Fallout1/2, Fallout Tactics и Arcanum.

Данная функция вызывается в скриптах сервера, клиента и маппера, т.к. информация о геометрии нужна всем трем. Четырехугольная изометрия использует восемь направлений, гексогональная шесть.
Рабочие спрайты для геометрии находятся в art/geometry/.

bool | __MapHexagonal
Тип изометрии Подробнее...
int | __MapHexWidth
Ширина гекса Подробнее...
int | __MapHexHeight
Высота гекса Подробнее...
int | __MapHexLineHeight
Высота линии гексов Подробнее...
int | __MapTileOffsX
Смещение тайлов земли по горизонтали Подробнее...
int | __MapTileOffsY
Смещение тайлов земли по вертикали Подробнее...
int | __MapRoofOffsX
Смещение тайлов крыши по горизонтали Подробнее...
int | __MapRoofOffsY
Смещение тайлов крыши по вертикали Подробнее...
int | __MapRoofSkipSize
Кол-во гексов на один тайл крыши (нужно для его корректного скрывания) Подробнее...
float | __MapCameraAngle
Угол для рендеринга трехмерных моделей Подробнее...
bool | __MapSmoothPath
Сглаживание пути при перемещениях Подробнее...
string __MapDataPrefix
Путь и префикс для файлов геометрии Подробнее...

Настройки сети

string __Host
Хост игрового сервера. Подробнее...
uint | __Port
Порт игрового сервера. Подробнее...
uint | __ProxyType
Тип прокси сервера. Подробнее...
string __ProxyHost
Хост прокси сервера. Подробнее...
uint | __ProxyPort
Порт прокси сервера. Подробнее...
string __ProxyUser
Логин к прокси серверу. Подробнее...
string __ProxyPass
Пароль к прокси серверу. Подробнее...

Настройки видео

const int | __ScreenWidth
Ширина экрана. Подробнее...
const int | __ScreenHeight
Высота экрана. Подробнее...
bool | __FullScr
Полноэкранный режим. Подробнее...
bool | __VSync
Вертикальная синхронизация. Подробнее...
bool | __AlwaysOnTop
Поверх всех окон. Подробнее...
uint | __FixedFPS
Установка фиксированного FPS. Подробнее...
bool | __OpenGLRendering
true - OpenGL, false - DirectX. Подробнее...
uint | __FPS
Текущий FPS. Подробнее...
uint | __PingPeriod
Период пинга (по-умолчанию 2000 мс). Подробнее...
uint | __Ping
Текущий пинг. Подробнее...
bool | __MapZooming
Включает механизи зуминга карты. Подробнее...
bool | __AssimpLogging
Необходима для отладки загрузки трехмерной графики. Подробнее...
bool | __Quit
При установке переменной в true, клиент закрывается Подробнее...

Общие функции

300

CritterCl GetChosen ()
Позволяет получить указатель на криттера-игрока, для которого запущен клиент. Подробнее...
bool | IsTurnBased ()
(?) Подробнее...
uint16 | GetCurrentMapPid ()
(?) Подробнее...
uint | GetChosenActions (uint[]@actions)
Для взятия действий чузена Подробнее...
void | SetChosenActions (uint[]@actions)
Для установки действий чузена Подробнее...
string GetLastError ()
Возвращает описание последней ошибки. Подробнее...
void | Log (string &text)
Заносит запись в лог-файл клиента. Подробнее...
bool | StrToInt (string @+text, int &result)
Конвертирует текст в число. Подробнее...
bool | StrToFloat (string @+text, float &result)
Конвертирует текст в вещественное число. Подробнее...
int | Random (int minimum, int maximum)
Возвращает рандомное значение. Подробнее...
ItemCl | GetItem (uint itemId)
Ищет предмет с указанным уникальным идентификатором. Подробнее...
ProtoItem | GetProtoItem (uint16 protoId)
Ищет прототип предмета, имеющий указанный идентификатор. Подробнее...
void | Message (string &msg)
Выводит текст в окно сообщений клиента. Подробнее...
void | Message (int textMsg, uint strNum)
Выводит текст из файла в окно сообщений клиента. Подробнее...
void | Message (string &msg, int type)
Выводит текст в окно сообщений клиента. Подробнее...
void | Message (int textMsg, uint strNum, int type)
Выводит текст из файла в окно сообщений клиента. Подробнее...
bool | LoadDat (string &datName)
Загружает dat-файл. Подробнее...
uint | GetTick ()
Возвращает текущее время работы компьютера в миллисекундах. Подробнее...
void | RunServerScript (string &funcName, int p0, int p1, int p2, string @+p3, int[]@+p4)
Запускает скрипт на сервере. Подробнее...
void | RunServerScriptUnsafe (string &funcName, int p0, int p1, int p2, string @+p3, int[]@+p4)
Запускает скрипт на сервере без проверок прав доступа в движке. Подробнее...
int | GetFog (uint16 zoneX, uint16 zoneY)
Позволяет получить состояние видимости указанной зоны глобальной карты мира для игрока. Подробнее...
string | GetIfaceIniStr (string &key)
Возвращает значение для указанного ключа в ini-файле интерфейса. Подробнее...
void | WaitPing ()
Для включения часов ожидания на время сигнала серверу и его ответа (т. Подробнее...

Функции для работы со строками

string | GetMsgStr (int textMsg, uint strNum)
Позволяет получить строку из указанного MSG файла. Подробнее...
string | GetMsgStr (int textMsg, uint strNum, uint skipCount)
Позволяет получить строку из указанного MSG файла. Подробнее...
uint | GetMsgStrNumUpper (int textMsg, uint strNum)
Ищет первый номер валидной строки выше заданного номера. Подробнее...
uint | GetMsgStrNumLower (int textMsg, uint strNum)
Ищет первый номер валидной строки ниже заданного номера. Подробнее...
uint | GetMsgStrCount (int textMsg, uint strNum)
Возвращает количество строк в файле, имеющих заданный номер. Подробнее...
bool | IsMsgStr (int textMsg, uint strNum)
Проверяет, существует ли хотя бы одна строка с заданным номером. Подробнее...
string | ReplaceText (const string &text, const string &replace, const string &str)
Заменяет в text первую подстроку replace на строку str. Подробнее...
string | ReplaceText (const string &text, const string &replace, int i)
Заменяет в text первую подстроку replace на целое i. Подробнее...
string | FormatTags (const string &text, const string @+lexems)
Форматирует тэги. Подробнее...
bool | LoadFont (int font, string &fontFileName)
Загружает шрифт. Подробнее...
void | SetDefaultFont (int font, uint color)
Устанавливает шрифт по-умолчанию и его цвет. Подробнее...

Функции для гексагонов

uint8 | GetDirection (uint16 fromX, uint16 fromY, uint16 toX, uint16 toY)
Определяет направление, в котором находится гексагон №2 относительно гексагона №1. Подробнее...
uint | GetDistantion (uint16 hexX1, uint16 hexY1, uint16 hexX2, uint16 hexY2)
Определяет дистанцию между двумя гексагонами. Подробнее...
uint | GetCrittersDistantion (CritterCl &cr1, CritterCl &cr2)
Определяет дистанцию между двумя криттерами. Подробнее...
void | MoveHexByDir (uint16 &hexX, uint16 &hexY, uint8 dir, uint steps)
Двигает гексы hx, hy в направлении dir на steps шагов. Подробнее...
void | GetHexCoord (uint16 fromHx, uint16 fromHy, uint16 &toHx, uint16 &toHy, float angle, uint dist)
Позволяет получить координаты гексагона, достигнутого при трассировке по указанной траектории. Подробнее...
uint | GetPathLength (uint16 fromHx, uint16 fromHy, uint16 toHx, uint16 toHy, uint cut)
Определяет длину пути между гексагонами. Подробнее...
uint | GetPathLength (CritterCl &cr, uint16 toHx, uint16 toHy, uint cut)
Определяет длину пути от персонажа до указанного гекса учитывая мултигексовость персонажа. Подробнее...
uint8 | GetOffsetDir (uint16 hx, uint16 hy, uint16 tx, uint16 ty, float offset)
(?) Подробнее...

Функции для визуальных и прочих эффектов

void | FlushScreen (uint fromColor, uint toColor, uint timeMs)
Создает переход цветов на экране игрока. Подробнее...
void | PlaySound (string &soundName)
Проигрывает в клиенте звук с указанным именем. Подробнее...
void | PlaySound (uint8 soundType, uint8 soundTypeExt, uint8 soundId, uint8 soundIdExt)
Проигрывает в клиенте звук с указанными составляющими. Подробнее...
void | QuakeScreen (uint noise, uint ms)
Активизирует эффект землетрясения. Подробнее...
void | PlayMusic (string &musicName, uint pos, uint repeat)
Проигрывает музыку в клиенте. Подробнее...
void | PlayVideo (string &videoName, bool canStop)
Проигрывает видео в клиенте. Подробнее...

Функции для работы со временем

uint | GetFullSecond (uint16 year, uint16 month, uint16 day, uint16 hour, uint16 minute, uint16 second)
Возвращает значение года, месяца, дня, часа, минуты и секунды в полных секундах. Подробнее...
void | GetTime (uint16 &year, uint16 &month, uint16 &day_of_week, uint16 &day, uint16 &hour, uint16 &minute, uint16 &second, uint16 &milliseconds)
Позволяет получить текущее локальное время. Подробнее...
void | GetGameTime (uint fullSecond, uint16 &year, uint16 &month, uint16 &dayOfWeek, uint16 &day, uint16 &hour, uint16 &minute, uint16 &second)
Вычисляет игровое время по указанной полной секунде. Подробнее...

Для работы с графикой

uint | LoadSprite (string &name, int pathIndex)
Загружает один спрайт или анимацию из файла. Подробнее...
uint | LoadSprite (uint nameHash, uint8 dir)
Загружает один спрайт или анимацию из файла. Подробнее...
int | GetSpriteWidth (uint sprId, int sprIndex)
Возвращает ширину указанного спрайта. Подробнее...
int | GetSpriteHeight (uint sprId, int sprIndex)
Возвращает высоту указанного спрайта. Подробнее...
uint | GetSpriteCount (uint sprId)
Возвращает количество спрайтов в указанной анимации. Подробнее...
void | DrawSprite (uint sprId, int sprIndex, int x, int y, uint color)
Отрисовывает спрайт в указанной позиции. Подробнее...
void | DrawSprite (uint sprId, int sprIndex, int x, int y, int w, int h, bool scratch, bool center, uint color)
Отрисовывает спрайт в указанной прямоугольной области. Подробнее...
void | DrawSpritePattern (uint sprId, int sprIndex, int x, int y, int w, int h, int sprWidth, int sprHeight, uint color)
Отрисовывает спрайт в указанной прямоугольной области c полным ее заполнением, своими копиями. Подробнее...
void | DrawText (string &text, int x, int y, int w, int h, uint color, int font, int flags)
Выводит текст. Подробнее...
void | DrawPrimitive (int primitiveType, int[]&data)
Рисует примитив. Подробнее...
void | DrawMapSprite (uint16 hx, uint16 hy, uint16 effectPid, uint sprId, int sprIndex, int offsX, int offsY)
Выводит спрайт в определенной позиции на карте. Подробнее...
void | DrawCritter2d (uint crType, uint anim1, uint anim2, uint8 dir, int l, int t, int r, int b, bool scratch, bool center, uint color)
Функция для отрисовки как элемента интерфейса произвольных криттеров, имеющих двухмерную анимацию. Подробнее...
void | DrawCritter3d (uint instance, uint crType, uint anim1, uint anim2, int[]@+layers, float[]@+position, uint color)
Функция для отрисовки как элемента интерфейса произвольных криттеров, имеющих трехмерную анимацию. Подробнее...

Для работы с экраном

bool | GetHexPos (uint16 hx, uint16 hy, int &x, int &y)
Позволяет получить экранные координаты центра указанного гексагона. Подробнее...
bool | GetMonitorHex (int x, int y, uint16 &hx, uint16 &hy)
Позволяет получить координаты гексагона, находящегося в указанных экранных координатах. Подробнее...
CritterCl | GetMonitorCritter (int x, int y)
Возвращает игрока под указанными координатами на экране. Подробнее...
ItemCl | GetMonitorItem (int x, int y)
Возвращает предмет под указанными координатами на экране. Подробнее...
void | LockScreenScroll (CritterCl @+cr)
Фиксирует прокрутку на указанном криттере. Подробнее...
void | MoveScreen (uint16 hexX, uint16 hexY, uint speed)
Прокручивает экран клиента в нужную позицию. Подробнее...
void | ShowScreen (int screen, int p0, int p1, int p2)
Показать окно. Подробнее...
void | HideScreen (int screen, int p0, int p1, int p2)
Скрыть окно. Подробнее...
void | GetHardcodedScreenPos (int screen, int &x, int &y)
Возвращает позицию движковых окон. Подробнее...
void | DrawHardcodedScreen (int screen)
Рисует движковое окно. Подробнее...
int | GetKeybLang ()
Возвращает текущую раскладку клавиатуры. Подробнее...
void | KeyboardPress (uint8 key1, uint8 key2)
Обработка нажатия одной или двух клавиш. Подробнее...
void | MouseClick (int x, int y, int button, int cursor)
Возывается при клике мышью. Подробнее...

Для работы с курсором мыши

int | GetCurrentCursor ()
Возвращает текущий курсор. Подробнее...
int | GetLastCursor ()
(?) Подробнее...
void | ChangeCursor (int cursor)
Меняет курсор. Подробнее...

Для криттеров

CritterCl | GetCritter (uint critterId)
Ищет криттера с указанным уникальным идентификатором. Подробнее...
uint | GetCrittersHex (uint16 hexX, uint16 hexY, uint radius, int findType, CritterCl @[]@+critters)
Находит криттеров, находящихся в указанной области. Подробнее...
uint | GetCritters (uint16 pid, int findType, CritterCl @[]@+critters)
Находит всех криттеров, имеющих указанный прототип. Подробнее...
uint | GetCrittersPath (uint16 fromHx, uint16 fromHy, uint16 toHx, uint16 toHy, float angle, uint dist, int findType, CritterCl @[]@+critters)
Проводит трассировку с указанными параметрами и находит всех криттеров, под неё попавших. Подробнее...
uint | GetCrittersPath (uint16 fromHx, uint16 fromHy, uint16 toHx, uint16 toHy, float angle, uint dist, int findType, CritterCl @[]@+critters, uint16 &preBlockHx, uint16 &preBlockHy, uint16 &blockHx, uint16 &blockHy)
Проводит трассировку с указанными параметрами и находит всех криттеров, под неё попавших. Подробнее...
void | SetRainAnimation (string @fallAnimName, string @dropAnimName)
Устанавливает имена анимаций для падающей и упавшей капли по-умолчанию значения равны "art/misc/rain_fall.fofrm" и "art/misc/rain_drop.fofrm". Подробнее...

Функции для работы с константами (*Names.lst)

int | GetConstantValue (int constCollection, string @+name)
Определение значения константы по имени. Подробнее...
string | GetConstantName (int constCollection, int value)
Определение имени константы по значению. Подробнее...
void | AddConstant (int constCollection, string @+name, int value)
Добавление отдельной константы в коллекцию. Подробнее...
bool | LoadConstants (int constCollection, string @+fileName, int pathType)
Загрузка/перезагрузка коллекции. Подробнее...

Прочие функции

bool | AppendIfaceIni (string &iniName)
Подключает дополнительные ini файлы. Подробнее...
bool | SetEffect (int effectType, int effectSubtype, string @+effectName, string @+effectDefines=null)
Устанавливет шейдерный эффект. Подробнее...

Подробное описание

Функции

CritterCl GetChosen ( )

Позволяет получить указатель на криттера-игрока, для которого запущен клиент.

Возвращает
Указатель на экземпляр класса CritterCl, представляющий игрока.
bool IsTurnBased ( )

(?)

uint16 GetCurrentMapPid ( )

(?)

uint GetChosenActions ( uint @[] actions )

Для взятия действий чузена

Аргументы
actions Массив состоит из блоков по семь переменных, первая это тип, остальные шесть это параметры. Значение типов и параметров смотрите в _client_defines.fos Chosen actions
Возвращает
(?)
void SetChosenActions ( uint @[] actions )

Для установки действий чузена

Аргументы
actions Массив состоит из блоков по семь переменных, первая это тип, остальные шесть это параметры. Значение типов и параметров смотрите в _client_defines.fos Chosen actions
string GetLastError ( )

Возвращает описание последней ошибки.

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

Возвращает
Описание ошибки.
void Log ( string & text )

Заносит запись в лог-файл клиента.

Аргументы
text Текст записи.
bool StrToInt | ( | string @+ | text,
 |  | int & | result
 | ) |  |

Конвертирует текст в число.

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

Аргументы
text | Строка, содержащая число.
result | Переменная, в которую записывается результат преобразования.
Возвращает
true – в случае удачного преобразования; false – в противном случае.
bool StrToFloat | ( | string @+ | text,
 |  | float & | result
 | ) |  |

Конвертирует текст в вещественное число.

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

Аргументы
text | Строка, содержащая число.
result | Переменная, в которую записывается результат преобразования.
Возвращает
true – в случае удачного преобразования; false – в противном случае.
int Random | ( | int | minimum,
 |  | int | maximum
 | ) |  |

Возвращает рандомное значение.

Аргументы
minimum | Минимальное значение.
maximum | Максимальное значение.
Возвращает
Случайное значение в пределах minimum и maximum, включительно.
ItemCl GetItem ( uint itemId )

Ищет предмет с указанным уникальным идентификатором.

Аргументы
itemId Уникальный идентификатор, по которому осуществляется поиск.
Возвращает
Указатель на экземпляр класса ItemCl с указанным идентификатором. В случае провала – null.
ProtoItem GetProtoItem ( uint16 protoId )

Ищет прототип предмета, имеющий указанный идентификатор.

Аргументы
protoId Идентификатор прототипа предмета (см. файл ITEMPID.H).
Возвращает
Указатель на экземпляр класса ProtoItem. При провале – null.
void Message ( string & msg )

Выводит текст в окно сообщений клиента.

Аргументы
msg Выводимый текст.
Прим.
Для вывода текста используется тип FOMB_GAME.
См. также
Message(string, int)
void Message | ( | int | textMsg,
 |  | uint | strNum
 | ) |  |

Выводит текст из файла в окно сообщений клиента.

Аргументы
textMsg | Название файла с текстами (см. Msg nums).
strNum | Номер строки в файле.
Прим.
Для вывода текста используется тип FOMB_GAME.
См. также
Message(int, uint, int)
void Message | ( | string & | msg,
 |  | int | type
 | ) |  |

Выводит текст в окно сообщений клиента.

Аргументы
msg | Выводимый текст.
type | Тип сообщения (см. MessageBox message types).
void Message | ( | int | textMsg,
 |  | uint | strNum,
 |  | int | type
 | ) |  |

Выводит текст из файла в окно сообщений клиента.

Аргументы
textMsg | Название файла с текстами (см. Msg nums).
strNum | Номер строки в файле.
type | Тип сообщения (см. MessageBox message types).
bool LoadDat ( string & datName )

Загружает dat-файл.

Приоритет проверки файлов распределяется по порядку загрузки. Весь цикл загрузки:

  1. Распакованные файлы в папке data
  2. Загруженные с помощью LoadDat dat-файлы. В обратном порядке загрузки
  3. fonline.dat
  4. critter.dat
  5. master.dat
Аргументы
datName Имя dat-файла.
uint GetTick ( )

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

void RunServerScript | ( | string & | funcName,
 |  | int | p0,
 |  | int | p1,
 |  | int | p2,
 |  | string @+ | p3,
 |  | int @+[] | p4
 | ) |  |

Запускает скрипт на сервере.

Сигнатура вызываемой функции:

void _FuncName(Critter& player, int param0, int param1, int param2, string@ param3, int[]@ param4)
  • player Игрок, который вызвал функцию.
Аргументы
funcName | Полное имя функции (с модулем).
p0,p1,p2,p3,p4 | Значения для передаваемых в функцию параметров.
Прим.
Для вызова функции игроку необходимы права модератора или адинистратора.
См. также
Critter::RunClientScript
void RunServerScriptUnsafe | ( | string & | funcName,
 |  | int | p0,
 |  | int | p1,
 |  | int | p2,
 |  | string @+ | p3,
 |  | int @+[] | p4
 | ) |  |

Запускает скрипт на сервере без проверок прав доступа в движке.

Сигнатура вызываемой функции:

void unsafe_FuncName(Critter& player, int param0, int param1, int param2, string@ param3, int[]@ param4)
  • player Игрок, который вызвал функцию.

Префикс "unsafe_" в имени функции обязателен.

Внимание
Помните, что при взломе клиента хакер сможет вызывать данные функции в любое время в любом количестве и с любыми передаваемыми параметрами.
Аргументы
funcName | Полное имя функции (с модулем).
p0,p1,p2,p3,p4 | Значения для передаваемых в функцию параметров.
См. также
RunServerScript
int GetFog | ( | uint16 | zoneX,
 |  | uint16 | zoneY
 | ) |  |

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

Аргументы
zoneX,zoneY Координаты зоны глобальной карты мира.
Возвращает
Состояние видимости. См. Global map fog.
string GetIfaceIniStr ( string & key )

Возвращает значение для указанного ключа в ini-файле интерфейса.

Аргументы
key Ключ.
Возвращает
Значение, соответствующее ключу.
void WaitPing ( )

Для включения часов ожидания на время сигнала серверу и его ответа (т.

е. пинг).

string GetMsgStr | ( | int | textMsg,
 |  | uint | strNum
 | ) |  |

Позволяет получить строку из указанного MSG файла.

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

Аргументы
textMsg | Название файла с текстами (см. Msg nums).
strNum | Номер строки в файле.
Возвращает
Указатель на строку. В случае провала – null.
См. также
GetMsgStr(int, uint, uint)
string GetMsgStr | ( | int | textMsg,
 |  | uint | strNum,
 |  | uint | skipCount
 | ) |  |

Позволяет получить строку из указанного MSG файла.

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

Аргументы
textMsg | Название файла с текстами (см. Msg nums).
strNum | Номер строки в файле.
skipCount | Указывает, сколько строк необходимо пропустить.
Возвращает
Указатель на строку. В случае провала – null.
См. также
GetMsgStrCount
uint GetMsgStrNumUpper | ( | int | textMsg,
 |  | uint | strNum
 | ) |  |

Ищет первый номер валидной строки выше заданного номера.

Аргументы
textMsg | Название файла с текстами (см. Msg nums).
strNum | Базовый номер.
Возвращает
Первый номер строки, значение которого выше заданного.
uint GetMsgStrNumLower | ( | int | textMsg,
 |  | uint | strNum
 | ) |  |

Ищет первый номер валидной строки ниже заданного номера.

Аргументы
textMsg | Название файла с текстами (см. Msg nums).
strNum | Базовый номер.
Возвращает
Первый номер строки, значение которого ниже заданного.
uint GetMsgStrCount | ( | int | textMsg,
 |  | uint | strNum
 | ) |  |

Возвращает количество строк в файле, имеющих заданный номер.

Аргументы
textMsg | Название файла с текстами (см. Msg nums).
strNum | Номер строки в файле.
Возвращает
Количество строк с одинаковым номером.
См. также
GetMsgStr(int, uint, uint)
bool IsMsgStr | ( | int | textMsg,
 |  | uint | strNum
 | ) |  |

Проверяет, существует ли хотя бы одна строка с заданным номером.

Аргументы
textMsg | Название файла с текстами (см. Msg nums).
strNum | Номер строки в файле.
Возвращает
true – если строка существует; false – в противном случае.
string ReplaceText | ( | const string & | text,
 |  | const string & | replace,
 |  | const string & | str
 | ) |  |

Заменяет в text первую подстроку replace на строку str.

Аргументы
text | Исходная строка.
replace | Заменяемая подстрока.
str | Строка-замена.
Возвращает
Получаемая в результате замены строка.
string ReplaceText | ( | const string & | text,
 |  | const string & | replace,
 |  | int | i
 | ) |  |

Заменяет в text первую подстроку replace на целое i.

Аргументы
text | Исходная строка.
replace | Заменяемая подстрока.
i | Число-замена.
Возвращает
Получаемая в результате замены строка.
string FormatTags | ( | const string & | text,
 |  | const string @+ | lexems
 | ) |  |

Форматирует тэги.

Аргументы
text | Исходная строка.
lexems | Указатель на строку, содержащую значения лексем.
Возвращает
Отформатированная строка.
См. также
CritterCl::Lexems
ItemCl::Lexems
bool LoadFont | ( | int | font,
 |  | string & | fontFileName
 | ) |  |

Загружает шрифт.

Аргументы
font | Номер шрифта.
fontFileName | Имя файла шрифта.
Возвращает
Возвращает true в случае успеха.
void SetDefaultFont | ( | int | font,
 |  | uint | color
 | ) |  |

Устанавливает шрифт по-умолчанию и его цвет.

Аргументы
font | Номер шрифта.
color | Цвет шрифта.
uint8 GetDirection | ( | uint16 | fromX,
 |  | uint16 | fromY,
 |  | uint16 | toX,
 |  | uint16 | toY
 | ) |  |

Определяет направление, в котором находится гексагон №2 относительно гексагона №1.

Аргументы
fromX,fromY | Координаты 1-го гексагона.
toX,toY | Координаты 2-го гексагона.
Возвращает
Направление. Возможные значения: 0 – верх-право, 1 – право, 2 – низ-право, 3 – низ-лево и т.д.
uint GetDistantion | ( | uint16 | hexX1,
 |  | uint16 | hexY1,
 |  | uint16 | hexX2,
 |  | uint16 | hexY2
 | ) |  |

Определяет дистанцию между двумя гексагонами.

Аргументы
hexX1,hexY1 | Координаты 1-го гексагона.
hexX2,hexY2 | Координаты 2-го гексагона.
Возвращает
Дистанция между гексагонами в гексагонах.
uint GetCrittersDistantion | ( | CritterCl & | cr1,
 |  | CritterCl & | cr2
 | ) |  |

Определяет дистанцию между двумя криттерами.

Аргументы
cr1 | Первый криттер.
cr2 | Второй криттер.
Возвращает
Дистанция между криттерами в гексагонах.
void MoveHexByDir | ( | uint16 & | hexX,
 |  | uint16 & | hexY,
 |  | uint8 | dir,
 |  | uint | steps
 | ) |  |

Двигает гексы hx, hy в направлении dir на steps шагов.

Т.к. хексагональная сетка имеет своеобразную систему координат, эта функция будет хорошим помощником для точной подстройки позиции.

Аргументы
[out] | hexX,hexY | Подстраиваемые координаты.
[in] | dir | Направление смещения.
[in] | steps | Количество шагов смещения.
void GetHexCoord | ( | uint16 | fromHx,
 |  | uint16 | fromHy,
 |  | uint16 & | toHx,
 |  | uint16 & | toHy,
 |  | float | angle,
 |  | uint | dist
 | ) |  |

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

С помощью этой функции можно реализовывать, например, промахи метательного оружия и выстрела из базуки.

Аргументы
[in] | fromHx,fromHy | Cтартовые гексы.
[out] | toHx,toHy | Переменные, в которые будут записаны итоговые координаты.
[in] | angle | Угол отклонения луча (в градусах).
[in] | dist | Дистанция до нужного гекса.
Прим.
Если на пути попадется не простреливаемый гекс, то итоговые координаты будут указывать на гекс перед препятствием.
При (dist == 0) берется дистанция от гекса до гекса.
uint GetPathLength | ( | uint16 | fromHx,
 |  | uint16 | fromHy,
 |  | uint16 | toHx,
 |  | uint16 | toHy,
 |  | uint | cut
 | ) |  |

Определяет длину пути между гексагонами.

Аргументы
fromHx,fromHy | Координаты исходного гексагона.
toHx,toHy | Координаты целевого гексагона.
cut | Указывает, на сколько гексагонов обрезать путь с конца.
Возвращает
Длина пути между гексагонами. Если путь заблокирован, то возвращается 0.
uint GetPathLength | ( | CritterCl & | cr,
 |  | uint16 | toHx,
 |  | uint16 | toHy,
 |  | uint | cut
 | ) |  |

Определяет длину пути от персонажа до указанного гекса учитывая мултигексовость персонажа.

Аргументы
cr | Персонаж, от которого ищется путь.
toHx,toHy | Координаты целевого гексагона.
cut | Указывает, на сколько гексагонов обрезать путь с конца.
Возвращает
Длина пути. Если путь заблокирован, то возвращается 0.
uint8 GetOffsetDir | ( | uint16 | hx,
 |  | uint16 | hy,
 |  | uint16 | tx,
 |  | uint16 | ty,
 |  | float | offset
 | ) |  |

(?)

void FlushScreen | ( | uint | fromColor,
 |  | uint | toColor,
 |  | uint | timeMs
 | ) |  |

Создает переход цветов на экране игрока.

Аргументы
fromColor | Начальный цвет.
toColor | Конечный цвет.
timeMs | Время в миллисекундах.
void PlaySound ( string & soundName )

Проигрывает в клиенте звук с указанным именем.

Аргументы
soundName Имя звука.
void PlaySound | ( | uint8 | soundType,
 |  | uint8 | soundTypeExt,
 |  | uint8 | soundId,
 |  | uint8 | soundIdExt
 | ) |  |

Проигрывает в клиенте звук с указанными составляющими.

Аргументы
soundType,soundTypeExt,soundId,soundIdExt Составляющие звука. Формула составления имени для некоторых soundType различается (см. Sound types).
void QuakeScreen | ( | uint | noise,
 |  | uint | ms
 | ) |  |

Активизирует эффект землетрясения.

Аргументы
noise | Мощность (рекомендуемые значения от 1 до 50).
ms | Продолжительность в миллисекундах.
void PlayMusic | ( | string & | musicName,
 |  | uint | pos,
 |  | uint | repeat
 | ) |  |

Проигрывает музыку в клиенте.

Аргументы
musicName | Имя файла с музыкой.
pos (?)
repeat | Количество миллисекунд, через которые трек будет воспроизведен вновь.
Прим.
Файлы с музыкой ищутся в папке data/sound/music клиента.
При repeat == 1, музыка повторяется без перерывов.
void PlayVideo | ( | string & | videoName,
 |  | bool | canStop
 | ) |  |

Проигрывает видео в клиенте.

Аргументы
videoName | Название файла видео в формате "video_name.ext|video_sound_name.ext" сначала указывается имя файла видео, потом, опционально, '|' и далее имя файла звука. Кодеки http://wiki.xiph.org/index.php/TheoraSoftwareEncoders Аудио формат может быть любой, который поддерживается движком, на данный момент это WAV, ACM и OGG.
canStop | Можно ли остановить видео во время проигрывания.
Прим.
Если в имени нет слешей ('/'), то поиск производится в папке Client/data/video, если есть, то относительно папки Client/data.
Воспроизведение видео добавлено только для OGL версии движка..
uint GetFullSecond | ( | uint16 | year,
 |  | uint16 | month,
 |  | uint16 | day,
 |  | uint16 | hour,
 |  | uint16 | minute,
 |  | uint16 | second
 | ) |  |

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

Аргументы
year | Год.
month,day,hour,minute,second | Месяц, день, час, минута и секунда соответственно.
Возвращает
Полная минута.
Прим.
При некорректных значениях берутся текущие значения.
См. также
GetGameTime
void GetTime | ( | uint16 & | year,
 |  | uint16 & | month,
 |  | uint16 & | day_of_week,
 |  | uint16 & | day,
 |  | uint16 & | hour,
 |  | uint16 & | minute,
 |  | uint16 & | second,
 |  | uint16 & | milliseconds
 | ) |  |

Позволяет получить текущее локальное время.

Аргументы
[out] | year | Год
[out] | month | Месяц
[out] | day_of_week | День недели
[out] | day | День
[out] | hour | Час
[out] | minute | Минута
[out] | second | Секунда
[out] | milliseconds | Миллисекунда
void GetGameTime | ( | uint | fullSecond,
 |  | uint16 & | year,
 |  | uint16 & | month,
 |  | uint16 & | dayOfWeek,
 |  | uint16 & | day,
 |  | uint16 & | hour,
 |  | uint16 & | minute,
 |  | uint16 & | second
 | ) |  |

Вычисляет игровое время по указанной полной секунде.

Аргументы
[in] | fullSecond | Игровое время в полных секундах.
[out] | year | Год, полученный по полной секунде.
[out] | month | Месяц, полученный по полной секунде.
[out] | dayOfWeek | День недели, полученный по полной секунде.
[out] | day | День месяца, полученный по полной секунде.
[out] | hour | Час, полученный по полной секунде.
[out] | minute | Минута, полученная по полной секунде.
[out] | second | Секунда, полученная по полной секунде.
См. также
GetFullSecond
uint LoadSprite | ( | string & | name,
 |  | int | pathIndex
 | ) |  |

Загружает один спрайт или анимацию из файла.

Аргументы
name | Имя файла.
pathIndex | Номер папки, где находится файл (см. Paths).
Возвращает
Номер загруженного спрайта или анимации.
См. также
DrawSprite
uint LoadSprite | ( | uint | nameHash,
 |  | uint8 | dir
 | ) |  |

Загружает один спрайт или анимацию из файла.

Аргументы
nameHash | Хеш строки имени файла.
dir | Направление анимации. Если направления не поддерживаются, передавайте 0.
Возвращает
Идентификатор загруженного спрайта или анимации.
См. также
DrawSprite
int GetSpriteWidth | ( | uint | sprId,
 |  | int | sprIndex
 | ) |  |

Возвращает ширину указанного спрайта.

Аргументы
sprId | Идентификатор анимации.
sprIndex | Номер спрайта в анимации.
int GetSpriteHeight | ( | uint | sprId,
 |  | int | sprIndex
 | ) |  |

Возвращает высоту указанного спрайта.

Аргументы
sprId | Идентификатор анимации.
sprIndex | Номер спрайта в анимации.
uint GetSpriteCount ( uint sprId )

Возвращает количество спрайтов в указанной анимации.

Аргументы
sprId Идентификатор анимации.
void DrawSprite | ( | uint | sprId,
 |  | int | sprIndex,
 |  | int | x,
 |  | int | y,
 |  | uint | color
 | ) |  |

Отрисовывает спрайт в указанной позиции.

Аргументы
sprId | Идентификатор анимации.
sprIndex | Номер спрайта в анимации. При отрицательном значении выводится текущий спрайт анимации. При этом учитывается скорость воспроизведения анимации.
x,y | Позиция верхнего левого угла.
color | Оттенок спрайта. При 0 берется значение по-умолчанию.
См. также
render_iface
void DrawSprite | ( | uint | sprId,
 |  | int | sprIndex,
 |  | int | x,
 |  | int | y,
 |  | int | w,
 |  | int | h,
 |  | bool | scratch,
 |  | bool | center,
 |  | uint | color
 | ) |  |

Отрисовывает спрайт в указанной прямоугольной области.

Аргументы
sprId | Идентификатор анимации.
sprIndex | Номер спрайта в анимации. При отрицательном значении выводится текущий спрайт анимации. При этом учитывается скорость воспроизведения анимации.
x,y | Позиция верхнего левого угла
w,h | Ширина и высота области отрисовки.
scratch | Указывает, растягивать ли под размер w, h (true) или растягивать пропорционально оригинальному размеру (false).
center | Указывает, центровать ли изображение.
color | Оттенок спрайта. При 0 берется значение по-умолчанию.
См. также
render_iface
void DrawSpritePattern | ( | uint | sprId,
 |  | int | sprIndex,
 |  | int | x,
 |  | int | y,
 |  | int | w,
 |  | int | h,
 |  | int | sprWidth,
 |  | int | sprHeight,
 |  | uint | color
 | ) |  |

Отрисовывает спрайт в указанной прямоугольной области c полным ее заполнением, своими копиями.

Аргументы
sprId | Идентификатор анимации.
sprIndex | Номер спрайта в анимации. При отрицательном значении выводится текущий спрайт анимации. При этом учитывается скорость воспроизведения анимации.
x,y | Позиция верхнего левого угла
w,h | Ширина и высота области отрисовки.
sprWidth | Ширина спрайта (при нуле берется исходная).
sprHeight | Высота спрайта (при нуле берется исходная).
color | Оттенок спрайта. При 0 берется значение по-умолчанию.
См. также
render_iface
void DrawText | ( | string & | text,
 |  | int | x,
 |  | int | y,
 |  | int | w,
 |  | int | h,
 |  | uint | color,
 |  | int | font,
 |  | int | flags
 | ) |  |

Выводит текст.

Аргументы
text | Выводимый текст.
x,y | Позиция верхнего левого угла области вывода.
w,h | Ширина и высота области вывода.
color | Цвет сообщения. При 0 берется цвет по-умолчанию.
font | Шрифт (см. Fonts).
flags | Флаги форматирования (см. Font flags).
См. также
render_iface
void DrawPrimitive | ( | int | primitiveType,
 |  | int &[] | data
 | ) |  |

Рисует примитив.

Спецификация размещения точек в массиве data: (X, Y, Color), где:

  • X, Y – координаты точки,
  • Color – цвет.
Аргументы
primitiveType | Тип примитива (см. Draw primitive types).
data | Массив точек примитива.
См. также
render_iface
void DrawMapSprite | ( | uint16 | hx,
 |  | uint16 | hy,
 |  | uint16 | effectPid,
 |  | uint | sprId,
 |  | int | sprIndex,
 |  | int | offsX,
 |  | int | offsY
 | ) |  |

Выводит спрайт в определенной позиции на карте.

Аргументы
hx,hy | Координаты гексагона, где выводится спрайт.
effectPid | Номер прототипа, из которого берутся параметры реакции на яйцо прозрачности, эффекты. Может быть равен 0.
sprId | Идентификатор анимации.
sprIndex | Номер спрайта в анимации. При отрицательном значении выводится текущий спрайт анимации. При этом учитывается скорость воспроизведения анимации.
offsX,offsY | Смещения относительно гексагона вывода.
Прим.
Доступна только в render_map
void DrawCritter2d | ( | uint | crType,
 |  | uint | anim1,
 |  | uint | anim2,
 |  | uint8 | dir,
 |  | int | l,
 |  | int | t,
 |  | int | r,
 |  | int | b,
 |  | bool | scratch,
 |  | bool | center,
 |  | uint | color
 | ) |  |

Функция для отрисовки как элемента интерфейса произвольных криттеров, имеющих двухмерную анимацию.

Аргументы
crType | Тип криттера (см. таблицу криттеров).
anim1 | Первый индекс анимации (см. ANIM1_* в _animation.fos).
anim2 | Второй индекс анимации (см. ANIM2_2D_* в _animation.fos).
dir | Направление.
l,t,r,b | Границы региона для отрисовки.
scratch | Растягивать ли картинку.
center | Центрировать ли картинку.
color | Оттенок спрайта (при нуле берется значение по-умолчанию).
void DrawCritter3d | ( | uint | instance,
 |  | uint | crType,
 |  | uint | anim1,
 |  | uint | anim2,
 |  | int @+[] | layers,
 |  | float @+[] | position,
 |  | uint | color
 | ) |  |

Функция для отрисовки как элемента интерфейса произвольных криттеров, имеющих трехмерную анимацию.

Аргументы
instance | Индивидуальный номер воспроизводимой анимации. Необходим для корректного воспроизведения анимации у одновременно рисующихся криттеров.
crType | Тип криттера (см. таблицу криттеров).
anim1 | Первый индекс анимации (см. ANIM1_* в _animation.fos).
anim2 | Второй индекс анимации (см. ANIM2_3D_* в _animation.fos).
layers | Cлои 3D анимаций.
color | Оттенок спрайта (при нуле берется значение по-умолчанию).
position Параметры для позиционирования (по номерам индексов в массиве):
  • pos (0..1) – координаты x, y;
  • rotate (2..4) – поворот по 3-м осям y, x, z (в порядке применения);
  • scale (5..7) – масштабирование по 3-м осям x, y, z;
  • speed (8) – скорость анимации (единица – нормальная скорость);
  • reserved (9) – зарезервировано;
  • stencil (10..13) – регион под трафарет (лево, верх, право, низ), модель будет рисоваться только в нем, вылезающие части будут отрезаться; трафарет используется, если лево меньше право и верх меньше низ.
Прим.
Значения по-умолчанию для всех индексов массива position, которые движок будет использовать в случае их отсутствия:
  • pos = 0 0
  • rotate = 0 0 0
  • scale = 1 1 1
  • speed = 1
  • reserved = 0
  • stencil = 0 0 0 0
bool GetHexPos | ( | uint16 | hx,
 |  | uint16 | hy,
 |  | int & | x,
 |  | int & | y
 | ) |  |

Позволяет получить экранные координаты центра указанного гексагона.

Аргументы
hx,hy | Координаты гексагона.
[out] | x,y | Переменные, в которые будут записаны координаты центра гексагона.
См. также
GetMonitorHex
bool GetMonitorHex | ( | int | x,
 |  | int | y,
 |  | uint16 & | hx,
 |  | uint16 & | hy
 | ) |  |

Позволяет получить координаты гексагона, находящегося в указанных экранных координатах.

Аргументы
x,y | Экранные координаты.
[out] | hx,hy | Переменные, в которые будут записаны координаты гексагона.
См. также
GetHexPos
CritterCl GetMonitorCritter | ( | int | x,
 |  | int | y
 | ) |  |

Возвращает игрока под указанными координатами на экране.

Аргументы
x,y Экранные координаты.
Возвращает
Указатель на экземпляр класса CritterCl. null – в случае, если криттер не найден.
ItemCl GetMonitorItem | ( | int | x,
 |  | int | y
 | ) |  |

Возвращает предмет под указанными координатами на экране.

Аргументы
x,y Экранные координаты.
Возвращает
Указатель на экземпляр класса ItemCl. null – в случае, если предмет не найден.
void LockScreenScroll ( CritterCl @+ cr )

Фиксирует прокрутку на указанном криттере.

Поведение аналогично включенному Scroll Lock у игрока.

Аргументы
cr Криттер, на котором фиксируется прокрутка.
void MoveScreen | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | uint | speed
 | ) |  |

Прокручивает экран клиента в нужную позицию.

Аргументы
hexX,hexY | Координаты гексагона, к которому необходимо прокручивать.
speed | Скорость. При 0 происходит мгновенная прокрутка. Средние значения для скорости прокрутки: 50-100.
void ShowScreen | ( | int | screen,
 |  | int | p0,
 |  | int | p1,
 |  | int | p2
 | ) |  |

Показать окно.

Аргументы
screen | Тип окна (см. Client screen types).
p0,p1,p2 | Параметры окна.
void HideScreen | ( | int | screen,
 |  | int | p0,
 |  | int | p1,
 |  | int | p2
 | ) |  |

Скрыть окно.

Аргументы
screen | Тип окна (см. Client screen types).
p0,p1,p2 | Параметры окна.
void GetHardcodedScreenPos | ( | int | screen,
 |  | int & | x,
 |  | int & | y
 | ) |  |

Возвращает позицию движковых окон.

Аргументы
screen | Тип окна (см. Client screen types).
[out] | x,y | Переменные, в которые будет записана позиция окна.
void DrawHardcodedScreen ( int screen )

Рисует движковое окно.

Аргументы
screen Тип окна (см. Client screen types).
int GetKeybLang ( )

Возвращает текущую раскладку клавиатуры.

Возвращает
Текущий язык (0 - русский, 1 - английский).
void KeyboardPress | ( | uint8 | key1,
 |  | uint8 | key2
 | ) |  |

Обработка нажатия одной или двух клавиш.

Аргументы
key1,key2 - код клавиши (см. Keyboard key codes в _client_defines.fos).
void MouseClick | ( | int | x,
 |  | int | y,
 |  | int | button,
 |  | int | cursor
 | ) |  |

Возывается при клике мышью.

Аргументы
x,y | - координаты мыши;
button | - клавиша мыши (см. Mouse click states в _client_defines.fos);
cursor | - курсор при клике (см. Cursors в _client_defines.fos или _mapper_defines.fos).
int GetCurrentCursor ( )

Возвращает текущий курсор.

Возвращает
См. Cursors.
int GetLastCursor ( )

(?)

Возвращает
См. Cursors.
void ChangeCursor ( int cursor )

Меняет курсор.

Аргументы
cursor Новый курсор (см. Cursors).
CritterCl GetCritter ( uint critterId )

Ищет криттера с указанным уникальным идентификатором.

Аргументы
critterId Уникальный идентификатор, по которому осуществляется поиск.
Возвращает
Указатель на экземпляр класса CritterCl с указанным идентификатором. В случае провала – null.
uint GetCrittersHex | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | uint | radius,
 |  | int | findType,
 |  | CritterCl @@+[] | critters
 | ) |  |

Находит криттеров, находящихся в указанной области.

Аргументы
hexX,hexY | Координаты гексагона, относительно которого будет проведен поиск криттеров.
radius | Радиус поиска, в гексагонах.
findType | Тип поиска (см. Critter find types).
critters | Массив указателей на криттеров, которые были найдены. Этот массив будет дописан с конца найденными криттерами.
Возвращает
Количество найденных криттеров.
Прим.
Чтобы просто узнать количество найденных криттеров, в параметре critters можно передать значение null вместо списка.
Найденные криттеры будут отсортированы по отдалению от базовой точки.
uint GetCritters | ( | uint16 | pid,
 |  | int | findType,
 |  | CritterCl @@+[] | critters
 | ) |  |

Находит всех криттеров, имеющих указанный прототип.

Аргументы
pid | Прототип NPC (см. _npc_pids.fos). При pid, равном -1, выбираются игроки, при -2 - NPC, при 0 - все криттеры (и игроки, и NPC) (?).
findType | Тип поиска (см. Critter find types).
critters | Массив указателей на криттеров. Этот массив будет дописан с конца найденными криттерами.
Возвращает
Количество найденных криттеров.
Прим.
Чтобы просто узнать количество найденных криттеров, в параметре critters можно передать значение null вместо списка.
uint GetCrittersPath | ( | uint16 | fromHx,
 |  | uint16 | fromHy,
 |  | uint16 | toHx,
 |  | uint16 | toHy,
 |  | float | angle,
 |  | uint | dist,
 |  | int | findType,
 |  | CritterCl @@+[] | critters
 | ) |  |

Проводит трассировку с указанными параметрами и находит всех криттеров, под неё попавших.

Аргументы
fromHx,fromHy | Координаты стартового гексагона.
toHx,toHy | Координаты гексагона назначения.
angle | Угол отклонения луча, в градусах.
dist | Максимальная дистанция трассировки.
findType | Тип поиска (см. Critter find types).
critters | Массив указателей на криттеров, которые были найдены. Этот массив будет дописан с конца найденными криттерами.
Возвращает
Количество найденных криттеров.
Прим.
Чтобы просто узнать количество найденных криттеров, в параметре critters можно передать значение null вместо списка.
uint GetCrittersPath | ( | uint16 | fromHx,
 |  | uint16 | fromHy,
 |  | uint16 | toHx,
 |  | uint16 | toHy,
 |  | float | angle,
 |  | uint | dist,
 |  | int | findType,
 |  | CritterCl @@+[] | critters,
 |  | uint16 & | preBlockHx,
 |  | uint16 & | preBlockHy,
 |  | uint16 & | blockHx,
 |  | uint16 & | blockHy
 | ) |  |

Проводит трассировку с указанными параметрами и находит всех криттеров, под неё попавших.

Аргументы
fromHx,fromHy | Координаты стартового гексагона.
toHx,toHy | Координаты гексагона назначения.
angle | Угол отклонения луча, в градусах.
dist | Максимальная дистанция трассировки.
findType | Тип поиска (см. Critter find types).
critters | Массив указателей на криттеров, которые были найдены. Этот массив будет дописан с конца найденными криттерами.
[out] | preBlockHx,preBlockHy | Позиция гекса перед препятствием.
[out] | blockHx,blockHy | Позиция гекса препятствия.
Возвращает
Количество найденных криттеров.
Прим.
Если координаты preBlock равны block, то значит препятствия не было.
Чтобы просто узнать количество найденных криттеров, в параметре critters можно передать значение null вместо списка.
void SetRainAnimation | ( | string @ | fallAnimName,
 |  | string @ | dropAnimName
 | ) |  |

Устанавливает имена анимаций для падающей и упавшей капли по-умолчанию значения равны "art/misc/rain_fall.fofrm" и "art/misc/rain_drop.fofrm".

int GetConstantValue | ( | int | constCollection,
 |  | string @+ | name
 | ) |  |

Определение значения константы по имени.

Аргументы
constCollection | Номер коллекции, см. Constants collections в _defines.fos.
name | Имя константы.
Возвращает
Значение константы.
string GetConstantName | ( | int | constCollection,
 |  | int | value
 | ) |  |

Определение имени константы по значению.

Аргументы
constCollection | Номер коллекции, см. Constants collections в _defines.fos.
value | Значение константы.
Возвращает
Имя константы.
void AddConstant | ( | int | constCollection,
 |  | string @+ | name,
 |  | int | value
 | ) |  |

Добавление отдельной константы в коллекцию.

Аргументы
constCollection | Номер коллекции, см. Constants collections в _defines.fos.
name | Имя константы.
value | Значение константы.
bool LoadConstants | ( | int | constCollection,
 |  | string @+ | fileName,
 |  | int | pathType
 | ) |  |

Загрузка/перезагрузка коллекции.

Аргументы
constCollection | Номер коллекции, см. Constants collections в _defines.fos.
fileName | Имя файла.
pathType | Путь.
bool AppendIfaceIni ( string & iniName )

Подключает дополнительные ini файлы.

Аргументы
iniName Путь к ini файлу. Если имя имеет слеши, то поиск производится из корня data, если нет, то в папке data/art/intrface/. Движком автоматически добавляется default.ini.
Возвращает
true в случае успеха.
bool SetEffect | ( | int | effectType,
 |  | int | effectSubtype,
 |  | string @+ | effectName,
 |  | string @+ | effectDefines = null
 | ) |  |

Устанавливет шейдерный эффект.

Аргументы
effectType | тип эффекта (см. _client_defines.fos).
effectSubtype | подтип эффекта (используется с шрифтами).
effectName | имя файла эффекта (вместе с расширением) в папке data/effects.
effectDefines | директивы препрцессора для эффекта (null по умолчанию).
Возвращает
Указывает на успешность загрузки и компиляции эффекта.

Переменные

bool __HideCursor = false

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

uint8 __RoofAlpha

Степень прозрачности крыш.

Возможные значения
0..255 – полная прозрачность..полная непрозрачность, соответственно.
bool __DisableLMenu

Отключено ли всплывающее меню.

bool __DisableMouseEvents

Отключена ли реакция движка на события от мышки.

bool __DisableKeyboardEvents

Отключена ли реакция движка на события от клавиатуры.

string __PlayerOffAppendix

Хранит строку, которая будет отображаться в нике клиента при его дисконнекте.

uint __DamageHitDelay

Индикация количества хитов и её время.

int __RunModMul = 1
int __RunModDiv = 1
int __RunModAdd = 0
bool __DiLeft
bool __DiRight
bool __DiUp
bool __DiDown
bool __DiMleft
bool __DiMright
bool __DiMup
bool __DiMdown
bool __ShowGroups
bool __DebugInfo
int __FlushVal
int __BaseTex
int __ScreenClear
int __Light
uint __ScrollDelay
int __ScrollStep
bool __MouseScroll
bool __ScrollCheck
int __MouseSpeed
bool __GlobalSound
string __FoPatchPath
string __FoDataPath
string __Name
string __Pass
uint __TextDelay
bool __MsgboxInvert
int __ChangeLang
uint8 __DefaultCombatMode
bool __MessNotify
bool __SoundNotify
int __IndicatorType
uint __DoubleClickTime
bool __ShowTile

Отображение тайлов.

bool __ShowRoof

Отображение крыши.

bool __ShowItem

Отображение предметов.

bool __ShowScen

Отображение Сценери.

bool __ShowWall

Отображение стен.

bool __ShowCrit

Отображение персонажей.

bool __ShowFast

Отображение объектов из группы Fast.

bool __ShowPlayerNames

Отображение имен игроков.

bool __ShowNpcNames

Отображение имен НПЦ.

bool __ShowCritId

Отображение идентификаторов персонажей.

bool __HidePassword

Скрывать ли пароль в окне логина

bool __GmapActive

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

bool __GmapWait

включен режим ожидания ответа о подтверждении энкаунтера.

float __GmapZoom

текущий масштаб, не забывайте учитывать его при рисовании на карте.

int __GmapOffsetX

смещение карты от нулевой координаты (верхний-левый угол).

int __GmapOffsetY
int __GmapGroupCurX

координаты группы игрока.

int __GmapGroupCurXY
int __GmapGroupToXX

координаты точки назначения.

int __GmapGroupToXY
string __ClientPath

Путь к папке клиента.

string __ServerPath

Путь к папке сервера.

bool __ConsoleActive

индикация открытой консоли.

uint __NpcMaxTalkers

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

int __CombatMessagesType

Боевые сообщения

  • 0 – короткие;
  • 1 – подробные.
uint __Anim2CombatBegin

Для определения анимаций боевого режима.

uint __Anim2CombatIdle

Для определения анимаций боевого режима.

uint __Anim2CombatEnd

Для определения анимаций боевого режима.

uint __CritterFidgetTime

частота вызова анимации "дурачества".

Определяется по формуле Random(__CritterFidgetTime, __CritterFidgetTime * 2)

bool __MapHexagonal

Тип изометрии

  • true - гексогональная;
  • false - четырехугольная.
int __MapHexWidth

Ширина гекса

int __MapHexHeight

Высота гекса

int __MapHexLineHeight

Высота линии гексов

int __MapTileOffsX

Смещение тайлов земли по горизонтали

int __MapTileOffsY

Смещение тайлов земли по вертикали

int __MapRoofOffsX

Смещение тайлов крыши по горизонтали

int __MapRoofOffsY

Смещение тайлов крыши по вертикали

int __MapRoofSkipSize

Кол-во гексов на один тайл крыши (нужно для его корректного скрывания)

float __MapCameraAngle

Угол для рендеринга трехмерных моделей

bool __MapSmoothPath

Сглаживание пути при перемещениях

string __MapDataPrefix

Путь и префикс для файлов геометрии

string __Host

Хост игрового сервера.

uint __Port

Порт игрового сервера.

uint __ProxyType

Тип прокси сервера.

string __ProxyHost

Хост прокси сервера.

uint __ProxyPort

Порт прокси сервера.

string __ProxyUser

Логин к прокси серверу.

string __ProxyPass

Пароль к прокси серверу.

const int __ScreenWidth

Ширина экрана.

const int __ScreenHeight

Высота экрана.

bool __FullScr

Полноэкранный режим.

bool __VSync

Вертикальная синхронизация.

bool __AlwaysOnTop

Поверх всех окон.

uint __FixedFPS

Установка фиксированного FPS.

При отрицательных значениях играет роль sleep

bool __OpenGLRendering

true - OpenGL, false - DirectX.

uint __FPS

Текущий FPS.

uint __PingPeriod

Период пинга (по-умолчанию 2000 мс).

uint __Ping

Текущий пинг.

bool __MapZooming

Включает механизи зуминга карты.

bool __AssimpLogging

Необходима для отладки загрузки трехмерной графики.

При включении и загрузке модели будет создан файл Assimp.log, куда библиотека Assimp будет писать необходимую информацию.

bool __Quit

При установке переменной в true, клиент закрывается

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Зарезервированные скриптовые функции (Клиент)

Функции
Зарезервированные скриптовые функции (Клиент)
API клиента

Функции

bool | start ()
Вызывается при запуске клиента или в случае, если придет обновленный скрипт client_main.fos. Подробнее...
uint | loop ()
Функция, вызываемая движком с задаваемой периодичностью. Подробнее...
void | render_iface ()
Вызывается клиентом при отрисовке интерфейса. Подробнее...
void | render_map ()
Вызывается при отрисовке графики на карте с учетом очереди вывода спрайтов. Подробнее...
bool | out_message (string &message, int &sayType)
Обрабатывает исходящие от игрока сообщения. Подробнее...
bool | in_message (string &message, int &sayType, uint &critterId, uint &delay)
Обрабатывает входящие сообщения. Подробнее...
bool | map_message (string &message, uint16 &hexX, uint16 &hexY, uint &color, uint &delay)
Вызывается при получении сообщения на карте. Подробнее...
string | item_description (ItemCl &item, int lookType)
Вызываются тогда, когда необходимо сформировать описание для предмета. Подробнее...
string | critter_description (CritterCl &cr, int lookType)
Вызываются тогда, когда необходимо сформировать описание криттера. Подробнее...
string | generic_description (int descType, int &offsX, int &offsY)
Вызывается тогда, когда необходимо сформировать какое-либо описание в игре. Подробнее...
bool | get_elevator (uint type, uint[]&data)
Вызывается тогда, когда клиенту необходимо сформировать интерфейс для лифта. Подробнее...
void | critter_in (CritterCl &cr)
Вызывается при появлении какого-либо криттера в игре. Подробнее...
void | critter_out (CritterCl &cr)
Вызывается при изчезании какого-либо криттера в игре. Подробнее...
void | item_map_in (ItemCl &item)
Вызывается при появлении предмета на карте. Подробнее...
void | item_map_changed (ItemCl &itemNow, ItemCl &itemBefore)
Вызывается при смене предмета на карте. Подробнее...
void | item_map_out (ItemCl &item)
Вызывается при исчезновении предмета с карты. Подробнее...
void | item_inv_in (ItemCl &item)
Вызывается при появлении предмета в инвентаре. Подробнее...
void | item_inv_out (ItemCl &item)
Вызывается при исчезновении предмета из инвентаря. Подробнее...
void | item_drop (ItemCl &item)
Вызывается при выкидывании предмета криттером. Подробнее...
void | animation2d_process (bool animateStay, CritterCl &cr, uint anim1, uint anim2, ItemCl @item)
Вызывается перед проигрыванием 2D анимации. Подробнее...
void | animation3d_process (bool animateStay, CritterCl &cr, uint anim1, uint anim2, ItemCl @item)
Вызывается перед проигрыванием 3D анимации. Подробнее...
uint | item_cost (ItemCl &item, CritterCl &chosen, CritterCl &npc, bool sell)
(?) Подробнее...
bool | check_perk (CritterCl &cr, uint perk)
(?) Подробнее...
void | player_data_generate (int[]&data)
(?) Подробнее...
bool | player_data_check (int[]&data)
(?) Подробнее...
void | critter_action (bool localCall, CritterCl &cr, int action, int actionExt, ItemCl @item)
Вызывается, когда криттер производит какое-либо действие. Подробнее...
void | filename_logfile (string &filename)
Позволяет изменить имя файла лога. Подробнее...
void | filename_screenshot (string &filename)
Позволяет изменить имя файла скриншота. Подробнее...
bool | player_allowcommand (Critter @cr, string @adminPanel, uint8 command)
Регулирует доступ к командам сервера Подробнее...
bool | critter_check_move_item (Critter &cr, Item &item, uint8 toSlot, Item @itemSwap)
Вызызывается перед каждым перемещением предмета у криттера. Подробнее...

GUI

int | get_active_screen ()
Вызывается движком, чтобы получить активное окно. Подробнее...
void | screen_change (bool show, int screen, int p0, int p1, int p2)
Позволяет определить поведение при смене окон. Подробнее...
bool | mouse_down (int click)
Вызывается при нажатии кнопки мыши. Подробнее...
bool | mouse_up (int click)
Вызывается при отжатии кнопки мыши. Подробнее...
void | mouse_move (int x, int y)
Вызывается при перемещении курсора. Подробнее...
bool | key_down (uint8 key)
Вызывается при нажатии клавиши. Подробнее...
bool | key_up (uint8 key)
Вызывается при отжатии клавиши. Подробнее...
void | input_lost ()
Вызывается при потере устройства: мыши или клавиатуры. Подробнее...

Боевка

void | combat_result (uint[]&data)
Принимает данные, посланные в Critter::SendCombatResult. Подробнее...
int | to_hit (CritterCl &chosen, CritterCl &target, ProtoItem &weapon, uint8 weaponMode)
Вызывается движком для расчета отображаемого в клиенте шанса попадания. Подробнее...
string | critter_animation (int animType, uint crType, uint anim1, uint anim2, uint &pass, uint &flags, int &ox, int &oy)
Функция вызываемая в момент загрузки нужной анимации. Подробнее...
bool | critter_animation_substitute (int animType, uint crTypeBase, uint anim1Base, uint anim2Base, uint &crType, uint &anim1, uint &anim2)
Если не удалось загрузить анимацию (и uint& pass не изменился), то вызывается данная функция для определения замены анимации (например, удар левой рукой можно заменить на удар правой). Подробнее...
bool | critter_animation_fallout (uint crType, uint &anim1, uint &anim2, uint &anim1ex, uint &anim2ex, uint &flags)
Т. Подробнее...

Подробное описание

Функции

bool start ( )

Вызывается при запуске клиента или в случае, если придет обновленный скрипт client_main.fos.

Возвращает
При возвращении false игра не запустится.
uint loop ( )

Функция, вызываемая движком с задаваемой периодичностью.

Период задается с помощью возвращаемого значения.

Возвращает
Время в миллисекундах, через которое функцию следует вызвать снова. Если будет возвращен ноль, то функция больше не будет вызываться.
void render_iface ( )

Вызывается клиентом при отрисовке интерфейса.

Функции Draw* можно использовать только здесь.

void render_map ( )

Вызывается при отрисовке графики на карте с учетом очереди вывода спрайтов.

Функция вызывается перед отрисовкой первого слоя интерфейса. Функции DrawMap* можно использовать только здесь.

См. также
render_iface
bool out_message | ( | string & | message,
 |  | int & | sayType
 | ) |  |

Обрабатывает исходящие от игрока сообщения.

Аргументы
[in,out] | message | Текст сообщения.
[in,out] | sayType | Тип текста (см. Say types).
Возвращает
При возвращении false сообщение не отправляется.
bool in_message | ( | string & | message,
 |  | int & | sayType,
 |  | uint & | critterId,
 |  | uint & | delay
 | ) |  |

Обрабатывает входящие сообщения.

Аргументы
[in,out] | message | Текст входящего сообщения. Текст может быть раскрашены посредством тега "|" (0xAARRGGBB, если AA равно нулю, то прозрачность не учитывается).
[in,out] | sayType | Тип текста (см. Say types).
[in,out] | critterId | Идентификатор криттера, от которого пришло сообщение.
[in,out] | delay | Время задержки сообщения.
Возвращает
Прим.
Радиосообщения анонимны.
По-умолчанию время задержки равно TextDelay + длина сообщения * 100 миллисекунд.
bool map_message | ( | string & | message,
 |  | uint16 & | hexX,
 |  | uint16 & | hexY,
 |  | uint & | color,
 |  | uint & | delay
 | ) |  |

Вызывается при получении сообщения на карте.

Аргументы
[in,out] | message | Текст сообщения.
[in,out] | hexX,hexY | Координаты источника сообщения.
[in,out] | color | Цвет сообщения.
[in,out] | delay | Время задержки сообщения.
Возвращает
Прим.
По умолчанию, время задержки равно TextDelay + длина сообщения * 100 миллисекунд.
string item_description | ( | ItemCl & | item,
 |  | int | lookType
 | ) |  |

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

Аргументы
item | Предмет, для которого формируется описание.
lookType | См. Item look types.
Возвращает
Строка с описанием предмета.
string critter_description | ( | CritterCl & | cr,
 |  | int | lookType
 | ) |  |

Вызываются тогда, когда необходимо сформировать описание криттера.

Аргументы
cr | Криттер, для которого формируется описание.
lookType | См. Critter look types.
Возвращает
Строка с описанием криттера.
string generic_description | ( | int | descType,
 |  | int & | offsX,
 |  | int & | offsY
 | ) |  |

Вызывается тогда, когда необходимо сформировать какое-либо описание в игре.

Аргументы
descType | Тип описания (см. Generic descriptions types).
[out] | offsX,offsY | Смещение описания от базовой точки.
Возвращает
Описание.
bool get_elevator | ( | uint | type,
 |  | uint &[] | data
 | ) |  |

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

Аргументы
type | Тип лифта (см. Elevators).
[out] | data | Данные, необходимые для формирования интерфейса.
Возвращает
true – в случае, если интерфейс создать можно; false – в противном случае.
void critter_in ( CritterCl & cr )

Вызывается при появлении какого-либо криттера в игре.

Аргументы
cr Входящий криттер.
void critter_out ( CritterCl & cr )

Вызывается при изчезании какого-либо криттера в игре.

Аргументы
cr Выходящий криттер.
void item_map_in ( ItemCl & item )

Вызывается при появлении предмета на карте.

Аргументы
item Появившийся предмет.
void item_map_changed | ( | ItemCl & | itemNow,
 |  | ItemCl & | itemBefore
 | ) |  |

Вызывается при смене предмета на карте.

Аргументы
itemNow | Новый предмет.
itemBefore | Сменившийся предмет.
void item_map_out ( ItemCl & item )

Вызывается при исчезновении предмета с карты.

Аргументы
item Исчезнувший предмет.
void item_inv_in ( ItemCl & item )

Вызывается при появлении предмета в инвентаре.

Аргументы
item Появившийся в инвентаре предмет.
void item_inv_out ( ItemCl & item )

Вызывается при исчезновении предмета из инвентаря.

Аргументы
item Исчезнувшийся из инвентаря предмет.
void item_drop ( ItemCl & item )

Вызывается при выкидывании предмета криттером.

Аргументы
item Выкидываемый предмет.
void animation2d_process | ( | bool | animateStay,
 |  | CritterCl & | cr,
 |  | uint | anim1,
 |  | uint | anim2,
 |  | ItemCl @ | item
 | ) |  |

Вызывается перед проигрыванием 2D анимации.

Аргументы
animateStay | Указывает воспроизводится сейчас какое-либо действие (false) или анимация стойки (true).
cr | Криттер, для которого проигрывается анимация.
anim1 | Первый индекс анимации (см. ANIM1_* в _animation.fos).
anim2 | Второй индекс анимации (см. ANIM2_2D_* в _animation.fos).
item | Указатель на предмет, используемый в анимации.
void animation3d_process | ( | bool | animateStay,
 |  | CritterCl & | cr,
 |  | uint | anim1,
 |  | uint | anim2,
 |  | ItemCl @ | item
 | ) |  |

Вызывается перед проигрыванием 3D анимации.

Аргументы
animateStay | Указывает воспроизводится сейчас какое-либо действие (false) или анимация стойки (true).
cr | Криттер, для которого проигрывается анимация.
anim1 | Первый индекс анимации (см. ANIM1_* в _animation.fos).
anim2 | Второй индекс анимации (см. ANIM2_3D_* в _animation.fos).
item | Указатель на предмет, используемый в анимации.
uint item_cost | ( | ItemCl & | item,
 |  | CritterCl & | chosen,
 |  | CritterCl & | npc,
 |  | bool | sell
 | ) |  |

(?)

bool check_perk | ( | CritterCl & | cr,
 |  | uint | perk
 | ) |  |

(?)

void player_data_generate ( int &[] data )

(?)

bool player_data_check ( int &[] data )

(?)

void critter_action | ( | bool | localCall,
 |  | CritterCl & | cr,
 |  | int | action,
 |  | int | actionExt,
 |  | ItemCl @ | item
 | ) |  |

Вызывается, когда криттер производит какое-либо действие.

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

Аргументы
localCall | Вызывана ли функция движком локально (true) или с сервера (false).
cr | Криттер, который производит действие.
action | Действие (см. Действия криттеров).
actionExt | Параметр с дополнительной информацией о действии.
item | Указатель на предмет, который участвует в совершении действия.
Прим.
Движок при некоторых действиях игрока вызывает эту же функцию с параметром localCall, равным true, а после отправляет информацию на сервер, где идет последующая обработка.
См. также
Critter::Action
void filename_logfile ( string & filename )

Позволяет изменить имя файла лога.

Если filename окажется пустым, файл не сохранится

void filename_screenshot ( string & filename )

Позволяет изменить имя файла скриншота.

Если filename окажется пустым, файл не сохранится

bool player_allowcommand | ( | Critter @ | cr,
 |  | string @ | adminPanel,
 |  | uint8 | command
 | ) |  |

Регулирует доступ к командам сервера

Аргументы
cr | Проверяемый криттер
adminPanel (?)
command | Проверяемая команда (см. Internal server commands в _defines.fos)
Возвращает
true – в случае, если команда разрешена; false – в противном случае.
bool critter_check_move_item | ( | Critter & | cr,
 |  | Item & | item,
 |  | uint8 | toSlot,
 |  | Item @ | itemSwap
 | ) |  |

Вызызывается перед каждым перемещением предмета у криттера.

Аргументы
cr | Криттер, который меняет предмет;
item | Предмет, который перемещается;
toSlot | Слот, из которого берется предмет;
itemSwap | предмет, который уже находится в слоте назначения и который переместится в слот перемещаемого предмета при успешной транзакции.
Возвращает
Если возвратить false, то предмет не переместится; если true, то переместится.
int get_active_screen ( )

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

Возвращает
Индекс активного окна. См. screen types ClientScreenTypes.
void screen_change | ( | bool | show,
 |  | int | screen,
 |  | int | p0,
 |  | int | p1,
 |  | int | p2
 | ) |  |

Позволяет определить поведение при смене окон.

Аргументы
show | Должно ли окно показываться (true) или закрыться (false).
screen | Тип окна.
p0,p1,p2 | Параметры окна.
bool mouse_down ( int click )

Вызывается при нажатии кнопки мыши.

Аргументы
click См. Mouse click states.
Возвращает
Если true, то движок не будет обрабатывать событие; если false, то будет.
bool mouse_up ( int click )

Вызывается при отжатии кнопки мыши.

Аргументы
click См. Mouse click states.
Возвращает
Если true, то движок не будет обрабатывать событие; если false, то будет.
void mouse_move | ( | int | x,
 |  | int | y
 | ) |  |

Вызывается при перемещении курсора.

Аргументы
x,y Новые позиции курсора.
bool key_down ( uint8 key )

Вызывается при нажатии клавиши.

Аргументы
key См. DirectInput keyboard scan codes.
Возвращает
Если true, то движок не будет обрабатывать событие; если false, то будет.
bool key_up ( uint8 key )

Вызывается при отжатии клавиши.

Аргументы
key См. DirectInput keyboard scan codes.
Возвращает
Если true, то движок не будет обрабатывать событие; если false, то будет.
void input_lost ( )

Вызывается при потере устройства: мыши или клавиатуры.

Это может произойти при:

  • переключении по Alt-Tab,
  • сворачивании окна клиента,
  • потере фокуса.
void combat_result ( uint &[] data )

Принимает данные, посланные в Critter::SendCombatResult.

int to_hit | ( | CritterCl & | chosen,
 |  | CritterCl & | target,
 |  | ProtoItem & | weapon,
 |  | uint8 | weaponMode
 | ) |  |

Вызывается движком для расчета отображаемого в клиенте шанса попадания.

Аргументы
chosen | Игрок.
target | Цель.
weapon | Используемое игроком оружие.
weaponMode | Режим атаки оружия. старшие четыре бита Прицел (см. Hit Locations), младшие четыре бита Тип использования (0 – primary, 1 – secondary, 2 – third).
string critter_animation | ( | int | animType,
 |  | uint | crType,
 |  | uint | anim1,
 |  | uint | anim2,
 |  | uint & | pass,
 |  | uint & | flags,
 |  | int & | ox,
 |  | int & | oy
 | ) |  |

Функция вызываемая в момент загрузки нужной анимации.

Аргументы
animType | Тип анимации криттера (новый параметр, указывается в CritterTypes.cfg);
crType | Тип криттера;
anim1,anim2 | Индексы анимации;
pass | Номер вызова функции, изменяется пользователем, если не удалось загрузить анимацию и данный параметр был изменен, то функция вызовется вновь (в некоторых случаях нужно пробовать загрузить разные файлы для одной анимации);
flags | Флаги, на данный момент два - взять первый или последний кадр из анимации (см. Anim loading flags в _animation.fos);
ox,&oy | Смещения для анимации, в пикселях.
Возвращает
путь и имя файла
bool critter_animation_substitute | ( | int | animType,
 |  | uint | crTypeBase,
 |  | uint | anim1Base,
 |  | uint | anim2Base,
 |  | uint & | crType,
 |  | uint & | anim1,
 |  | uint & | anim2
 | ) |  |

Если не удалось загрузить анимацию (и uint& pass не изменился), то вызывается данная функция для определения замены анимации (например, удар левой рукой можно заменить на удар правой).

animTypeТип Тип анимации криттера (новый параметр, указывается в CritterTypes.cfg); uint crTypeBase, anim1Base, anim2Base Базовый тип криттера и анимации, с которых все начиналось; uint& crType, &anim1, &anim2 Тип криттера и текущие анимации для замены.

Возвращает
true, если замена нашлась (движок еще дополнительно проверяет изменились ли на самом деле crType, anim1, anim2), false - нет замены, анимация не будет загружена и проиграна.
bool critter_animation_fallout | ( | uint | crType,
 |  | uint & | anim1,
 |  | uint & | anim2,
 |  | uint & | anim1ex,
 |  | uint & | anim2ex,
 |  | uint & | flags
 | ) |  |

Т.

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

Возвращает
true, если анимация присутствует, false - нет.
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Класс CritterCl

  • Алфавитный указатель классов
  • Члены классов
Открытые члены | Открытые атрибуты | Полный список членов класса
Класс CritterCl
API клиента

Функционально ограниченный эквивалент класса Critter, доступный при скриптинге клиента. Подробнее...

Открытые члены

bool | IsChosen ()
Позволяет проверить, является ли криттер тем игроком, для которого запущен клиент. Подробнее...
bool | IsPlayer ()
Позволяет проверить, является ли криттер игроком. Подробнее...
bool | IsNpc ()
Позволяет проверить, является ли криттер NPC. Подробнее...
bool | IsLife ()
Проверяет, жив ли криттер. Подробнее...
bool | IsKnockout ()
Проверяет, находится ли криттер в нокдауне. Подробнее...
bool | IsDead ()
Проверяет, мёртв ли криттер. Подробнее...
bool | IsFree ()
Проверяет, свободен ли криттер или нет. Подробнее...
bool | IsBusy ()
Проверяет, занят ли криттер или нет. Подробнее...
bool | IsTurnBasedTurn ()
Проверяет, ход криттера ли в данный момент в пошаговом бою. Подробнее...
uint | GetTurnBasedTime ()
Возвращает время до окончания хода. Подробнее...
uint | ItemsCount ()
Возвращает количество всех предметов, находящихся в инвентаре криттера. Подробнее...
uint | ItemsWeight ()
Возвращает общий вес всех предметов, находящихся в инвентаре криттера. Подробнее...
uint | ItemsVolume ()
Возвращает общий объем всех предметов, находящихся в инвентаре криттера. Подробнее...
uint | CountItem (uint16 protoId)
Возвращает количество указанных предметов, находящихся в инвентаре криттера. Подробнее...
ItemCl | GetItem (uint16 protoId, int slot)
Возвращает указатель на объект предмета, который находится в инвентаре криттера. Подробнее...
uint | GetItems (int slot, ItemCl @[]@+items)
Находит все предметы, которые находятся в инвентаре. Подробнее...
uint | GetItemsByType (int type, Item @[]@+items)
Позволяет получить все предметы указанного типа, находящиеся в инвентаре криттера. Подробнее...
ProtoItem | GetSlotProto (int slot, uint8 &mode)
Позволяет получить прототип предмета, который находится в указанном слоте. Подробнее...
bool | CheckKey (uint doorId)
Проверяет, есть ли у криттера ключ от указанного замка. Подробнее...
void | SetVisible (bool visible)
Позволяет включить/отключить видимость криттера в клиенте в совокупности с его освещением и яйцом прозрачности. Подробнее...
bool | GetVisible ()
Позволяет проверить видим ли криттер в клиенте. Подробнее...
ProtoItem | GetSlotProto (int slot)
Возвращает прототип предмета, находящегося в указанном слоте криттера. Подробнее...
uint | GetMultihex ()
Возвращает значение мултигексовости для персонажа Подробнее...
Анимация
bool | IsAnimAviable (uint anim1, uint anim2)
Позволяет проверить, существует ли указанная анимация для криттера. Подробнее...
bool | IsAnimPlaying ()
Позволяет проверить, проигрывается ли в данный момент какая-либо анимация. Подробнее...
uint | GetAnim1 ()
Возвращает индекс текущей анимации Anim1. Подробнее...
void | Animate (uint anim1, uint anim2)
Ставит указанную анимацию в очередь проигрываемых анимаций криттера. Подробнее...
void | Animate (uint anim1, uint anim2, ItemCl @+item)
Ставит указанную анимацию в очередь проигрываемых анимаций криттера. Подробнее...
void | ClearAnim ()
Очищает очередь анимаций и прекращает проигрывание текущей. Подробнее...

Открытые атрибуты

const uint | Id
Уникальный идентификатор криттера. Подробнее...
const uint16 | Pid
Номер прототипа криттера. Подробнее...
const uint8 | CrType
Базовый тип анимации криттера. Подробнее...
const uint8 | CrTypeAlias
Дополнительный базовый тип. Подробнее...
const uint16 | HexX
Координата, по оси X, расположения криттера на карте. Подробнее...
const uint16 | HexY
Координата, по оси Y, расположения криттера на карте. Подробнее...
const uint8 | Dir
Направление, в которое повернут криттер. Подробнее...
const uint16 | FlagsExt
Флаги криттера, предназначенные только для чтения. Подробнее...
DataVal | Param
Массив значений параметров криттера. Подробнее...
string NameOnHead
Если данная строка не пустая, то выводится над головой криттера, в противном случае выводится имя криттера. Подробнее...
uint | NameColor
Цвет имени над головой криттера Подробнее...
uint | ContourColor
Цвет обводки криттера Подробнее...
int[] | Anim3dLayer
Значения слоев 3D-модели криттера. Подробнее...
const uint | Life
Уточняет состояние криттера. Подробнее...
const uint | Knockout
Уточняет состояние криттера. Подробнее...
const uint | Dead
Уточняет состояние криттера. Подробнее...

Подробное описание

Функционально ограниченный эквивалент класса Critter, доступный при скриптинге клиента.

Обладает меньшим функционалом по сравнению с серверным: почти все статы, навыки, перки и т.п. можно просмотреть только у самого игрока, про что не следует забывать.

Методы

bool IsChosen ( )

Позволяет проверить, является ли криттер тем игроком, для которого запущен клиент.

bool IsPlayer ( )

Позволяет проверить, является ли криттер игроком.

Возвращает
true – если криттер является игроком; false – в противном случае.
bool IsNpc ( )

Позволяет проверить, является ли криттер NPC.

Возвращает
true – если криттер является NPC; false – в противном случае.
bool IsLife ( )

Проверяет, жив ли криттер.

Возвращает
true – если криттер жив; false – в противном случае.
См. также
IsDead
IsKnockout
bool IsKnockout ( )

Проверяет, находится ли криттер в нокдауне.

Возвращает
true – если криттер в нокдауне; false – в противном случае.
См. также
IsDead
IsLife
bool IsDead ( )

Проверяет, мёртв ли криттер.

Возвращает
true – если криттер мёртв; false – в противном случае.
См. также
IsKnockout
IsLife
bool IsFree ( )

Проверяет, свободен ли криттер или нет.

Возвращает
true – если криттер свободен; false – в противном случае.
См. также
IsBusy
bool IsBusy ( )

Проверяет, занят ли криттер или нет.

Возвращает
true – если криттер занят; false – в противном случае.
См. также
IsFree
bool IsTurnBasedTurn ( )

Проверяет, ход криттера ли в данный момент в пошаговом бою.

Возвращает
true – если ход данного криттера; false – в противном случае.
uint GetTurnBasedTime ( )

Возвращает время до окончания хода.

Возвращает
время в миллисекундах.
uint ItemsCount ( )

Возвращает количество всех предметов, находящихся в инвентаре криттера.

Возвращает
Количество всех предметов.
uint ItemsWeight ( )

Возвращает общий вес всех предметов, находящихся в инвентаре криттера.

Возвращает
Общий вес предметов в инвентаре.
uint ItemsVolume ( )

Возвращает общий объем всех предметов, находящихся в инвентаре криттера.

Возвращает
Общий объем предметов в инвентаре.
uint CountItem ( uint16 protoId )

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

Аргументы
protoId ID прототипа предмета (см. файл ITEMPID.H).
Возвращает
Количество предметов с указанным прототипом, находящихся в инвентаре.
ItemCl GetItem | ( | uint16 | protoId,
 |  | int | slot
 | ) |  |

Возвращает указатель на объект предмета, который находится в инвентаре криттера.

Аргументы
protoId | ID прототипа предмета (см. файл ITEMPID.H).
slot | Слот, в котором находится предмет (см. Slots). Если установлено значение: -1, то слот учитываться не будет.
Возвращает
Указатель на экземпляр класса ItemCl. В случае провала – null.
uint GetItems | ( | int | slot,
 |  | ItemCl @@+[] | items
 | ) |  |

Находит все предметы, которые находятся в инвентаре.

Аргументы
items | Массив указателей на предметы, которые находятся в инвентаре. Массив не очищается, а дописывается с конца нужными предметами.
slot | Слот, в котором находятся предметы (см. Slots). Если установлено значение: -1, то слот учитываться не будет.
Возвращает
Количество найденных предметов.
uint GetItemsByType | ( | int | type,
 |  | Item @@+[] | items
 | ) |  |

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

Аргументы
type | Тип предмета (см. Items types).
items | Массив, в конец которого будут записаны найденные предметы.
Возвращает
Количество предметов указанного типа.
ProtoItem GetSlotProto | ( | int | slot,
 |  | uint8 & | mode
 | ) |  |

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

Аргументы
slot | Слот (см. Slots).
mode | В аргументе возвращается текущий режим атаки, если объект в слоте является оружием старшие четыре бита - прицел (см. Hit Locations), младшие четыре бита - тип использования (0 – primary, 1 – secondary, 2 – third).
Возвращает
Указатель на экземпляр класса ProtoItem. Если слот пуст, то возвращается null.
bool CheckKey ( uint doorId )

Проверяет, есть ли у криттера ключ от указанного замка.

Аргументы
doorId Уникальный номер замка. Так же учитывается сетчатка криттера и отпечатки пальцев. Эти номера уникальны для каждого криттера.
Возвращает
true – если у криттера есть такой ключ; false – если такого ключа нет.
void SetVisible ( bool visible )

Позволяет включить/отключить видимость криттера в клиенте в совокупности с его освещением и яйцом прозрачности.

Аргументы
visible Устанавливаемое значение.
См. также
GetVisible
bool GetVisible ( )

Позволяет проверить видим ли криттер в клиенте.

Возвращает
true – если криттер виден; false – в противном случае.
См. также
SetVisible
ProtoItem GetSlotProto ( int slot )

Возвращает прототип предмета, находящегося в указанном слоте криттера.

Аргументы
slot См. Slots.
Возвращает
Указатель на экземпляр класса ProtoItem. Если в слоте ничего нет – null.
uint GetMultihex ( )

Возвращает значение мултигексовости для персонажа

bool IsAnimAviable | ( | uint | anim1,
 |  | uint | anim2
 | ) |  |

Позволяет проверить, существует ли указанная анимация для криттера.

Аргументы
anim1 | Первый индекс анимации (см. ANIM1_* в _animation.fos).
anim2 | Второй индекс анимации (см. ANIM2_* в _animation.fos).
Возвращает
true, если существует; false – в противном случае.
bool IsAnimPlaying ( )

Позволяет проверить, проигрывается ли в данный момент какая-либо анимация.

uint GetAnim1 ( )

Возвращает индекс текущей анимации Anim1.

Возвращает
Cм. ANIM1_* в _animation.fos.
void Animate | ( | uint | anim1,
 |  | uint | anim2
 | ) |  |

Ставит указанную анимацию в очередь проигрываемых анимаций криттера.

Аргументы
anim1 | Первый индекс анимации (см. ANIM1_* в _animation.fos).
anim2 | Второй индекс анимации (см. ANIM2_* в _animation.fos).
См. также
animation2d_process
animation3d_process
void Animate | ( | uint | anim1,
 |  | uint | anim2,
 |  | ItemCl @+ | item
 | ) |  |

Ставит указанную анимацию в очередь проигрываемых анимаций криттера.

Аргументы
anim1 | Первый индекс анимации (см. ANIM1_* в _animation.fos).
anim2 | Второй индекс анимации (см. ANIM2_* в _animation.fos).
item | Указатель на предмет, используемый в анимации.
См. также
animation2d_process
animation3d_process
void ClearAnim ( )

Очищает очередь анимаций и прекращает проигрывание текущей.

Данные класса

const uint Id

Уникальный идентификатор криттера.

const uint16 Pid

Номер прототипа криттера.

const uint8 CrType

Базовый тип анимации криттера.

const uint8 CrTypeAlias

Дополнительный базовый тип.

const uint16 HexX

Координата, по оси X, расположения криттера на карте.

const uint16 HexY

Координата, по оси Y, расположения криттера на карте.

const uint8 Dir

Направление, в которое повернут криттер.

const uint16 FlagsExt

Флаги криттера, предназначенные только для чтения.

См. Critter extra flags.

DataVal Param

Массив значений параметров криттера.

string NameOnHead

Если данная строка не пустая, то выводится над головой криттера, в противном случае выводится имя криттера.

См __ShowNpcNames.

uint NameColor

Цвет имени над головой криттера

uint ContourColor

Цвет обводки криттера

int [] Anim3dLayer

Значения слоев 3D-модели криттера.

Значения смотрите в _animations.fos, 3d models layers.

const uint Life

Уточняет состояние криттера.

Используется для анимаций.

const uint Knockout

Уточняет состояние криттера.

Используется для анимаций.

const uint Dead

Уточняет состояние криттера.

Используется для анимаций.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Класс ItemCl

  • Алфавитный указатель классов
  • Члены классов
Открытые члены | Полный список членов класса
Класс ItemCl
API клиента

Функционально ограниченный эквивалент класса Item, доступный при скриптинге клиента. Подробнее...

Открытые члены

bool | IsGrouped ()
Позволяет проверить, группируется ли предмет. Подробнее...
bool | IsWeared ()
Позволяет проверить, изнашивается ли предмет. Подробнее...
uint | GetScriptId ()
Возвращает ID скрипта, связанного с данным предметом. Подробнее...
uint8 | GetType ()
Возвращает тип предмета. Подробнее...
uint16 | GetProtoId ()
Возвращает ID прототипа предмета. Подробнее...
uint | GetCount ()
Возвращает количество предметов в данном экземпляре. Подробнее...
bool | GetMapPosition (uint16 &hexX, uint16 &hexY)
Позволяет получить координаты предмета на карте. Подробнее...
void | Animate (uint8 fromFrame, uint8 toFrame)
Проигрывает анимацию предмета. Подробнее...
bool | IsCar ()
Проверяет, является ли предмет машиной. Подробнее...
ItemCl | CarGetBag (int numBag)
Возвращает указатель на предмет-контейнер, представляющий багажник авто. Подробнее...

Открытые атрибуты

Общие поля

200

const uint | Id
Уникальный идентификатор предмета. Подробнее...
const ProtoItem | Proto
Указатель на прототип предмета. Подробнее...
const uint | Data
Поле, в котором может храниться произвольная информация. Подробнее...
const uint16 | SortValue
Сортировочное число. Подробнее...
const uint | PicInv
Изображение в инвентаре. Подробнее...
const uint | PicMap
Изображение на карте. Подробнее...
const uint8 | Info
Используется в формуле для определения номера строки с описанием предмета. Подробнее...
const uint | Flags
Флаги предмета. Подробнее...
uint16 | RadioFlags
Флаги рации (См. Подробнее...
uint8 Indicator const string | Lexems
Значение индикатора заряда Подробнее...
Доступ
const uint8 | Accessory
Определяет, где находится предмет. Подробнее...
const uint | MapId
Уникальный идентификатор карты, на которой находится предмет. Подробнее...
const uint16 | HexX
Координата месторасположения предмета по оси X. Подробнее...
const uint16 | HexY
Координата месторасположения предмета по оси Y. Подробнее...
const uint | CritId
Уникальный идентификатор криттера, в инвентаре которого находится предмет. Подробнее...
const uint8 | CritSlot
Слот в инвентаре криттера, в котором находится предмет. Подробнее...
const uint | ContainerId
Уникальный идентификатор контейнера, в котором находится предмет. Подробнее...
const uint | SpecialId
Специальный ID предмета. Подробнее...
Для анимаций
const uint16 | AnimWaitBase
(?) Подробнее...
const uint8 | AnimStayBegin
(?) Подробнее...
const uint8 | AnimStayEnd
(?) Подробнее...
const uint8 | AnimShowBegin
(?) Подробнее...
const uint8 | AnimShowEnd
(?) Подробнее...
const uint8 | AnimHideBegin
(?) Подробнее...
const uint8 | AnimHideEnd
(?) Подробнее...
Для изнашивающихся предметов (оружие, броня)
const uint8 | BrokenFlags
(?) Подробнее...
const uint8 | BrokenCount
(?) Подробнее...
const uint16 | BrokenWear
(?) Подробнее...
Для замков (ключи, контейнеры, двери)
const uint | LockerId
Номер замка. Подробнее...
const uint16 | LockerCondition
Состояние замка. Подробнее...
const uint16 | LockerComplexity
Сложность замка (штраф к навыку Взлом). Подробнее...
Для оружия
const uint16 | Weapon_AmmoPid
Текущий PID заряженных патронов. Подробнее...
const uint16 | Weapon_AmmoCount
Текущее количество патронов. Подробнее...
uint8 | Mode
Активный режим атаки. Подробнее...
Разное (Misc2)
const uint | m2_Val1
Используется для хранения произвольной информации. Подробнее...
const uint | m2_Val2
Используется для хранения произвольной информации. Подробнее...
const uint | m2_Val3
Используется для хранения произвольной информации. Подробнее...
const uint | m2_Val4
Используется для хранения произвольной информации. Подробнее...

Подробное описание

Функционально ограниченный эквивалент класса Item, доступный при скриптинге клиента.

Методы

bool IsGrouped ( )

Позволяет проверить, группируется ли предмет.

bool IsWeared ( )

Позволяет проверить, изнашивается ли предмет.

uint GetScriptId ( )

Возвращает ID скрипта, связанного с данным предметом.

Возвращает
ID скрипта. 0, если скрипт не назначен.
uint8 GetType ( )

Возвращает тип предмета.

Возвращает
Тип предмета (см. Items types). В случае провала – 0.
uint16 GetProtoId ( )

Возвращает ID прототипа предмета.

См. ITEMPID.H.

Возвращает
ID прототипа предмета. В случае провала – 0.
uint GetCount ( )

Возвращает количество предметов в данном экземпляре.

bool GetMapPosition | ( | uint16 & | hexX,
 |  | uint16 & | hexY
 | ) |  |

Позволяет получить координаты предмета на карте.

В параметрах возвращается месторасположение предмета на карте, независимо от того, где находится предмет (в предмете-контейнере, в инвентаре криттера или просто на карте).

Аргументы
hexX,hexY В эти переменные функция передаст координаты предмета.
Возвращает
true – если координаты получены успешно; false – в противном случае.
void Animate | ( | uint8 | fromFrame,
 |  | uint8 | toFrame
 | ) |  |

Проигрывает анимацию предмета.

Аргументы
fromFrame | Начальный кадр анимации.
toFrame | Конечный кадр анимации.
Прим.
Направление может быть любым (например, Animate(1,7) или Animate(7,1)).
bool IsCar ( )

Проверяет, является ли предмет машиной.

Возвращает
true – если машина; false – в протвном случае.
ItemCl CarGetBag ( int numBag )

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

Аргументы
numBag Номер предмета-контейнера. Обычно 0. Всего машина может иметь 3 багажника.
Возвращает
Указатель на экземпляр класса Item. В случае провала – null.

Данные класса

const uint Id

Уникальный идентификатор предмета.

const ProtoItem Proto

Указатель на прототип предмета.

const uint Data

Поле, в котором может храниться произвольная информация.

const uint16 SortValue

Сортировочное число.

Используется для сортировки предметов при отображении в инвентаре/контейнере/карте/etc. Сортировка производится по возрастанию (от меньших значений к большим).

const uint PicInv

Изображение в инвентаре.

Номер вычисляется с помощью функции GetStrHash. При нулевом значении данные берутся из прототипа.

const uint PicMap

Изображение на карте.

Номер вычисляется с помощью функции GetStrHash. При нулевом значении данные берутся из прототипа.

const uint8 Info

Используется в формуле для определения номера строки с описанием предмета.

Формула следующая:
GetProtoId()*100 + Info (+1 для полного описания).
const uint Flags

Флаги предмета.

Cм. Item flags.

См. также
Item::Flags
uint16 RadioFlags

Флаги рации (См.

Radio flags)

uint8 Indicator const string Lexems

Значение индикатора заряда

Строка значений лексем предмета.

const uint8 Accessory

Определяет, где находится предмет.

Cм. Items accessory.

const uint MapId

Уникальный идентификатор карты, на которой находится предмет.

const uint16 HexX

Координата месторасположения предмета по оси X.

const uint16 HexY

Координата месторасположения предмета по оси Y.

const uint CritId

Уникальный идентификатор криттера, в инвентаре которого находится предмет.

const uint8 CritSlot

Слот в инвентаре криттера, в котором находится предмет.

См. Slots.

const uint ContainerId

Уникальный идентификатор контейнера, в котором находится предмет.

const uint SpecialId

Специальный ID предмета.

Подробности см. в Item::SpecialId.

const uint16 AnimWaitBase

(?)

const uint8 AnimStayBegin

(?)

const uint8 AnimStayEnd

(?)

const uint8 AnimShowBegin

(?)

const uint8 AnimShowEnd

(?)

const uint8 AnimHideBegin

(?)

const uint8 AnimHideEnd

(?)

const uint8 BrokenFlags

(?)

const uint8 BrokenCount

(?)

const uint16 BrokenWear

(?)

const uint LockerId

Номер замка.

const uint16 LockerCondition

Состояние замка.

См. Locker. Только для контейнеров и дверей.

const uint16 LockerComplexity

Сложность замка (штраф к навыку Взлом).

Только для контейнеров и дверей.

const uint16 Weapon_AmmoPid

Текущий PID заряженных патронов.

const uint16 Weapon_AmmoCount

Текущее количество патронов.

uint8 Mode

Активный режим атаки.

старшие четыре бита - прицел (см. Hit Locations), младшие четыре бита - тип использования (0 – primary, 1 – secondary, 2 – third).

const uint m2_Val1

Используется для хранения произвольной информации.

const uint m2_Val2

Используется для хранения произвольной информации.

const uint m2_Val3

Используется для хранения произвольной информации.

const uint m2_Val4

Используется для хранения произвольной информации.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: API маппера

Классы
API маппера

Классы

struct | MapperObject
struct | MapperMap

Зарезервированные функции

void | start ()
uint | loop ()
bool | console_message (string &message)
void | render_iface (uint layer)
void | render_map ()
bool | mouse_down (int click)
bool | mouse_up (int click)
void | mouse_move (int x, int y)
bool | key_down (uint8 key)
bool | key_up (uint8 key)
void | input_lost ()

Пользовательские функции

Вызываются из консоли используя символ '#'

string FuncName (string str)

Глобальные функции

void | SetDefaultCritterParam (uint index, int param)
Начальные параметры: 0 ST_DIALOG_ID, 1 ST_AI_ID, 2 ST_BAG_ID, 3 ST_TEAM_ID, 4 ST_NPC_ROLE, 5 ST_REPLICATION_TIME, 6..14 -1. Подробнее...
MapperMap | LoadMap (string &fileName, int pathType)
void | UnloadMap (MapperMap @+map)
bool | SaveMap (MapperMap @+map, string &fileName, int pathType)
bool | ShowMap (MapperMap @+map)
int | GetLoadedMaps (MapperMap @[]@+maps)
void | DeleteObject (MapperObject @+obj)
void | DeleteObjects (MapperObject @[]&objects)
void | SelectObject (MapperObject @+obj, bool set)
void | SelectObjects (MapperObject @[]&objects, bool set)
MapperObject GetSelectedObject ()
uint | GetSelectedObjects (MapperObject @[]@+objects)
MapperObject | GetMonitorObject (int x, int y, bool ignoreInterface=false)
void | GetMousePosition (int &x, int &y)
uint | GetMapFileNames (string @+dir, string @[]@+names)
ProtoItem | GetProtoItem (uint16 protoId)
bool | LoadDat (string &datName)
void | MoveScreen (uint16 hexX, uint16 hexY, uint speed)
int | GetKeybLang ()
string | GetIfaceIniStr (string &key)
bool | LoadFont (int font, string &fontFileName)
void | SetDefaultFont (int font, uint color)
void | MouseClick (int x, int y, int button, int cursor)
void | KeyboardPress (uint8 key1, uint8 key2)
void | Log (string &text)
string GetLastError ()
int | Random (int minimum, int maximum)
uint | GetTick ()
uint | GetAngelScriptProperty (int property)
void | SetAngelScriptProperty (int property, uint value)
void | GetHexCoord (uint16 fromHx, uint16 fromHy, uint16 &toHx, uint16 &toHy, float angle, uint dist)
uint | GetPathLength (uint16 fromHx, uint16 fromHy, uint16 toHx, uint16 toHy, uint cut)
bool | GetHexPos (uint16 hx, uint16 hy, int &x, int &y)
bool | GetMonitorHex (int x, int y, uint16 &hx, uint16 &hy)
void | MoveHexByDir (uint16 &hexX, uint16 &hexY, uint8 dir, uint steps)
uint | GetDistantion (uint16 hexX1, uint16 hexY1, uint16 hexX2, uint16 hexY2)
uint8 | GetDirection (uint16 fromX, uint16 fromY, uint16 toX, uint16 toY)
uint8 | GetOffsetDir (uint16 hx, uint16 hy, uint16 tx, uint16 ty, float offset)
void | Message (string &text)
void | Message (int textMsg, uint strNum)
void | MapMessage (string &text, uint16 hx, uint16 hy, uint timeMs, uint color, bool fade, int offsX, int offsY)
string | GetMsgStr (int textMsg, uint strNum)
string | GetMsgStr (int textMsg, uint strNum, uint skipCount)
uint | GetMsgStrNumUpper (int textMsg, uint strNum)
uint | GetMsgStrNumLower (int textMsg, uint strNum)
uint | GetMsgStrCount (int textMsg, uint strNum)
bool | IsMsgStr (int textMsg, uint strNum)
string | ReplaceText (const string &text, const string &replace, const string &str)
string | ReplaceText (const string &text, const string &replace, int i)
uint | LoadSprite (string &name, int pathIndex)
uint | LoadSprite (uint16 sprNum, uint8 dir, int pathIndex)
int | GetSpriteWidth (uint sprId, int sprIndex)
int | GetSpriteHeight (uint sprId, int sprIndex)
uint | GetSpriteCount (uint sprId)
void | DrawSprite (uint sprId, int sprIndex, int x, int y, uint color)
void | DrawSprite (uint sprId, int sprIndex, int x, int y, int w, int h, bool scratch, bool center, uint color)
void | DrawText (string &text, int x, int y, int w, int h, uint color, int font, int flags)
void | DrawPrimitive (int primitiveType, int[]&data)
void | DrawMapSprite (uint16 hx, uint16 hy, uint16 effectPid, uint sprId, int sprIndex, int offsX, int offsY)
void | DrawCritter2d (uint crType, uint anim1, uint anim2, uint8 dir, int l, int t, int r, int b, bool scratch, bool center, uint color)
void | DrawCritter3d (uint instance, uint crType, uint anim1, uint anim2, int[]@+layers, float[]@+position, uint color)
uint | TabGetTileDirs (int tab, string @[]@+dirNames, bool[]@+includeSubdirs)
uint | TabGetItemPids (int tab, string @+subTab, uint16[]@+itemPids)
uint | TabGetCritterPids (int tab, string @+subTab, uint16[]@+critterPids)
void | TabSetTileDirs (int tab, string @[]@+dirNames, bool[]@+includeSubdirs)
void | TabSetItemPids (int tab, string @+subTab, uint16[]@+itemPids)
void | TabSetCritterPids (int tab, string @+subTab, uint16[]@+critterPids)
void | TabDelete (int tab)
void | TabSelect (int tab, string @+subTab, bool show=false)
void | TabSetName (int tab, string @+subName)
void | Update () const
uint | GetChilds (MapperObject @[]@+objects) const
void | MoveToHex (uint16 hexX, uint16 hexY)
void | MoveToHexOffset (int x, int y)
void | MoveToDir (uint8 dir)
MapperObject | AddObject (uint16 hexX, uint16 hexY, int mapObjType, uint16 pid)
MapperObject | GetObject (uint16 hexX, uint16 hexY, int mapObjType, uint16 pid, uint skip) const
uint | GetObjects (uint16 hexX, uint16 hexY, uint radius, int mapObjType, uint16 pid, MapperObject @[]@+objects) const
void | UpdateObjects () const
string | GetTileName (uint16 hexX, uint16 hexY, bool roof, uint index) const
void | AddTileName (uint16 hexX, uint16 hexY, int offsX, int offsY, int layer, bool roof, string @+picName)
uint | GetDayTime (uint dayPart) const
void | SetDayTime (uint dayPart, uint time)
void | GetDayColor (uint dayPart, uint8 &r, uint8 &g, uint8 &b) const
void | SetDayColor (uint dayPart, uint8 r, uint8 g, uint8 b)
void | Resize (uint16 width, uint16 height)

Функции для работы с константами (*Names.lst)

int | GetConstantValue (int constCollection, string @+name)
Определение значения константы по имени. Подробнее...
string | GetConstantName (int constCollection, int value)
Определение имени константы по значению. Подробнее...
void | AddConstant (int constCollection, string @+name, int value)
Добавление отдельной константы в коллекцию. Подробнее...
bool | LoadConstants (int constCollection, string @+fileName, int pathType)
Загрузка/перезагрузка коллекции. Подробнее...

Геомертия игровой сетки

Указывает надо ли разбивать тайлы в папках по группам.

Группа определяется как строка в имени файла до первого числа (например, abc12.png - группа abc), а если номера нет, то группа определяется как '<other>'.

В скрипте config.fos, в функции InitializeGeometry(), добавлены необходимые настройки для трех игр: Fallout1/2, Fallout Tactics и Arcanum. Данная функция вызывается в скриптах сервера, клиента и маппера, т.к. информация о геометрии нужна всем трем. Четырехугольная изометрия использует восемь направлений, гексогональная шесть.
Рабочие спрайты для геометрии находятся в art/geometry/.

bool | __MapHexagonal
Тип изометрии true - гексогональная, false - четырехугольная. Подробнее...
int | __MapHexWidth
Ширина гекса Подробнее...
int | __MapHexHeight
Высота гекса Подробнее...
int | __MapHexLineHeight
Высота линии гексов Подробнее...
int | __MapTileOffsX
Смещение тайлов земли по горизонтали Подробнее...
int | __MapTileOffsY
Смещение тайлов земли по вертикали Подробнее...
int | __MapRoofOffsX
Смещение тайлов крыши по горизонтали Подробнее...
int | __MapRoofOffsY
Смещение тайлов крыши по вертикали Подробнее...
int | __MapRoofSkipSize
Кол-во гексов на один тайл крыши (нужно для его корректного скрывания) Подробнее...
float | __MapCameraAngle
Угол для рендеринга трехмерных моделей Подробнее...
bool | __MapSmoothPath
Сглаживание пути при перемещениях Подробнее...
string __MapDataPrefix
Путь и префикс для файлов геометрии Подробнее...

Подробное описание

Функции

void start ( )
uint loop ( )
bool console_message ( string & message )
void render_iface ( uint layer )
void render_map ( )
bool mouse_down ( int click )
bool mouse_up ( int click )
void mouse_move | ( | int | x,
 |  | int | y
 | ) |  |
bool key_down ( uint8 key )
bool key_up ( uint8 key )
void input_lost ( )
string FuncName ( string str )
void SetDefaultCritterParam | ( | uint | index,
 |  | int | param
 | ) |  |

Начальные параметры: 0 ST_DIALOG_ID, 1 ST_AI_ID, 2 ST_BAG_ID, 3 ST_TEAM_ID, 4 ST_NPC_ROLE, 5 ST_REPLICATION_TIME, 6..14 -1.

MapperMap LoadMap | ( | string & | fileName,
 |  | int | pathType
 | ) |  |
void UnloadMap ( MapperMap @+ map )
bool SaveMap | ( | MapperMap @+ | map,
 |  | string & | fileName,
 |  | int | pathType
 | ) |  |
bool ShowMap ( MapperMap @+ map )
int GetLoadedMaps ( MapperMap @@+[] maps )
void DeleteObject ( MapperObject @+ obj )
void DeleteObjects ( MapperObject @&[] objects )
void SelectObject | ( | MapperObject @+ | obj,
 |  | bool | set
 | ) |  |
void SelectObjects | ( | MapperObject @&[] | objects,
 |  | bool | set
 | ) |  |
MapperObject GetSelectedObject ( )
uint GetSelectedObjects ( MapperObject @@+[] objects )
MapperObject GetMonitorObject | ( | int | x,
 |  | int | y,
 |  | bool | ignoreInterface = false
 | ) |  |
void GetMousePosition | ( | int & | x,
 |  | int & | y
 | ) |  |
uint GetMapFileNames | ( | string @+ | dir,
 |  | string @@+[] | names
 | ) |  |
ProtoItem GetProtoItem ( uint16 protoId )
bool LoadDat ( string & datName )
void MoveScreen | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | uint | speed
 | ) |  |
int GetKeybLang ( )
string GetIfaceIniStr ( string & key )
bool LoadFont | ( | int | font,
 |  | string & | fontFileName
 | ) |  |
void SetDefaultFont | ( | int | font,
 |  | uint | color
 | ) |  |
void MouseClick | ( | int | x,
 |  | int | y,
 |  | int | button,
 |  | int | cursor
 | ) |  |
void KeyboardPress | ( | uint8 | key1,
 |  | uint8 | key2
 | ) |  |
void Log ( string & text )
string GetLastError ( )
int Random | ( | int | minimum,
 |  | int | maximum
 | ) |  |
uint GetTick ( )
uint GetAngelScriptProperty ( int property )
void SetAngelScriptProperty | ( | int | property,
 |  | uint | value
 | ) |  |
void GetHexCoord | ( | uint16 | fromHx,
 |  | uint16 | fromHy,
 |  | uint16 & | toHx,
 |  | uint16 & | toHy,
 |  | float | angle,
 |  | uint | dist
 | ) |  |
uint GetPathLength | ( | uint16 | fromHx,
 |  | uint16 | fromHy,
 |  | uint16 | toHx,
 |  | uint16 | toHy,
 |  | uint | cut
 | ) |  |
bool GetHexPos | ( | uint16 | hx,
 |  | uint16 | hy,
 |  | int & | x,
 |  | int & | y
 | ) |  |
bool GetMonitorHex | ( | int | x,
 |  | int | y,
 |  | uint16 & | hx,
 |  | uint16 & | hy
 | ) |  |
void MoveHexByDir | ( | uint16 & | hexX,
 |  | uint16 & | hexY,
 |  | uint8 | dir,
 |  | uint | steps
 | ) |  |
uint GetDistantion | ( | uint16 | hexX1,
 |  | uint16 | hexY1,
 |  | uint16 | hexX2,
 |  | uint16 | hexY2
 | ) |  |
uint8 GetDirection | ( | uint16 | fromX,
 |  | uint16 | fromY,
 |  | uint16 | toX,
 |  | uint16 | toY
 | ) |  |
uint8 GetOffsetDir | ( | uint16 | hx,
 |  | uint16 | hy,
 |  | uint16 | tx,
 |  | uint16 | ty,
 |  | float | offset
 | ) |  |
void Message ( string & text )
void Message | ( | int | textMsg,
 |  | uint | strNum
 | ) |  |
void MapMessage | ( | string & | text,
 |  | uint16 | hx,
 |  | uint16 | hy,
 |  | uint | timeMs,
 |  | uint | color,
 |  | bool | fade,
 |  | int | offsX,
 |  | int | offsY
 | ) |  |
string GetMsgStr | ( | int | textMsg,
 |  | uint | strNum
 | ) |  |
string GetMsgStr | ( | int | textMsg,
 |  | uint | strNum,
 |  | uint | skipCount
 | ) |  |
uint GetMsgStrNumUpper | ( | int | textMsg,
 |  | uint | strNum
 | ) |  |
uint GetMsgStrNumLower | ( | int | textMsg,
 |  | uint | strNum
 | ) |  |
uint GetMsgStrCount | ( | int | textMsg,
 |  | uint | strNum
 | ) |  |
bool IsMsgStr | ( | int | textMsg,
 |  | uint | strNum
 | ) |  |
string ReplaceText | ( | const string & | text,
 |  | const string & | replace,
 |  | const string & | str
 | ) |  |
string ReplaceText | ( | const string & | text,
 |  | const string & | replace,
 |  | int | i
 | ) |  |
uint LoadSprite | ( | string & | name,
 |  | int | pathIndex
 | ) |  |
uint LoadSprite | ( | uint16 | sprNum,
 |  | uint8 | dir,
 |  | int | pathIndex
 | ) |  |
int GetSpriteWidth | ( | uint | sprId,
 |  | int | sprIndex
 | ) |  |
int GetSpriteHeight | ( | uint | sprId,
 |  | int | sprIndex
 | ) |  |
uint GetSpriteCount ( uint sprId )
void DrawSprite | ( | uint | sprId,
 |  | int | sprIndex,
 |  | int | x,
 |  | int | y,
 |  | uint | color
 | ) |  |
void DrawSprite | ( | uint | sprId,
 |  | int | sprIndex,
 |  | int | x,
 |  | int | y,
 |  | int | w,
 |  | int | h,
 |  | bool | scratch,
 |  | bool | center,
 |  | uint | color
 | ) |  |
void DrawText | ( | string & | text,
 |  | int | x,
 |  | int | y,
 |  | int | w,
 |  | int | h,
 |  | uint | color,
 |  | int | font,
 |  | int | flags
 | ) |  |
void DrawPrimitive | ( | int | primitiveType,
 |  | int &[] | data
 | ) |  |
void DrawMapSprite | ( | uint16 | hx,
 |  | uint16 | hy,
 |  | uint16 | effectPid,
 |  | uint | sprId,
 |  | int | sprIndex,
 |  | int | offsX,
 |  | int | offsY
 | ) |  |
void DrawCritter2d | ( | uint | crType,
 |  | uint | anim1,
 |  | uint | anim2,
 |  | uint8 | dir,
 |  | int | l,
 |  | int | t,
 |  | int | r,
 |  | int | b,
 |  | bool | scratch,
 |  | bool | center,
 |  | uint | color
 | ) |  |
void DrawCritter3d | ( | uint | instance,
 |  | uint | crType,
 |  | uint | anim1,
 |  | uint | anim2,
 |  | int @+[] | layers,
 |  | float @+[] | position,
 |  | uint | color
 | ) |  |
uint TabGetTileDirs | ( | int | tab,
 |  | string @@+[] | dirNames,
 |  | bool @+[] | includeSubdirs
 | ) |  |
uint TabGetItemPids | ( | int | tab,
 |  | string @+ | subTab,
 |  | uint16 @+[] | itemPids
 | ) |  |
uint TabGetCritterPids | ( | int | tab,
 |  | string @+ | subTab,
 |  | uint16 @+[] | critterPids
 | ) |  |
void TabSetTileDirs | ( | int | tab,
 |  | string @@+[] | dirNames,
 |  | bool @+[] | includeSubdirs
 | ) |  |
void TabSetItemPids | ( | int | tab,
 |  | string @+ | subTab,
 |  | uint16 @+[] | itemPids
 | ) |  |
void TabSetCritterPids | ( | int | tab,
 |  | string @+ | subTab,
 |  | uint16 @+[] | critterPids
 | ) |  |
void TabDelete ( int tab )
void TabSelect | ( | int | tab,
 |  | string @+ | subTab,
 |  | bool | show = false
 | ) |  |
void TabSetName | ( | int | tab,
 |  | string @+ | subName
 | ) |  |
void Update ( ) const
uint GetChilds ( MapperObject @@+[] objects ) const
void MoveToHex | ( | uint16 | hexX,
 |  | uint16 | hexY
 | ) |  |
void MoveToHexOffset | ( | int | x,
 |  | int | y
 | ) |  |
void MoveToDir ( uint8 dir )
MapperObject AddObject | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | int | mapObjType,
 |  | uint16 | pid
 | ) |  |
MapperObject GetObject | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | int | mapObjType,
 |  | uint16 | pid,
 |  | uint | skip
 | ) |  | const
uint GetObjects | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | uint | radius,
 |  | int | mapObjType,
 |  | uint16 | pid,
 |  | MapperObject @@+[] | objects
 | ) |  | const
void UpdateObjects ( ) const
string GetTileName | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | bool | roof,
 |  | uint | index
 | ) |  | const
void AddTileName | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | int | offsX,
 |  | int | offsY,
 |  | int | layer,
 |  | bool | roof,
 |  | string @+ | picName
 | ) |  |
uint GetDayTime ( uint dayPart ) const
void SetDayTime | ( | uint | dayPart,
 |  | uint | time
 | ) |  |
void GetDayColor | ( | uint | dayPart,
 |  | uint8 & | r,
 |  | uint8 & | g,
 |  | uint8 & | b
 | ) |  | const
void SetDayColor | ( | uint | dayPart,
 |  | uint8 | r,
 |  | uint8 | g,
 |  | uint8 | b
 | ) |  |
void Resize | ( | uint16 | width,
 |  | uint16 | height
 | ) |  |
int GetConstantValue | ( | int | constCollection,
 |  | string @+ | name
 | ) |  |

Определение значения константы по имени.

Аргументы
constCollection | Номер коллекции, см. Constants collections в _defines.fos.
name | Имя константы.
Возвращает
Значение константы.
string GetConstantName | ( | int | constCollection,
 |  | int | value
 | ) |  |

Определение имени константы по значению.

Аргументы
constCollection | Номер коллекции, см. Constants collections в _defines.fos.
value | Значение константы.
Возвращает
Имя константы.
void AddConstant | ( | int | constCollection,
 |  | string @+ | name,
 |  | int | value
 | ) |  |

Добавление отдельной константы в коллекцию.

Аргументы
constCollection | Номер коллекции, см. Constants collections в _defines.fos.
name | Имя константы.
value | Значение константы.
bool LoadConstants | ( | int | constCollection,
 |  | string @+ | fileName,
 |  | int | pathType
 | ) |  |

Загрузка/перезагрузка коллекции.

Аргументы
constCollection | Номер коллекции, см. Constants collections в _defines.fos.
fileName | Имя файла.
pathType | Путь.

Переменные

bool __MapHexagonal

Тип изометрии true - гексогональная, false - четырехугольная.

int __MapHexWidth

Ширина гекса

int __MapHexHeight

Высота гекса

int __MapHexLineHeight

Высота линии гексов

int __MapTileOffsX

Смещение тайлов земли по горизонтали

int __MapTileOffsY

Смещение тайлов земли по вертикали

int __MapRoofOffsX

Смещение тайлов крыши по горизонтали

int __MapRoofOffsY

Смещение тайлов крыши по вертикали

int __MapRoofSkipSize

Кол-во гексов на один тайл крыши (нужно для его корректного скрывания)

float __MapCameraAngle

Угол для рендеринга трехмерных моделей

bool __MapSmoothPath

Сглаживание пути при перемещениях

string __MapDataPrefix

Путь и префикс для файлов геометрии

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Структура MapperObject

  • Алфавитный указатель классов
  • Члены классов
Полный список членов класса
Структура MapperObject
API маппера

Открытые атрибуты

Общие поля
const uint8 | MapObjType
const uint16 | ProtoId
const uint16 | MapX
const uint16 | MapY
uint8 | Dir
const uint | UID
const uint | ContainerUID
const uint | ParentUID
const uint | ParentChildIndex
string ScriptName
string FuncName
uint | LightColor
uint8 | LightDay
uint8 | LightDirOff
uint8 | LightRadius
int8 | LightIntensity
int | UserData0
int | UserData1
int | UserData2
int | UserData3
int | UserData4
int | UserData5
int | UserData6
int | UserData7
int | UserData8
int | UserData9
Поля криттеров
uint8 | Critter_Cond
uint8 | Critter_CondExt
int16 | Critter_ParamIndex0
int16 | Critter_ParamIndex1
int16 | Critter_ParamIndex2
int16 | Critter_ParamIndex3
int16 | Critter_ParamIndex4
int16 | Critter_ParamIndex5
int16 | Critter_ParamIndex6
int16 | Critter_ParamIndex7
int16 | Critter_ParamIndex8
int16 | Critter_ParamIndex9
int16 | Critter_ParamIndex10
int16 | Critter_ParamIndex11
int16 | Critter_ParamIndex12
int16 | Critter_ParamIndex13
int16 | Critter_ParamIndex14
int | Critter_ParamValue0
int | Critter_ParamValue1
int | Critter_ParamValue2
int | Critter_ParamValue3
int | Critter_ParamValue4
int | Critter_ParamValue5
int | Critter_ParamValue6
int | Critter_ParamValue7
int | Critter_ParamValue8
int | Critter_ParamValue9
int | Critter_ParamValue10
int | Critter_ParamValue11
int | Critter_ParamValue12
int | Critter_ParamValue13
int | Critter_ParamValue14
Общие поля итемов и сценери
int16 | OffsetX
int16 | OffsetY
uint8 | AnimStayBegin
uint8 | AnimStayEnd
uint16 | AnimWait
string PicMap
string PicInv
uint8 | InfoOffset
Поля итемов
uint | Item_Count
uint8 | Item_BrokenFlags
uint8 | Item_BrokenCount
uint16 | Item_Deterioration
uint8 | Item_ItemSlot
uint16 | ITEM_TYPE_AMMOPid
uint | ITEM_TYPE_AMMOCount
uint | Item_LockerDoorId
uint16 | Item_LockerCondition
uint16 | Item_LockerComplexity
int16 | Item_TrapValue
int | Item_Val0
int | Item_Val1
int | Item_Val2
int | Item_Val3
int | Item_Val4
int | Item_Val5
int | Item_Val6
int | Item_Val7
int | Item_Val8
int | Item_Val9
Поля сценери
bool | Scenery_CanUse
bool | Scenery_CanTalk
uint | Scenery_TriggerNum
uint8 | Scenery_ParamsCount
int | Scenery_Param0
int | Scenery_Param1
int | Scenery_Param2
int | Scenery_Param3
int | Scenery_Param4
uint | Scenery_ToMapPid
uint | Scenery_ToEntire
uint8 | Scenery_ToDir
uint8 | Scenery_SpriteCut

Данные класса

const uint8 MapObjType
const uint16 ProtoId
const uint16 MapX
const uint16 MapY
uint8 Dir
const uint UID
const uint ContainerUID
const uint ParentUID
const uint ParentChildIndex
string ScriptName
string FuncName
uint LightColor
uint8 LightDay
uint8 LightDirOff
uint8 LightRadius
int8 LightIntensity
int UserData0
int UserData1
int UserData2
int UserData3
int UserData4
int UserData5
int UserData6
int UserData7
int UserData8
int UserData9
uint8 Critter_Cond
uint8 Critter_CondExt
int16 Critter_ParamIndex0
int16 Critter_ParamIndex1
int16 Critter_ParamIndex2
int16 Critter_ParamIndex3
int16 Critter_ParamIndex4
int16 Critter_ParamIndex5
int16 Critter_ParamIndex6
int16 Critter_ParamIndex7
int16 Critter_ParamIndex8
int16 Critter_ParamIndex9
int16 Critter_ParamIndex10
int16 Critter_ParamIndex11
int16 Critter_ParamIndex12
int16 Critter_ParamIndex13
int16 Critter_ParamIndex14
int Critter_ParamValue0
int Critter_ParamValue1
int Critter_ParamValue2
int Critter_ParamValue3
int Critter_ParamValue4
int Critter_ParamValue5
int Critter_ParamValue6
int Critter_ParamValue7
int Critter_ParamValue8
int Critter_ParamValue9
int Critter_ParamValue10
int Critter_ParamValue11
int Critter_ParamValue12
int Critter_ParamValue13
int Critter_ParamValue14
int16 OffsetX
int16 OffsetY
uint8 AnimStayBegin
uint8 AnimStayEnd
uint16 AnimWait
string PicMap
string PicInv
uint8 InfoOffset
uint Item_Count
uint8 Item_BrokenFlags
uint8 Item_BrokenCount
uint16 Item_Deterioration
uint8 Item_ItemSlot
uint16 ITEM_TYPE_AMMOPid
uint ITEM_TYPE_AMMOCount
uint Item_LockerDoorId
uint16 Item_LockerCondition
uint16 Item_LockerComplexity
int16 Item_TrapValue
int Item_Val0
int Item_Val1
int Item_Val2
int Item_Val3
int Item_Val4
int Item_Val5
int Item_Val6
int Item_Val7
int Item_Val8
int Item_Val9
bool Scenery_CanUse
bool Scenery_CanTalk
uint Scenery_TriggerNum
uint8 Scenery_ParamsCount
int Scenery_Param0
int Scenery_Param1
int Scenery_Param2
int Scenery_Param3
int Scenery_Param4
uint Scenery_ToMapPid
uint Scenery_ToEntire
uint8 Scenery_ToDir
uint8 Scenery_SpriteCut
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Структура MapperMap

  • Алфавитный указатель классов
  • Члены классов
Открытые члены | Открытые атрибуты | Полный список членов класса
Структура MapperMap
API маппера

Открытые члены

uint | GetTilesCount (uint16 hexX, uint16 hexY, bool roof) const
void | DeleteTile (uint16 hexX, uint16 hexY, bool roof, uint index)
uint | GetTile (uint16 hexX, uint16 hexY, bool roof, uint index) const
void | AddTile (uint16 hexX, uint16 hexY, int offsX, int offsY, int layer, bool roof, uint picHash)

Открытые атрибуты

const uint16 | Width
const uint16 | Height
const int | WorkHexX
const int | WorkHexY
int | Time
bool | NoLogOut
string ScriptModule
string ScriptFunc

Методы

uint GetTilesCount | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | bool | roof
 | ) |  | const
void DeleteTile | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | bool | roof,
 |  | uint | index
 | ) |  |
uint GetTile | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | bool | roof,
 |  | uint | index
 | ) |  | const
void AddTile | ( | uint16 | hexX,
 |  | uint16 | hexY,
 |  | int | offsX,
 |  | int | offsY,
 |  | int | layer,
 |  | bool | roof,
 |  | uint | picHash
 | ) |  |

Данные класса

const uint16 Width
const uint16 Height
const int WorkHexX
const int WorkHexY
int Time
bool NoLogOut
string ScriptModule
string ScriptFunc
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Константы

Группы
Константы

Группы

События
Параметры криттеров
Access levels
Уровни доступа.
Body types
Виды существ.
Car flags
Флаги машин.
Client screen types
Combat modes
Режимы боя.
Critter actions
Действия криттера.
Critter conditions
Состояния криттера.
Critter extra flags
Дополнительные флаги для криттеров.
Critter find types
Флаги поиска криттеров.
Critter look types
Cursors
Dialog links
Специальные действия в диалогах.
DirectInput keyboard scan codes
Draw primitive types
Типы примитивов.
Elevators
Интерфейсы лифтов.
Fix boy craft results
Fix boy function call states
Font flags
Fonts
Gender
Пол
Generic descriptions types
Global map events
Типы событий возникающих на глобальной карте
Global map fog
Состояния тумана на клетках глобальной карты.
Hit locations
In SendMessage
Круг получателей сообщения, отсылаемого методом Critter::SendMessage.
Item broken flags
Item flags
Флаги предметов.
Item look types
Типы описаний предметов.
Items accessory
Местонахождения предметов.
Items types
Типы предметов.
Locker
Флаги состояния замков.
Look checks
Типы проверок видимости.
MessageBox message types
Mouse click states
Msg nums
Номера файлов *.msg с текстами игры.
Paths
Planes default priority
Planes reasons
Planes types
Типы планов
Radio flags
Флаги рации.
Say types
Scores
Show screen modes
Типы клиентских окон.
Слоты
Слоты инвентаря криттера
Sound types
Виды звуков
Special skill values
Константы, использующиеся в обработчиках событий, ITEM_EVENT_SKILL, CRITTER_EVENT_SMTH_USE_SKILL, CRITTER_EVENT_USE_SKILL, глобальном обработчике critter_use_skill и обработчике сценери для определения того, что именно сделал криттер при взаимодействии.
Transfer types
Типы трансфера

Подробное описание

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: События

Группы
События
Константы

Группы

Critter events
События для криттеров.
Item events
События для предметов.
Map events
События для карт

Подробное описание

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Critter events

Critter events
События

События для криттеров. Подробнее...

Общие

События, связанные с изменением состояния криттера.

300

#define | CRITTER_EVENT_IDLE (0)
Вызывается каждые 20 секунд простоя криттера. Подробнее...
#define | CRITTER_EVENT_FINISH (1)
Вызывается при удалении криттера из игры. Подробнее...
#define | CRITTER_EVENT_DEAD (2)
Вызывается при смерти криттера перед глобальным обработчиком смертей critter_dead. Подробнее...
#define | CRITTER_EVENT_RESPAWN (3)
Вызывается при оживлении криттера после смерти (респауне). Подробнее...
#define | CRITTER_EVENT_KNOCKOUT (23)
Вызывается при уходе криттера в нокаут. Подробнее...

Действия

События, связанные с действиями самого криттера, либо действиями, которые касаются его напрямую.

#define | CRITTER_EVENT_ATTACK (15)
Вызывается при атаке криттером кого-либо. Подробнее...
#define | CRITTER_EVENT_ATTACKED (16)
Вызывается когда данного криттера атаковали. Подробнее...
#define | CRITTER_EVENT_STEALING (17)
Вызываетcя при попытке воровства у данного криттера. Подробнее...
#define | CRITTER_EVENT_BARTER (36)
Вызывается когда с NPC начинается или заканчивается бартер. Подробнее...
#define | CRITTER_EVENT_TALK (37)
Вызывается, когда с NPC начинают или заканчивают разговор. Подробнее...
#define | CRITTER_EVENT_USE_SKILL (21)
Вызывается при использовании навыка на что-либо. Подробнее...
#define | CRITTER_EVENT_USE_SKILL_ON_ME (22)
Вызывается при использовании кем-то навыка на данном криттере. Подробнее...

Предметы

События, связанные с предметами

#define | CRITTER_EVENT_USE_ITEM (19)
Вызывается при использовании данными криттером какого-либо предмета. Подробнее...
#define | CRITTER_EVENT_USE_ITEM_ON_ME (20)
Вызывается при использовании какого-либо предмета на данном криттере. Подробнее...
#define | CRITTER_EVENT_SHOW_ITEM_ON_MAP (12)
Вызывается при появлении предмета в поле зрения. Подробнее...
#define | CRITTER_EVENT_CHANGE_ITEM_ON_MAP (13)
Вызывается в том случае, если поменялся предмет в поле зрения. Подробнее...
#define | CRITTER_EVENT_HIDE_ITEM_ON_MAP (14)
Вызывается при исчезновении предмета из поля зрения. Подробнее...
#define | CRITTER_EVENT_DROP_ITEM (21)
Вызывается при выкидывании криттером предмета из своего инвентаря. Подробнее...
#define | CRITTER_EVENT_MOVE_ITEM (24)
Вызывается при перемещении какого-либо предмета в инвентаре данного криттера. Подробнее...

Другие криттеры

События, позволяющие организовать взаимодействие с другими криттерами.

#define | CRITTER_EVENT_SHOW_CRITTER (4)
Вызывается при появлении нового криттера в поле зрения. Подробнее...
#define | CRITTER_EVENT_SHOW_CRITTER_1 (5)
Вызывается при появлении нового криттера в поле зрения. Подробнее...
#define | CRITTER_EVENT_SHOW_CRITTER_2 (6)
Вызывается при появлении нового криттера в поле зрения. Подробнее...
#define | CRITTER_EVENT_SHOW_CRITTER_3 (7)
Вызывается при появлении нового криттера в поле зрения. Подробнее...
#define | CRITTER_EVENT_HIDE_CRITTER (8)
Вызывается при пропаже криттера из поля зрения. Подробнее...
#define | CRITTER_EVENT_HIDE_CRITTER_1 (9)
Вызывается при пропаже криттера из поля зрения. Подробнее...
#define | CRITTER_EVENT_HIDE_CRITTER_2 (10)
Вызывается при пропаже криттера из поля зрения. Подробнее...
#define | CRITTER_EVENT_HIDE_CRITTER_3 (11)
Вызывается при пропаже криттера из поля зрения. Подробнее...
#define | CRITTER_EVENT_MESSAGE (18)
Вызывается, когда приходит сообщение, отправленное с помощью метода Critter::SendMessage. Подробнее...
#define | CRITTER_EVENT_SMTH_DEAD (24)
Вызывается, когда криттер в области видимости умирает. Подробнее...
#define | CRITTER_EVENT_SMTH_STEALING (25)
Вызывается, когда какой-либо криттер в области видимости подвергся краже. Подробнее...
#define | CRITTER_EVENT_SMTH_ATTACK (26)
Вызывается, когда какой-либо криттер в области видимости атакует кого-либо. Подробнее...
#define | CRITTER_EVENT_SMTH_ATTACKED (27)
Вызывается, когда какой-либо криттер в области видимости атакован. Подробнее...
#define | CRITTER_EVENT_SMTH_USE_ITEM (28)
Вызывается, когда криттер в области видимости использует предмет на чем-либо. Подробнее...
#define | CRITTER_EVENT_SMTH_USE_SKILL (29)
Вызывается, когда криттер в области видимости использует навык на чем-либо. Подробнее...
#define | CRITTER_EVENT_SMTH_DROP_ITEM (30)
Вызывается, когда криттер в области видимости выкидывает предмет. Подробнее...
#define | CRITTER_EVENT_SMTH_MOVE_ITEM (31)
Вызывается, когда криттер в области видимости меняет местоположение предмета. Подробнее...
#define | CRITTER_EVENT_SMTH_KNOCKOUT (32)
Вызывается, когда криттер в области видимости уходит в нокаут. Подробнее...

Планы

События для планов NPC.

Срабатывают и для дочерних планов: childIndex указывает на их номер (если 0, то это базовый план).

#define | CRITTER_EVENT_PLANE_BEGIN (33)
Вызывается перед добавлением плана (которого еще нет в списках у NPC). Подробнее...
#define | CRITTER_EVENT_PLANE_END (34)
Вызывается перед удалением плана (который ещё присутствует в списках планов). Подробнее...
#define | CRITTER_EVENT_PLANE_RUN (35)
Вызывается во время выполнения некоторых планов. Подробнее...

Глобальная карта

События возникающие при перемещении на глобальной карте

#define | CRITTER_EVENT_GLOBAL_PROCESS (38)
Вызывается при событиях на глобальной карте. Подробнее...
#define | CRITTER_EVENT_GLOBAL_INVITE (39)
Вызывается при переходе на карту на глобальной карте мира. Подробнее...

Пошаговый бой

События связанные с пошаговым боем

#define | CRITTER_EVENT_TURN_BASED_PROCESS (40)
Вызывается в начале и в конце хода криттера. Подробнее...
#define | CRITTER_EVENT_SMTH_TURN_BASED_PROCESS (41)
Вызывается в начале и конце хода какого-либо криттера в области видимости. Подробнее...

Подробное описание

События для криттеров.

Прим.
Первым параметром любого обработчика является ссылка на криттера, для которого вызвано событие.
События можно вешать не только на NPC, но и на игроков.
См. также
Critter Critter::SetEvent

Макросы

#define CRITTER_EVENT_IDLE (0)

Вызывается каждые 20 секунд простоя криттера.

Для изменения времени вызова события используйте метод Critter::Wait в обработчике.

Сигнатура обработчика:
void _FuncName(Critter& cr)
См. также
Critter::EventIdle
#define CRITTER_EVENT_FINISH (1)

Вызывается при удалении криттера из игры.

Сигнатура обработчика:
void _FuncName(Critter& cr, bool deleted)
Аргументы
deleted @с true - функция вызвана перед полным удалением криттера, @с false - функция вызвана остановкой сервера.
См. также
Critter::EventFinish
#define CRITTER_EVENT_DEAD (2)

Вызывается при смерти криттера перед глобальным обработчиком смертей critter_dead.

Сигнатура обработчика:
void _FuncName(Critter& cr, Critter@ killer)
Аргументы
killer Если криттер был убит другим криттером, то аргумент содержит указатель на убившего криттера.
См. также
Critter::ToDead Critter::EventDead critter_dead
#define CRITTER_EVENT_RESPAWN (3)

Вызывается при оживлении криттера после смерти (респауне).

Сигнатура обработчика:
void _FuncName(Critter& cr)
См. также
Critter::ToLife Critter::EventRespawn critter_respawn
#define CRITTER_EVENT_KNOCKOUT (23)

Вызывается при уходе криттера в нокаут.

Сигнатура обработчика:
void _FuncName(Critter& cr, bool faceUp, uint lostAp, uint knockDist)
Аргументы
faceUp | Показывает, упал ли криттер лицом вверх (true) или вниз (false).
lostAp | Количество очков действия, необходимых для поднятия с земли.
knockDist | Количество гексов, на которое "отлетел" криттер.
См. также
Critter::ToKnockout Critter::EventKnockout
#define CRITTER_EVENT_ATTACK (15)

Вызывается при атаке криттером кого-либо.

Сигнатура обработчика:
bool _FuncName(Critter& cr, Critter& target);
Аргументы
target Атакуемый криттер.
Возвращает
При возвращенном значении true глобальный обработчик critter_attack не вызывается.
См. также
Critter::EventAttack CRITTER_EVENT_SMTH_ATTACK ITEM_EVENT_ATTACK critter_attack
#define CRITTER_EVENT_ATTACKED (16)

Вызывается когда данного криттера атаковали.

Сигнатура обработчика:
bool _FuncName(Critter& cr, Critter& attacker);
Аргументы
attacker Атакующий криттер.
Возвращает
При возвращенном значении true глобальный обработчик critter_attacked не вызывается.
См. также
Critter::EventAttacked CRITTER_EVENT_SMTH_ATTACKED critter_attacked
#define CRITTER_EVENT_STEALING (17)

Вызываетcя при попытке воровства у данного криттера.

Сигнатура обработчика:
void _FuncName(Critter& cr, Critter& thief, bool success, Item& item, uint count)
Аргументы
thief | Вор.
success | Успешно ли произошло воровство, расчитанное в critter_stealing.
item | Воруемый предмет.
count | Количество воруемых предметов.
См. также
Critter::EventStealing CRITTER_EVENT_SMTH_STEALING critter_stealing
#define CRITTER_EVENT_BARTER (36)

Вызывается когда с NPC начинается или заканчивается бартер.

Сигнатура обработчика:
bool _FuncName(Critter& cr, Critter& player, bool attach, uint barterCount)
Аргументы
player | Игрок, начинающий или заканчивающий бартер.
attach | Показывает, начинается (true) или заканчивается (false) бартер.
barterCount | Всего торгующих, включая новое присоединение/отсоединение.
Возвращает
При возвращении true – бартер начинается; false – бартер не начинается. Актуально при attach == true.
См. также
Critter::EventBarter
#define CRITTER_EVENT_TALK (37)

Вызывается, когда с NPC начинают или заканчивают разговор.

Сигнатура обработчика:
bool _FuncName(Critter& cr, Critter& player, bool attach, uint talkCount)
Аргументы
player | Игрок, начинающий или заканчивающий разговор.
attach | Показывает, начинается (true) или заканчивается (false) разговор.
talkCount | Всего разговаривающих, включая новое присоединение/отсоединение.
Возвращает
При возвращении true – диалог начинается; false – не начинается. Актуально при attach == true.
См. также
Critter::EventTalk
#define CRITTER_EVENT_USE_SKILL (21)

Вызывается при использовании навыка на что-либо.

bool _FuncName(Critter& cr, int skill, Critter@ onCritter, Item@ onItem, Scenery@ onScenery)
Аргументы
skill | Используемый скилл (см. Навыки и Special Skill Values).
onCritter | Если предмет используется на криттере, то аргумент содержит указатель на этого криттера.
onItem | Если предмет используется на другом предмете, то аргумент содержит указатель на этот (другой) предмет.
onScenery | Если предмет используется на сценери, то аргумент содержит указатель на это сценери.
Возвращает
При false вызывается глобальный обработчик critter_use_skill При true – выход.
См. также
Critter::EventUseSkill ITEM_EVENT_SKILL
#define CRITTER_EVENT_USE_SKILL_ON_ME (22)

Вызывается при использовании кем-то навыка на данном криттере.

bool _FuncName(Critter& whoUse, int skill)
Аргументы
whoUse | Криттер использующий скилл
skill | Используемый скилл (см. Навыки и Special Skill Values).
Возвращает
При false вызывается глобальный обработчик critter_use_skill При true – выход.
#define CRITTER_EVENT_USE_ITEM (19)

Вызывается при использовании данными криттером какого-либо предмета.

bool _FuncName(Critter& cr, Item& item, Critter@ onCritter, Item@ onItem, Scenery@ onScenery)
Аргументы
item | Используемый предмет.
onCritter | Если предмет используется на криттере, то аргумент содержит указатель на этого криттера.
onItem | Если предмет используется на другом предмете, то аргумент содержит указатель на этот (другой) предмет.
onScenery | Если предмет используется на сценери, то аргумент содержит указатель на это сценери.
Возвращает
При false вызывается глобальный обработчик critter_use_item. При true – выход.
См. также
Critter::EventUseItem ITEM_EVENT_USE critter_use_item
#define CRITTER_EVENT_USE_ITEM_ON_ME (20)

Вызывается при использовании какого-либо предмета на данном криттере.

bool _FuncName(Critter& whoUse, Item& item)
Аргументы
whoUse | Криттер использовавший предмет.
Item& | Используемый предмет.
Возвращает
При false вызывается глобальный обработчик critter_use_item. При true – выход.
#define CRITTER_EVENT_SHOW_ITEM_ON_MAP (12)

Вызывается при появлении предмета в поле зрения.

Сигнатура обработчика:
void _FuncName(Critter& cr, Item& showItem, bool added, Critter@ dropper)
Аргументы
showItem | Появившийся предмет.
added | true, если предмет появился при смене радиуса обзора криттера; false, если предмет появился в ином случае (например, если был выкинут другим криттером).
dropper | Если предмет был выкинут из инвентаря какого-либо криттера, то аргумент будет содержать указатель на этого криттера. В противном случае, null.
См. также
Critter::EventShowItemOnMap
#define CRITTER_EVENT_CHANGE_ITEM_ON_MAP (13)

Вызывается в том случае, если поменялся предмет в поле зрения.

Например, открылась или закрылась дверь (или контейнер).

Сигнатура обработчика:
void _FuncName(Critter& cr, Item& item)
Аргументы
item Изменившийся предмет.
См. также
Critter::EventChangeItemOnMap
#define CRITTER_EVENT_HIDE_ITEM_ON_MAP (14)

Вызывается при исчезновении предмета из поля зрения.

Сигнатура обработчика:
void _FuncName(Critter& cr, Item& hidedItem, bool removed, Critter@ picker)
Аргументы
hidedItem | Исчезнувший предмет.
removed | true, если предмет исчез при смене радиуса обзора криттера; false, если предмет исчез в рамках радиуса обзора (например, если был подобран другим криттером).
picker | Если предмет был подобран каким-либо криттером, то аргумент будет содержать указатель на этого криттера. В противном случае, null.
См. также
Critter::EventHideItemOnMap
#define CRITTER_EVENT_DROP_ITEM (21)

Вызывается при выкидывании криттером предмета из своего инвентаря.

Сигнатура обработчика:
void _FuncName(Critter& cr, Item& item)
Аргументы
item Выкидиваемый предмет.
См. также
Critter::EventDropItem ITEM_EVENT_DROP
#define CRITTER_EVENT_MOVE_ITEM (24)

Вызывается при перемещении какого-либо предмета в инвентаре данного криттера.

Сигнатура обработчика:
void _FuncName(Critter& cr, Item& item, uint8 fromSlot)
Аргументы
item | Перемещаемый предмет.
fromSlot | Слот, в котором предмет находился до перемещения (см. Слоты инвентаря).
См. также
Critter::EventMoveItem ITEM_EVENT_MOVE
#define CRITTER_EVENT_SHOW_CRITTER (4)

Вызывается при появлении нового криттера в поле зрения.

Сигнатура обработчика:
void _FuncName(Critter& cr, Critter& showCr)
Аргументы
showCr Появившийся в поле зрения криттер.
См. также
Critter::EventShowCritter
#define CRITTER_EVENT_SHOW_CRITTER_1 (5)

Вызывается при появлении нового криттера в поле зрения.

Радиус обнаружения регулируется с помощью поля Critter::ShowCritterDist1.

Сигнатура обработчика:
void _FuncName(Critter& cr, Critter& showCr)
Аргументы
showCr Появившийся в поле зрения криттер.
См. также
Critter::EventShowCritter1 Critter::ShowCritterDist1
#define CRITTER_EVENT_SHOW_CRITTER_2 (6)

Вызывается при появлении нового криттера в поле зрения.

Радиус обнаружения регулируется с помощью поля Critter::ShowCritterDist2.

Сигнатура обработчика:
void _FuncName(Critter& cr, Critter& showCr)
Аргументы
showCr Появившийся в поле зрения криттер.
См. также
Critter::EventShowCritter2 Critter::ShowCritterDist2
#define CRITTER_EVENT_SHOW_CRITTER_3 (7)

Вызывается при появлении нового криттера в поле зрения.

Радиус обнаружения регулируется с помощью поля Critter::ShowCritterDist3.

Сигнатура обработчика:
void _FuncName(Critter& cr, Critter& showCr)
Аргументы
showCr Появившийся в поле зрения криттер.
См. также
Critter::EventShowCritter3 Critter::ShowCritterDist3
#define CRITTER_EVENT_HIDE_CRITTER (8)

Вызывается при пропаже криттера из поля зрения.

Сигнатура обработчика:
void _FuncName(Critter& cr, Critter& hideCr)
Аргументы
hideCr Исчезнувший из поля зрения криттера.
См. также
Critter::EventHideCritter
#define CRITTER_EVENT_HIDE_CRITTER_1 (9)

Вызывается при пропаже криттера из поля зрения.

Радиус поля зрения определяется полем Critter::ShowCritterDist1.

Сигнатура обработчика:
void _FuncName(Critter& cr, Critter& hideCr)
Аргументы
hideCr Исчезнувший из поля зрения криттера.
См. также
Critter::EventHideCritter1 Critter::ShowCritterDist1
#define CRITTER_EVENT_HIDE_CRITTER_2 (10)

Вызывается при пропаже криттера из поля зрения.

Радиус поля зрения определяется полем Critter::ShowCritterDist2.

Сигнатура обработчика:
void _FuncName(Critter& cr, Critter& hideCr)
Аргументы
hideCr Исчезнувший из поля зрения криттера.
См. также
Critter::EventHideCritter2 Critter::ShowCritterDist2
#define CRITTER_EVENT_HIDE_CRITTER_3 (11)

Вызывается при пропаже криттера из поля зрения.

Радиус поля зрения определяется полем Critter::ShowCritterDist1.

Сигнатура обработчика:
void _FuncName(Critter& cr, Critter& hideCr)
Аргументы
hideCr Исчезнувший из поля зрения криттера.
См. также
Critter::EventHideCritter3 Critter::ShowCritterDist3
#define CRITTER_EVENT_MESSAGE (18)

Вызывается, когда приходит сообщение, отправленное с помощью метода Critter::SendMessage.

Сигнатура обработчика:
void _FuncName(Critter& cr, Critter& fromCr, int message, int value)
Аргументы
fromCr | Криттер, отправивший сообщение.
message | Номер сообщения.
value | Переданное значение.
См. также
Critter::SendMessage Critter::EventMessage
#define CRITTER_EVENT_SMTH_DEAD (24)

Вызывается, когда криттер в области видимости умирает.

Сигнатура обработчика:
void _FuncName(Critter& cr, Critter& fromCr, Critter@ killer)
Аргументы
fromCr | Умерший криттер.
killer | Если криттер был убит другим криттером, то аргумент содержит указатель на убившего криттера.
См. также
Critter::EventSmthDead CRITTER_EVENT_DEAD
#define CRITTER_EVENT_SMTH_STEALING (25)

Вызывается, когда какой-либо криттер в области видимости подвергся краже.

Сигнатура обработчика:
void _FuncName(Critter& cr, Critter& fromCr, Critter& thief, bool success, Item& item, uint count)
Аргументы
fromCr | Криттер, подвергшийся воровству.
thief | Криттер, совершивший воровство.
success | Успешно ли произошло воровство.
item | Сворованный предмет.
count | Количество сворованных предметов.
См. также
Critter::EventSmthStealing CRITTER_EVENT_STEALING
#define CRITTER_EVENT_SMTH_ATTACK (26)

Вызывается, когда какой-либо криттер в области видимости атакует кого-либо.

Сигнатура обработчика:
void _FuncName(Critter& cr, Critter& fromCr, Critter& target)
Аргументы
fromCr | Атаковавший криттер.
target | Атакованный криттер.
См. также
Critter::EventSmthAttack CRITTER_EVENT_ATTACK
#define CRITTER_EVENT_SMTH_ATTACKED (27)

Вызывается, когда какой-либо криттер в области видимости атакован.

См. CRITTER_EVENT_ATTACKED.

Сигнатура обработчика:
void _FuncName(Critter& cr, Critter& fromCr, Critter& attacker)
Аргументы
fromCr | Атакованный криттер.
attacker | Атаковаший криттер.
См. также
Critter::EventSmthAttacked CRITTER_EVENT_ATTACKED
#define CRITTER_EVENT_SMTH_USE_ITEM (28)

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

См. CRITTER_EVENT_USE_ITEM.

Сигнатура обработчика:
void _FuncName(Critter& cr, Critter& fromCr, Item& item, Critter@ onCritter, Item@ onItem, Scenery@ onScenery)
Аргументы
fromCr | Криттер использующий предмет.
item | Используемый предмет.
onCritter | Если предмет используется на криттере, то аргумент содержит указатель на этого криттера.
onItem | Если предмет используется на другом предмете, то аргумент содержит указатель на этот (другой) предмет.
onScenery | Если предмет используется на сценери, то аргумент содержит указатель на это сценери.
#define CRITTER_EVENT_SMTH_USE_SKILL (29)

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

См. CRITTER_EVENT_USE_SKILL.

Сигнатура обработчика:
void _FuncName(Critter& cr, Critter& fromCr, int skill, Critter@ onCritter, Item@ onItem, Scenery@ onScenery)
Аргументы
fromCr | Криттер использующий навык.
skill | Используемый скил. (см. Навыки и Special Skill Values).
onCritter | Если предмет используется на криттере, то аргумент содержит указатель на этого криттера.
onItem | Если предмет используется на другом предмете, то аргумент содержит указатель на этот (другой) предмет.
onScenery | Если предмет используется на сценери, то аргумент содержит указатель на это сценери.
#define CRITTER_EVENT_SMTH_DROP_ITEM (30)

Вызывается, когда криттер в области видимости выкидывает предмет.

См. CRITTER_EVENT_DROP_ITEM.

Сигнатура обработчика:
void _FuncName(Critter& cr, Critter& fromCr, Item& item)
Аргументы
fromCr | Криттер выкинувший итем
item | Выкидиваемый предмет.
#define CRITTER_EVENT_SMTH_MOVE_ITEM (31)

Вызывается, когда криттер в области видимости меняет местоположение предмета.

См. CRITTER_EVENT_MOVE_ITEM.

Сигнатура обработчика:
void _FuncName(Critter& cr, Critter& fromCr, Item& item, uint8 fromSlot)
Аргументы
fromCr | Криттер поменявший у итема место
item | Перемещаемый предмет.
fromSlot | Слот, в котором предмет находился до перемещения (см. Слоты инвентаря).
#define CRITTER_EVENT_SMTH_KNOCKOUT (32)

Вызывается, когда криттер в области видимости уходит в нокаут.

См. CRITTER_EVENT_KNOCKOUT.

Сигнатура обработчика:
void _FuncName(Critter& cr, Critter& fromCr, bool faceUp, uint lostAp, uint knockDist)
Аргументы
fromCr | Ушедший в нокаут криттер.
faceUp | Показывает, упал ли криттер лицом вверх (true) или вниз (false).
lostAp | Количество очков действия, необходимых для поднятия с земли.
knockDist | Количество гексов, на которое "отлетел" криттер.
#define CRITTER_EVENT_PLANE_BEGIN (33)

Вызывается перед добавлением плана (которого еще нет в списках у NPC).

Сигнатура обработчика:
int _FuncName(Critter& cr, NpcPlane& plane, uint childIndex, int reason, Critter@ someCr, Item@ someItem)
Аргументы
plane | План.
childIndex | Номер плана в качестве наследника, если 0, значит план базовый.
reason | Указывает причину начала плана (см. Plane begin reasons).
someCr | В некоторых случаях хранит указатель на персонажа (см. Работа с планами ).
someItem | В некоторых случаях хранит указатель на предмет (см. Работа с планами ).
Возвращает
PLANE_RUN_GLOBAL - вызвать глобальный обработчик, который определит сохранить или удалить план; PLANE_KEEP - сохранить план, без вызова глобального обработчика; PLANE_DISCARD - удалить план, без вызова глобального обработчика.
#define CRITTER_EVENT_PLANE_END (34)

Вызывается перед удалением плана (который ещё присутствует в списках планов).

Сигнатура обработчика:
int _FuncName(Critter& cr, NpcPlane& plane, uint childIndex, int reason, Critter@ someCr, Item@ someItem)
Аргументы
plane | План.
childIndex | Номер плана в качестве наследника, если 0, значит план базовый.
reason | Указывает причину завершения плана (см. Plane end reasons).
someCr | В некоторых случаях хранит указатель на персонажа (см. Работа с планами ).
someItem | В некоторых случаях хранит указатель на предмет (см. Работа с планами ).
Возвращает
PLANE_RUN_GLOBAL - вызвать глобальный обработчик, который определит сохранить или удалить план; PLANE_KEEP - сохранить план, без вызова глобального обработчика; PLANE_DISCARD - удалить план, без вызова глобального обработчика.
#define CRITTER_EVENT_PLANE_RUN (35)

Вызывается во время выполнения некоторых планов.

Сигнатура обработчика:
int _FuncName(Critter& cr, NpcPlane& plane, uint childIndex, int reason, uint& r0, uint& r1, uint& r2)
Аргументы
plane | План, для которого вызвано событие.
childIndex | Номер плана в цепочке наследников.
reason | Причина, по которой было вызвано событие. От неё зависит интерпретация остальных аргументов.
Возвращает
PLANE_RUN_GLOBAL - вызвать глобальный обработчик, который определит сохранить или удалить план; PLANE_KEEP - сохранить план, без вызова глобального обработчика; PLANE_DISCARD - удалить план, без вызова глобального обработчика.

На данный момент событие вызываются для обработки следующих действий:

  • REASON_ATTACK_WEAPON. Выбор оружия атакующим криттером.
    Аргументы
    [in] | r0 | Идентификатор криттера-цели.
    [in] | r1,r2 | Не используются.
    [out] | r0 | Идентификатор выбранного для атаки предмета-оружия.
    [out] | r1 | Номер, обозначающий способ использования оружия (см. ProtoItem::Weapon_SetUse).
    [out] | r2 | Идентификатор тмпа рукопашной атаки (учитывается, если r0 == 0) (?).
  • REASON_ATTACK_DISTANTION. Выбор дистанции атаки. (?)
    Аргументы
    [in] | r0 | Идентификатор криттера-цели.
    [in] | r1 | NPC не может двигаться при r1 != 0.
    [in] | r2 | Минимальное количество HP (из AI.TXT).
    [out] | r0 | Лучшая дистанция.
    [out] | r1 | Минимальная дистанция.
    [out] | r2 | Максимальная дистанция. Если r2 == 0, то это означает, что нужно убегать.
  • REASON_ATTACK_USE_AIM. Прицеливание.
    Аргументы
    [in] | r0 | Идентификатор криттера-цели..
    [in] | r1 | Не используется.
    [in] | r2 | Не используется.
    [out] | r0 | Номер, обозначающий способ использования оружия (см. ProtoItem::Weapon_SetUse).
    [out] | r1 | Цель (см. Hit Locations).
    [out] | r2 | Время (в мс), на которое нужно сделать паузу при атаке.
#define CRITTER_EVENT_GLOBAL_PROCESS (38)

Вызывается при событиях на глобальной карте.

Позволяет обрабатывать события от глобальной карты индивидуально для любого криттера.

Сигнатура обработчика:
bool _FuncName(Critter& cr, int type, Critter@[]& group, Item@ car, uint& x, uint& y, uint& toX, uint& toY, uint& speed, uint& encounterDescriptor, bool& waitForAnswer)
Аргументы
type | Тип события (см. Global Map Events);
group | Указатели на криттеров в группе, если она сформирована;
car | Указатель на машину, если она имеется;
x | Текущая координата X группы на глобальной карте;
y | Текущая координата Y группы на глобальной карте;
toX | Координата X конечной точки движения;
toY | Координата Y конечной точки движения;
speed | Скорость движения в данной точке (зависит от маски глобальной карты);
encounterDescriptor | Уникальный идентификатор энкаунтера;
waitForAnswer | Ожидание ответа лидера группы.
Прим.
Аргументы передающиеся по ссылке (кроме cr и group) можно переназначать.
Возвращает
true - глобальный обработчик global_process не запускается; false - запуск глобального обработчика.
См. также
global_process
#define CRITTER_EVENT_GLOBAL_INVITE (39)

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

Сигнатура обработчика:
bool _FuncName(Critter& cr, Critter@[]& group, Item@ car, uint encounterDescriptor, int combatMode, uint& mapId, uint16& hexX, uint16& hexY, uint8& dir)
Аргументы
group | указатели на криттеров в группе, если она сформирована;
car | указатель на машину, если она имеется;
encounterDescriptor | уникальный идентификатор энкаунтера;
combatMode | режим боя (COMBAT_MODE_ANY, COMBAT_MODE_REAL_TIME или COMBAT_MODE_TURN_BASED);
mapId | идентификатор карты;
hexX | начальные координата X для появления группы;
hexY | начальные координата Y для появления группы;
dir | направление криттера по умолчанию.
Возвращает
true - глобальный обработчик global_invite не запускается; false - запуск глобального обработчика.
См. также
global_invite
#define CRITTER_EVENT_TURN_BASED_PROCESS (40)

Вызывается в начале и в конце хода криттера.

Сигнатура обработчика:
void _FuncName(Critter& cr, Map& map, bool beginTurn)
Аргументы
map | карта на которой зафиксировано событие;
beginTurn | true - функция вызвана в начале хода, false - функция вызвана в конце хода.
#define CRITTER_EVENT_SMTH_TURN_BASED_PROCESS (41)

Вызывается в начале и конце хода какого-либо криттера в области видимости.

Сигнатура обработчика:
void _FuncName(Critter& cr, Critter& fromCr, Map& map, bool beginTurn)
Аргументы
map | карта на которой зафиксировано событие;
beginTurn | true - функция вызвана в начале хода, false - функция вызвана в конце хода.
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Item events

Макросы
Item events
События

События для предметов. Подробнее...

Макросы

#define | ITEM_EVENT_FINISH (0)
Вызывается при удалении предмета. Подробнее...
#define | ITEM_EVENT_ATTACK (1)
Вызывается при атаке данным предметом криттера. Подробнее...
#define | ITEM_EVENT_USE (2)
Вызывается при использовании предмета на что-либо. Подробнее...
#define | ITEM_EVENT_USE_ON_ME (3)
Вызывается при использовании предмета на данный предмет. Подробнее...
#define | ITEM_EVENT_SKILL (4)
Вызывается при использовании навыка на предмете. Подробнее...
#define | ITEM_EVENT_DROP (5)
Вызывается при выкидывании предмета из инвентаря. Подробнее...
#define | ITEM_EVENT_MOVE (6)
Вызывается при перемещении предмета в инвентаре. Подробнее...
#define | ITEM_EVENT_WALK (7)
Вызывается при хождении по предмету на карте. Подробнее...

Подробное описание

События для предметов.

Прим.
Первым параметром любого обработчика является ссылка на предмет, для которого вызвано событие.
См. также
Item Item::SetEvent

Макросы

#define ITEM_EVENT_FINISH (0)

Вызывается при удалении предмета.

Сигнатура обработчика:
bool _FuncName(Item& item, bool deleted)
Аргументы
deleted true - предмет полностью удаляется из игры, false - событие вызвано остановкой сервера.
Прим.
Полного удаления предмета можно избежать, переместив куда-нибудь данный предмет.
См. также
Item::EventFinish
#define ITEM_EVENT_ATTACK (1)

Вызывается при атаке данным предметом криттера.

Сигнатура обработчика:
bool _FuncName(Item& item, Critter& crit, Critter& target)
Аргументы
crit | Атакующий криттер.
target | Атакуемый криттер.
Возвращает
Если возвращается true, то обработка атаки не произойдет. При false вызывается обработчик криттера.
См. также
Item::EventAttack CRITTER_EVENT_ATTACK
#define ITEM_EVENT_USE (2)

Вызывается при использовании предмета на что-либо.

Сигнатура обработчика:
bool _FuncName(Item& item, Critter& crit, Critter@ onCritter, Item@ onItem, Scenery@ onScenery)
Аргументы
crit | Криттер, использующий предмет.
onCritter | Если предмет используется на криттере, то аргумент содержит указатель на этого криттера.
onItem | Если предмет используется на другом предмете, то аргумент содержит указатель на этот (другой) предмет.
onScenery | Если предмет используется на сценери, то аргумент содержит указатель на это сценери.
Возвращает
При false вызывается обработчик криттера, потом глобальный critter_use_item. При true – выход.
См. также
Item::EventUse CRITTER_EVENT_USE_ITEM critter_use_item
#define ITEM_EVENT_USE_ON_ME (3)

Вызывается при использовании предмета на данный предмет.

Сигнатура обработчика:
bool _FuncName(Item& item, Critter& crit, Item@ usedItem)
Аргументы
crit | Криттер, использующий предмет.
usedItem | Используемый предмет.
Возвращает
При false вызывается обработчик криттера, потом глобальный critter_use_item. При true – выход.
См. также
Item::EventUseOnMe
#define ITEM_EVENT_SKILL (4)

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

Сигнатура обработчика:
bool _FuncName(Item& item, Critter& crit, int skill)
Аргументы
crit | Криттер, применяющий навык.
skill | Используемый навык. (см. Навыки и Special Skill Values).
Возвращает
При false вызывается обработчик криттера, потом глобальный critter_use_skill. При true – выход.
См. также
Item::EventSkill CRITTER_EVENT_USE_SKILL critter_use_skill
#define ITEM_EVENT_DROP (5)

Вызывается при выкидывании предмета из инвентаря.

Сигнатура обработчика:
void _FuncName(Item& item, Critter& crit)
Аргументы
crit Криттер, выкидывающий предмет.
См. также
Item::EventDrop CRITTER_EVENT_DROP_ITEM
#define ITEM_EVENT_MOVE (6)

Вызывается при перемещении предмета в инвентаре.

Сигнатура обработчика:
void _FuncName(Item& item, Critter& crit, uint8 fromSlot)
Аргументы
crit | Криттер, переместивший предмет.
fromSlot | Слот, в котором предмет находился до перемещения (см. Слоты инвентаря).
См. также
Item::EventMove CRITTER_EVENT_MOVE_ITEM
#define ITEM_EVENT_WALK (7)

Вызывается при хождении по предмету на карте.

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

Сигнатура обработчика:
void _FuncName(Item& item, Critter& crit, bool entered, uint8 dir)
Аргументы
crit | Криттер, прошедшийся по предмету.
entered | Принимает значение true в том случае, если криттер встал на предмет; false – если криттер ушел с предмета.
dir | Направление движения.
См. также
Item::EventWalk
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Map events

Макросы
Map events
События

События для карт Подробнее...

Макросы

#define | MAP_EVENT_FINISH (0)
Вызывается при удалении карты из игры. Подробнее...
#define | MAP_EVENT_LOOP_0 (1)
Нулевой цикл. Подробнее...
#define | MAP_EVENT_LOOP_1 (2)
Первый цикл. Подробнее...
#define | MAP_EVENT_LOOP_2 (3)
Второй цикл. Подробнее...
#define | MAP_EVENT_LOOP_3 (4)
Третий цикл. Подробнее...
#define | MAP_EVENT_LOOP_4 (5)
Четвертый цикл. Подробнее...
#define | MAP_EVENT_IN_CRITTER (6)
Вызывается при заходе криттера на данную карту. Подробнее...
#define | MAP_EVENT_OUT_CRITTER (7)
Вызывается при выходе криттера с данной карты. Подробнее...
#define | MAP_EVENT_CRITTER_DEAD (8)
Вызывается при смерти криттера на данной карте. Подробнее...
#define | MAP_EVENT_TURN_BASED_BEGIN (9)
Вызывается в начале пошагового боя. Подробнее...
#define | MAP_EVENT_TURN_BASED_END (10)
Вызывается в конце пошагового боя. Подробнее...
#define | MAP_EVENT_TURN_BASED_PROCESS (11)
Вызывается в начале и конце хода каждого персонажа участвующего в бою. Подробнее...

Подробное описание

События для карт

Прим.
Первым параметром любого обработчика является ссылка на карту, для которой вызвано событие.
См. также
Map Map::SetEvent

Макросы

#define MAP_EVENT_FINISH (0)

Вызывается при удалении карты из игры.

Сигнатура обработчика:
void _FuncName(Map& map, bool deleted)
Аргументы
deleted true - карта полностью удаляется из игры, false - событие вызвано остановкой сервера
См. также
Map::EventFinish
#define MAP_EVENT_LOOP_0 (1)

Нулевой цикл.

Для изменения периодичности вызова используйте метод Map::SetLoopTime.

Сигнатура обработчика:
void _FuncName(Map& map)
См. также
Map::EventLoop0 Map::SetLoopTime
#define MAP_EVENT_LOOP_1 (2)

Первый цикл.

Для изменения периодичности вызова используйте метод Map::SetLoopTime.

Сигнатура обработчика:
void _FuncName(Map& map)
См. также
Map::EventLoop1 Map::SetLoopTime
#define MAP_EVENT_LOOP_2 (3)

Второй цикл.

Для изменения периодичности вызова используйте метод Map::SetLoopTime.

Сигнатура обработчика:
void _FuncName(Map& map)
См. также
Map::EventLoop2 Map::SetLoopTime
#define MAP_EVENT_LOOP_3 (4)

Третий цикл.

Для изменения периодичности вызова используйте метод Map::SetLoopTime.

Сигнатура обработчика:
void _FuncName(Map& map)
См. также
Map::EventLoop3 Map::SetLoopTime
#define MAP_EVENT_LOOP_4 (5)

Четвертый цикл.

Для изменения периодичности вызова используйте метод Map::SetLoopTime.

Сигнатура обработчика:
void _FuncName(Map& map)
См. также
Map::EventLoop4 Map::SetLoopTime
#define MAP_EVENT_IN_CRITTER (6)

Вызывается при заходе криттера на данную карту.

Сигнатура обработчика:
void _FuncName(Map& map, Critter& cr)
Аргументы
cr Криттер, зашедший на карту.
См. также
Map::EventInCritter map_critter_in
#define MAP_EVENT_OUT_CRITTER (7)

Вызывается при выходе криттера с данной карты.

Сигнатура обработчика:
void _FuncName(Map& map, Critter& cr)
Аргументы
cr Криттер, вышедший с карты.
См. также
Map::EventOutCritter map_critter_out
#define MAP_EVENT_CRITTER_DEAD (8)

Вызывается при смерти криттера на данной карте.

Сигнатура обработчика:
void _FuncName(Map& map, Critter& cr, Critter@ killer)
Аргументы
cr | Умерший криттер.
killer | Если криттер был убит другим криттером, то аргумент содержит указатель на убившего криттера.
См. также
Map::EventCritterDead critter_dead
#define MAP_EVENT_TURN_BASED_BEGIN (9)

Вызывается в начале пошагового боя.

Сигнатура обработчика:
void _FuncName(Map& map)
См. также
Map::EventTurnBasedBegin
#define MAP_EVENT_TURN_BASED_END (10)

Вызывается в конце пошагового боя.

Сигнатура обработчика:
void _FuncName(Map& map)
См. также
Map::EventTurnBasedEnd
#define MAP_EVENT_TURN_BASED_PROCESS (11)

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

Сигнатура обработчика:
void _FuncName(Map& map, Critter& cr, bool beginTurn)
Аргументы
cr | Персонаж, для которого вызвано событие.
beginTurn | true - событие вызвано в начале хода персонажа, false - событие вызвано в конце хода персонажа.
См. также
Map::EventTurnBasedProcess
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Параметры криттеров

Группы
Параметры криттеров
Константы

Группы

Привыкания
Травмы/болезни
Карма
Специальные параметры
Перки
Репутация
Навыки
Статы
Профильные навыки
Таймауты
Трейты

Подробное описание

См. также
Critter::Param Critter::ParamBase
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Привыкания

Макросы
Привыкания
Параметры криттеров

Макросы

#define | ADDICTION_NUKA_COLA (470)
#define | ADDICTION_BUFFOUT (471)
#define | ADDICTION_MENTATS (472)
#define | ADDICTION_PSYCHO (473)
#define | ADDICTION_RADAWAY (474)
#define | ADDICTION_JET (475)
#define | ADDICTION_TRAGIC (476)

Подробное описание

Макросы

#define ADDICTION_NUKA_COLA (470)
#define ADDICTION_BUFFOUT (471)
#define ADDICTION_MENTATS (472)
#define ADDICTION_PSYCHO (473)
#define ADDICTION_RADAWAY (474)
#define ADDICTION_JET (475)
#define ADDICTION_TRAGIC (476)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Травмы/болезни

Макросы
Травмы/болезни
Параметры криттеров

Макросы

#define | DAMAGE_POISONED (500)
#define | DAMAGE_RADIATED (501)
#define | DAMAGE_EYE (502)
#define | DAMAGE_RIGHT_ARM (503)
#define | DAMAGE_LEFT_ARM (504)
#define | DAMAGE_RIGHT_LEG (505)
#define | DAMAGE_LEFT_LEG (506)

Подробное описание

Макросы

#define DAMAGE_POISONED (500)
#define DAMAGE_RADIATED (501)
#define DAMAGE_EYE (502)
#define DAMAGE_RIGHT_ARM (503)
#define DAMAGE_LEFT_ARM (504)
#define DAMAGE_RIGHT_LEG (505)
#define DAMAGE_LEFT_LEG (506)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Карма

Макросы
Карма
Параметры криттеров

Макросы

#define | KARMA_BERSERKER (480)
#define | KARMA_CHAMPION (481)
#define | KARMA_CHILDKILLER (482)
#define | KARMA_SEXPERT (483)
#define | KARMA_PRIZEFIGHTER (484)
#define | KARMA_GIGOLO (485)
#define | KARMA_GRAVE_DIGGER (486)
#define | KARMA_MARRIED (487)
#define | KARMA_PORN_STAR (488)
#define | KARMA_SLAVER (489)
#define | KARMA_VIRGIN_WASTES (490)
#define | KARMA_MAN_SALVATORE (491)
#define | KARMA_MAN_BISHOP (492)
#define | KARMA_MAN_MORDINO (493)
#define | KARMA_MAN_WRIGHT (494)
#define | KARMA_SEPARATED (495)

Подробное описание

Макросы

#define KARMA_BERSERKER (480)
#define KARMA_CHAMPION (481)
#define KARMA_CHILDKILLER (482)
#define KARMA_SEXPERT (483)
#define KARMA_PRIZEFIGHTER (484)
#define KARMA_GIGOLO (485)
#define KARMA_GRAVE_DIGGER (486)
#define KARMA_MARRIED (487)
#define KARMA_PORN_STAR (488)
#define KARMA_SLAVER (489)
#define KARMA_VIRGIN_WASTES (490)
#define KARMA_MAN_SALVATORE (491)
#define KARMA_MAN_BISHOP (492)
#define KARMA_MAN_MORDINO (493)
#define KARMA_MAN_WRIGHT (494)
#define KARMA_SEPARATED (495)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Специальные параметры

Макросы
Специальные параметры
Параметры криттеров

Макросы

#define | MODE_HIDE (510)
Состояние скрытности. Подробнее...
#define | MODE_NO_STEAL (511)
Режим, запрещающий воровство у криттера. Подробнее...
#define | MODE_NO_BARTER (512)
Режим, при котором невозможна торговля. Подробнее...
#define | MODE_NO_ENEMY_STACK (513)
Режим, при включении которого NPC не запоминает игроков. Подробнее...
#define | MODE_NO_PVP (514)
Режим, запрещающий PvP для игрока. Подробнее...
#define | MODE_END_COMBAT (515)
Согласен ли игрок закончить пошаговый бой. Подробнее...
#define | MODE_DEFAULT_COMBAT (516)
Режим боя по-умолчанию. Подробнее...
#define | MODE_NO_HOME (517)
Режим, при включении которого NPC не будет возвращаться в домашнюю позицию автоматически. Подробнее...
#define | MODE_GECK (518)
Режим, который позволяет предотвратить удаление локации, на которой находится NPC. Подробнее...
#define | MODE_NO_TALK (541)
Режим, в котором с нпц нельзя начать диалог. Подробнее...
#define | MODE_NO_FAVORITE_ITEM (519)
Режим установки предметов по-умолчанию. Подробнее...
#define | MODE_NO_ITEM_GARBAGER (520)
Позволяет отключить механизм автоматической продажи негруппируемых предметов. Подробнее...
#define | MODE_DLG_SCRIPT_BARTER (521)
Возможно торговать при активном скрипте на диалоге. Подробнее...
#define | MODE_UNLIMITED_AMMO (522)
Бесконечные патроны. Подробнее...
#define | MODE_NO_DROP (523)
Невозможность сбрасывать предметы. Подробнее...
#define | MODE_NO_LOOSE_LIMBS (524)
Невозможность терять конечности. Подробнее...
#define | MODE_DEAD_AGES (525)
Мёртвое тело не исчезает. Подробнее...
#define | MODE_NO_HEAL (526)
Очки жизней не восстанавливаются с течением времени. Подробнее...
#define | MODE_INVULNERABLE (527)
Режим неуязвимости. Подробнее...
#define | MODE_NO_FLATTEN (528)
Не помещать труп на задний план после смерти. Подробнее...
#define | MODE_SPECIAL_DEAD (529)
Есть особый вид смерти. Подробнее...
#define | MODE_RANGE_HTH (530)
Возможна рукопашная атака на расстоянии. Подробнее...
#define | MODE_NO_KNOCK (531)
Не может быть сбит с ног. Подробнее...
#define | MODE_NO_LOOT (532)
Режим, запрещающий обыск при смерти криттера. Подробнее...
#define | MODE_NO_SUPPLUY (533)
Не приходят охотники за головами при смерти NPC. Подробнее...
#define | MODE_NO_KARMA_ON_KILL (534)
При смерти не производится перерасчета кармы игрока-убийцы. Подробнее...
#define | MODE_BARTER_ONLY_CASH (535)
При бартере нпц принимает оплату только наличными. Подробнее...
#define | MODE_NO_PUSH (536)
Не быть оттолкнут. Подробнее...
#define | MODE_NO_UNARMED (537)
Не имеет безоружных атак. Подробнее...

Подробное описание

Макросы

#define MODE_HIDE (510)

Состояние скрытности.

#define MODE_NO_STEAL (511)

Режим, запрещающий воровство у криттера.

#define MODE_NO_BARTER (512)

Режим, при котором невозможна торговля.

#define MODE_NO_ENEMY_STACK (513)

Режим, при включении которого NPC не запоминает игроков.

#define MODE_NO_PVP (514)

Режим, запрещающий PvP для игрока.

#define MODE_END_COMBAT (515)

Согласен ли игрок закончить пошаговый бой.

#define MODE_DEFAULT_COMBAT (516)

Режим боя по-умолчанию.

#define MODE_NO_HOME (517)

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

#define MODE_GECK (518)

Режим, который позволяет предотвратить удаление локации, на которой находится NPC.

#define MODE_NO_TALK (541)

Режим, в котором с нпц нельзя начать диалог.

#define MODE_NO_FAVORITE_ITEM (519)

Режим установки предметов по-умолчанию.

См. также
Critter::GetFavoriteItem
Critter::SetFavoriteItem
#define MODE_NO_ITEM_GARBAGER (520)

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

Продажа происходит следующим образом: если количество негруппируемых предметов больше, чем Random(2, 4), тогда избыток удаляется, а количество денег увеличивается на стоимость, прописанную в прототипе.

Продажа совершается в момент обновления сумки (см. __BagRefreshTime).

#define MODE_DLG_SCRIPT_BARTER (521)

Возможно торговать при активном скрипте на диалоге.

#define MODE_UNLIMITED_AMMO (522)

Бесконечные патроны.

#define MODE_NO_DROP (523)

Невозможность сбрасывать предметы.

#define MODE_NO_LOOSE_LIMBS (524)

Невозможность терять конечности.

#define MODE_DEAD_AGES (525)

Мёртвое тело не исчезает.

#define MODE_NO_HEAL (526)

Очки жизней не восстанавливаются с течением времени.

#define MODE_INVULNERABLE (527)

Режим неуязвимости.

#define MODE_NO_FLATTEN (528)

Не помещать труп на задний план после смерти.

#define MODE_SPECIAL_DEAD (529)

Есть особый вид смерти.

#define MODE_RANGE_HTH (530)

Возможна рукопашная атака на расстоянии.

#define MODE_NO_KNOCK (531)

Не может быть сбит с ног.

#define MODE_NO_LOOT (532)

Режим, запрещающий обыск при смерти криттера.

#define MODE_NO_SUPPLUY (533)

Не приходят охотники за головами при смерти NPC.

#define MODE_NO_KARMA_ON_KILL (534)

При смерти не производится перерасчета кармы игрока-убийцы.

#define MODE_BARTER_ONLY_CASH (535)

При бартере нпц принимает оплату только наличными.

#define MODE_NO_PUSH (536)

Не быть оттолкнут.

#define MODE_NO_UNARMED (537)

Не имеет безоружных атак.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Перки

Макросы
Перки
Параметры криттеров

Макросы

#define | PE_BOOKWORM (300)
#define | PE_AWARENESS (301)
#define | PE_BONUS_HTH_ATTACKS (302)
#define | PE_BONUS_HTH_DAMAGE (303)
#define | PE_BONUS_MOVE (304)
#define | PE_BONUS_RANGED_DAMAGE (305)
#define | PE_BONUS_RATE_OF_FIRE (306)
#define | PE_EARLIER_SEQUENCE (307)
#define | PE_FASTER_HEALING (308)
#define | PE_MORE_CRITICALS (309)
#define | PE_NIGHT_VISION (310)
#define | PE_PRESENCE (311)
#define | PE_RAD_RESISTANCE (312)
#define | PE_TOUGHNESS (313)
#define | PE_STRONG_BACK (314)
#define | PE_SHARPSHOOTER (315)
#define | PE_SILENT_RUNNING (316)
#define | PE_SURVIVALIST (317)
#define | PE_MASTER_TRADER (318)
#define | PE_EDUCATED (319)
#define | PE_HEALER (320)
#define | PE_FORTUNE_FINDER (321)
#define | PE_BETTER_CRITICALS (322)
#define | PE_EMPATHY (323)
#define | PE_SLAYER (324)
#define | PE_SNIPER (325)
#define | PE_SILENT_DEATH (326)
#define | PE_ACTION_BOY (327)
#define | PE_MENTAL_BLOCK (328)
#define | PE_LIFEGIVER (329)
#define | PE_DODGER (330)
#define | PE_SNAKEATER (331)
#define | PE_MR_FIXIT (332)
#define | PE_MEDIC (333)
#define | PE_MASTER_THIEF (334)
#define | PE_SPEAKER (335)
#define | PE_HEAVE_HO (336)
#define | PE_FRIENDLY_FOE (337)
#define | PE_PICKPOCKET (338)
#define | PE_GHOST (339)
#define | PE_CULT_OF_PERSONALITY (340)
#define | PE_SCROUNGER (341)
#define | PE_EXPLORER (342)
#define | PE_FLOWER_CHILD (343)
#define | PE_PATHFINDER (344)
#define | PE_ANIMAL_FRIEND (345)
#define | PE_SCOUT (346)
#define | PE_MYSTERIOUS_STRANGER (347)
#define | PE_RANGER (348)
#define | PE_QUICK_POCKETS (349)
#define | PE_SMOOTH_TALKER (350)
#define | PE_SWIFT_LEARNER (351)
#define | PE_TAG (352)
#define | PE_MUTATE (353)
#define | PE_ADRENALINE_RUSH (380)
#define | PE_CAUTIOUS_NATURE (381)
#define | PE_COMPREHENSION (382)
#define | PE_DEMOLITION_EXPERT (383)
#define | PE_GAMBLER (384)
#define | PE_GAIN_STRENGTH (385)
#define | PE_GAIN_PERCEPTION (386)
#define | PE_GAIN_ENDURANCE (387)
#define | PE_GAIN_CHARISMA (388)
#define | PE_GAIN_INTELLIGENCE (389)
#define | PE_GAIN_AGILITY (390)
#define | PE_GAIN_LUCK (391)
#define | PE_HARMLESS (392)
#define | PE_HERE_AND_NOW (393)
#define | PE_HTH_EVADE (394)
#define | PE_KAMA_SUTRA_MASTER (395)
#define | PE_KARMA_BEACON (396)
#define | PE_LIGHT_STEP (397)
#define | PE_LIVING_ANATOMY (398)
#define | PE_MAGNETIC_PERSONALITY (399)
#define | PE_NEGOTIATOR (400)
#define | PE_PACK_RAT (401)
#define | PE_PYROMANIAC (402)
#define | PE_QUICK_RECOVERY (403)
#define | PE_SALESMAN (404)
#define | PE_STONEWALL (405)
#define | PE_THIEF (406)
#define | PE_WEAPON_HANDLING (407)
#define | PE_VAULT_CITY_TRAINING (408)
#define | PE_ALCOHOL_RAISED_HP (409)
#define | PE_ALCOHOL_RAISED_HP_II (410)
#define | PE_ALCOHOL_LOWERED_HP (411)
#define | PE_ALCOHOL_LOWERED_HP_II (412)
#define | PE_AUTODOC_RAISED_HP (413)
#define | PE_AUTODOC_RAISED_HP_II (414)
#define | PE_AUTODOC_LOWERED_HP (415)
#define | PE_AUTODOC_LOWERED_HP_II (416)
#define | PE_EXPERT_EXCREMENT (417)
#define | PE_JINXED_II (419)
#define | PE_TERMINATOR (420)
#define | PE_GECKO_SKINNING (430)
#define | PE_VAULT_CITY_INOCULATIONS (431)
#define | PE_DERMAL_IMPACT (432)
#define | PE_DERMAL_IMPACT_ENH (433)
#define | PE_PHOENIX_IMPLANTS (434)
#define | PE_PHOENIX_IMPLANTS_ENH (435)

Подробное описание

Макросы

#define PE_BOOKWORM (300)
#define PE_AWARENESS (301)
#define PE_BONUS_HTH_ATTACKS (302)
#define PE_BONUS_HTH_DAMAGE (303)
#define PE_BONUS_MOVE (304)
#define PE_BONUS_RANGED_DAMAGE (305)
#define PE_BONUS_RATE_OF_FIRE (306)
#define PE_EARLIER_SEQUENCE (307)
#define PE_FASTER_HEALING (308)
#define PE_MORE_CRITICALS (309)
#define PE_NIGHT_VISION (310)
#define PE_PRESENCE (311)
#define PE_RAD_RESISTANCE (312)
#define PE_TOUGHNESS (313)
#define PE_STRONG_BACK (314)
#define PE_SHARPSHOOTER (315)
#define PE_SILENT_RUNNING (316)
#define PE_SURVIVALIST (317)
#define PE_MASTER_TRADER (318)
#define PE_EDUCATED (319)
#define PE_HEALER (320)
#define PE_FORTUNE_FINDER (321)
#define PE_BETTER_CRITICALS (322)
#define PE_EMPATHY (323)
#define PE_SLAYER (324)
#define PE_SNIPER (325)
#define PE_SILENT_DEATH (326)
#define PE_ACTION_BOY (327)
#define PE_MENTAL_BLOCK (328)
#define PE_LIFEGIVER (329)
#define PE_DODGER (330)
#define PE_SNAKEATER (331)
#define PE_MR_FIXIT (332)
#define PE_MEDIC (333)
#define PE_MASTER_THIEF (334)
#define PE_SPEAKER (335)
#define PE_HEAVE_HO (336)
#define PE_FRIENDLY_FOE (337)
#define PE_PICKPOCKET (338)
#define PE_GHOST (339)
#define PE_CULT_OF_PERSONALITY (340)
#define PE_SCROUNGER (341)
#define PE_EXPLORER (342)
#define PE_FLOWER_CHILD (343)
#define PE_PATHFINDER (344)
#define PE_ANIMAL_FRIEND (345)
#define PE_SCOUT (346)
#define PE_MYSTERIOUS_STRANGER (347)
#define PE_RANGER (348)
#define PE_QUICK_POCKETS (349)
#define PE_SMOOTH_TALKER (350)
#define PE_SWIFT_LEARNER (351)
#define PE_TAG (352)
#define PE_MUTATE (353)
#define PE_ADRENALINE_RUSH (380)
#define PE_CAUTIOUS_NATURE (381)
#define PE_COMPREHENSION (382)
#define PE_DEMOLITION_EXPERT (383)
#define PE_GAMBLER (384)
#define PE_GAIN_STRENGTH (385)
#define PE_GAIN_PERCEPTION (386)
#define PE_GAIN_ENDURANCE (387)
#define PE_GAIN_CHARISMA (388)
#define PE_GAIN_INTELLIGENCE (389)
#define PE_GAIN_AGILITY (390)
#define PE_GAIN_LUCK (391)
#define PE_HARMLESS (392)
#define PE_HERE_AND_NOW (393)
#define PE_HTH_EVADE (394)
#define PE_KAMA_SUTRA_MASTER (395)
#define PE_KARMA_BEACON (396)
#define PE_LIGHT_STEP (397)
#define PE_LIVING_ANATOMY (398)
#define PE_MAGNETIC_PERSONALITY (399)
#define PE_NEGOTIATOR (400)
#define PE_PACK_RAT (401)
#define PE_PYROMANIAC (402)
#define PE_QUICK_RECOVERY (403)
#define PE_SALESMAN (404)
#define PE_STONEWALL (405)
#define PE_THIEF (406)
#define PE_WEAPON_HANDLING (407)
#define PE_VAULT_CITY_TRAINING (408)
#define PE_ALCOHOL_RAISED_HP (409)
#define PE_ALCOHOL_RAISED_HP_II (410)
#define PE_ALCOHOL_LOWERED_HP (411)
#define PE_ALCOHOL_LOWERED_HP_II (412)
#define PE_AUTODOC_RAISED_HP (413)
#define PE_AUTODOC_RAISED_HP_II (414)
#define PE_AUTODOC_LOWERED_HP (415)
#define PE_AUTODOC_LOWERED_HP_II (416)
#define PE_EXPERT_EXCREMENT (417)
#define PE_JINXED_II (419)
#define PE_TERMINATOR (420)
#define PE_GECKO_SKINNING (430)
#define PE_VAULT_CITY_INOCULATIONS (431)
#define PE_DERMAL_IMPACT (432)
#define PE_DERMAL_IMPACT_ENH (433)
#define PE_PHOENIX_IMPLANTS (434)
#define PE_PHOENIX_IMPLANTS_ENH (435)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Репутация

Макросы
Репутация
Параметры криттеров

Макросы

#define | REPUTATION_DEN (570)
#define | REPUTATION_KLAMATH (571)
#define | REPUTATION_MODOC (572)
#define | REPUTATION_VAULT_CITY (573)
#define | REPUTATION_GECKO (574)
#define | REPUTATION_BROKEN_HILLS (575)
#define | REPUTATION_NEW_RENO (576)
#define | REPUTATION_SIERRA (577)
#define | REPUTATION_VAULT15 (578)
#define | REPUTATION_NCR (579)
#define | REPUTATION_CATHEDRAL (580)
#define | REPUTATION_SAD (581)
#define | REPUTATION_REDDING (582)
#define | REPUTATION_SF (583)
#define | REPUTATION_NAVARRO (584)
#define | REPUTATION_ARROYO (585)
#define | REPUTATION_PRIMAL_TRIBE (586)
#define | REPUTATION_RANGERS (587)
#define | REPUTATION_VAULT13 (588)
#define | REPUTATION_SACRAMENTO (589)

Подробное описание

Макросы

#define REPUTATION_DEN (570)
#define REPUTATION_KLAMATH (571)
#define REPUTATION_MODOC (572)
#define REPUTATION_VAULT_CITY (573)
#define REPUTATION_GECKO (574)
#define REPUTATION_BROKEN_HILLS (575)
#define REPUTATION_NEW_RENO (576)
#define REPUTATION_SIERRA (577)
#define REPUTATION_VAULT15 (578)
#define REPUTATION_NCR (579)
#define REPUTATION_CATHEDRAL (580)
#define REPUTATION_SAD (581)
#define REPUTATION_REDDING (582)
#define REPUTATION_SF (583)
#define REPUTATION_NAVARRO (584)
#define REPUTATION_ARROYO (585)
#define REPUTATION_PRIMAL_TRIBE (586)
#define REPUTATION_RANGERS (587)
#define REPUTATION_VAULT13 (588)
#define REPUTATION_SACRAMENTO (589)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Навыки

Макросы
Навыки
Параметры криттеров

Макросы

#define | SK_SMALL_GUNS (200)
Легкое оружие. Подробнее...
#define | SK_BIG_GUNS (201)
Тяжелое оружие. Подробнее...
#define | SK_ENERGY_WEAPONS (202)
Энергетическое оружие. Подробнее...
#define | SK_UNARMED (203)
Навык рукопашного боя. Подробнее...
#define | SK_MELEE_WEAPONS (204)
Рукопашное оружие. Подробнее...
#define | SK_THROWING (205)
Метательное оружие. Подробнее...
#define | SK_FIRST_AID (206)
Первая помощь. Подробнее...
#define | SK_DOCTOR (207)
Доктор. Подробнее...
#define | SK_SNEAK (208)
Скрытность. Подробнее...
#define | SK_LOCKPICK (209)
Взлом. Подробнее...
#define | SK_STEAL (210)
Воровство. Подробнее...
#define | SK_TRAPS (211)
Ловушки. Подробнее...
#define | SK_SCIENCE (212)
Наука. Подробнее...
#define | SK_REPAIR (213)
Ремонт. Подробнее...
#define | SK_SPEECH (214)
Речь. Подробнее...
#define | SK_BARTER (215)
Торговля. Подробнее...
#define | SK_GAMBLING (216)
Азартные игры. Подробнее...
#define | SK_OUTDOORSMAN (217)
Скиталец. Подробнее...

Подробное описание

Макросы

#define SK_SMALL_GUNS (200)

Легкое оружие.

#define SK_BIG_GUNS (201)

Тяжелое оружие.

#define SK_ENERGY_WEAPONS (202)

Энергетическое оружие.

#define SK_UNARMED (203)

Навык рукопашного боя.

#define SK_MELEE_WEAPONS (204)

Рукопашное оружие.

#define SK_THROWING (205)

Метательное оружие.

#define SK_FIRST_AID (206)

Первая помощь.

#define SK_DOCTOR (207)

Доктор.

#define SK_SNEAK (208)

Скрытность.

#define SK_LOCKPICK (209)

Взлом.

#define SK_STEAL (210)

Воровство.

#define SK_TRAPS (211)

Ловушки.

#define SK_SCIENCE (212)

Наука.

#define SK_REPAIR (213)

Ремонт.

#define SK_SPEECH (214)

Речь.

#define SK_BARTER (215)

Торговля.

#define SK_GAMBLING (216)

Азартные игры.

#define SK_OUTDOORSMAN (217)

Скиталец.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Статы

Макросы
Статы
Параметры криттеров

Макросы

#define | ST_STRENGTH (0)
Сила. Подробнее...
#define | ST_PERCEPTION (1)
Восприятие. Подробнее...
#define | ST_ENDURANCE (2)
Выносливость. Подробнее...
#define | ST_CHARISMA (3)
Харизма. Подробнее...
#define | ST_INTELLECT (4)
Интеллект. Подробнее...
#define | ST_AGILITY (5)
Ловкость. Подробнее...
#define | ST_LUCK (6)
Удача. Подробнее...
#define | ST_MAX_LIFE (7)
Максимальное количество очков здоровья. Подробнее...
#define | ST_ACTION_POINTS (8)
Количество очков действия. Подробнее...
#define | ST_ARMOR_CLASS (9)
Класс брони. Подробнее...
#define | ST_MELEE_DAMAGE (10)
#define | ST_CARRY_WEIGHT (11)
Максимальный переносимый вес. Подробнее...
#define | ST_SEQUENCE (12)
#define | ST_HEALING_RATE (13)
Количество очков здоровья, восстанавливаемых при лечении (во время отдыха). Подробнее...
#define | ST_CRITICAL_CHANCE (14)
Шанс на критическое попадание. Подробнее...
#define | ST_MAX_CRITICAL (15)
#define | ST_NORMAL_ABSORB (16)
#define | ST_LASER_ABSORB (17)
#define | ST_FIRE_ABSORB (18)
#define | ST_PLASMA_ABSORB (19)
#define | ST_ELECTRO_ABSORB (20)
#define | ST_EMP_ABSORB (21)
#define | ST_EXPLODE_ABSORB (22)
#define | ST_NORMAL_RESIST (23)
#define | ST_LASER_RESIST (24)
#define | ST_FIRE_RESIST (25)
#define | ST_PLASMA_RESIST (26)
#define | ST_ELECTRO_RESIST (27)
#define | ST_EMP_RESIST (28)
#define | ST_EXPLODE_RESIST (29)
#define | ST_RADIATION_RESISTANCE (30)
#define | ST_POISON_RESISTANCE (31)
#define | ST_STRENGTH_EXT (32)
#define | ST_PERCEPTION_EXT (33)
#define | ST_ENDURANCE_EXT (34)
#define | ST_CHARISMA_EXT (35)
#define | ST_INTELLECT_EXT (36)
#define | ST_AGILITY_EXT (37)
#define | ST_LUCK_EXT (38)
#define | ST_MAX_LIFE_EXT (39)
#define | ST_ACTION_POINTS_EXT (40)
#define | ST_ARMOR_CLASS_EXT (41)
#define | ST_MELEE_DAMAGE_EXT (42)
#define | ST_CARRY_WEIGHT_EXT (43)
#define | ST_SEQUENCE_EXT (44)
#define | ST_HEALING_RATE_EXT (45)
#define | ST_CRITICAL_CHANCE_EXT (46)
#define | ST_MAX_CRITICAL_EXT (47)
#define | ST_NORMAL_ABSORB_EXT (48)
#define | ST_LASER_ABSORB_EXT (49)
#define | ST_FIRE_ABSORB_EXT (50)
#define | ST_PLASMA_ABSORB_EXT (51)
#define | ST_ELECTRO_ABSORB_EXT (52)
#define | ST_EMP_ABSORB_EXT (53)
#define | ST_EXPLODE_ABSORB_EXT (54)
#define | ST_NORMAL_RESIST_EXT (55)
#define | ST_LASER_RESIST_EXT (56)
#define | ST_FIRE_RESIST_EXT (57)
#define | ST_PLASMA_RESIST_EXT (58)
#define | ST_ELECTRO_RESIST_EXT (59)
#define | ST_EMP_RESIST_EXT (60)
#define | ST_EXPLODE_RESIST_EXT (61)
#define | ST_RADIATION_RESISTANCE_EXT (62)
#define | ST_POISON_RESISTANCE_EXT (63)
#define | ST_TOXIC (64)
#define | ST_RADIOACTIVE (65)
#define | ST_KILL_EXPERIENCE (66)
#define | ST_BODY_TYPE (67)
Тип тела криттера. Подробнее...
#define | ST_LOCOMOTION_TYPE (68)
#define | ST_DAMAGE_TYPE (69)
#define | ST_AGE (70)
#define | ST_GENDER (71)
#define | ST_CURRENT_HP (72)
#define | ST_POISONING_LEVEL (73)
#define | ST_RADIATION_LEVEL (74)
#define | ST_CURRENT_AP (75)
#define | ST_EXPERIENCE (76)
#define | ST_LEVEL (77)
#define | ST_UNSPENT_SKILL_POINTS (78)
#define | ST_UNSPENT_PERKS (79)
#define | ST_KARMA (80)
#define | ST_FOLLOW_CRIT (81)
#define | ST_REPLICATION_MONEY (82)
#define | ST_REPLICATION_COUNT (83)
#define | ST_REPLICATION_TIME (84)
#define | ST_REPLICATION_COST (85)
#define | ST_TURN_BASED_AC (86)
#define | ST_MAX_MOVE_AP (87)
#define | ST_MOVE_AP (88)
#define | ST_NPC_ROLE (89)
#define | ST_VAR0 (90)
Вспомогательный стат, который может быть использован для сохранения какой-либо информации. Подробнее...
#define | ST_VAR1 (91)
Вспомогательный стат, который может быть использован для сохранения какой-либо информации. Подробнее...
#define | ST_VAR2 (92)
Вспомогательный стат, который может быть использован для сохранения какой-либо информации. Подробнее...
#define | ST_VAR3 (93)
Вспомогательный стат, который может быть использован для сохранения какой-либо информации. Подробнее...
#define | ST_VAR4 (94)
Вспомогательный стат, который может быть использован для сохранения какой-либо информации. Подробнее...
#define | ST_VAR5 (95)
Вспомогательный стат, который может быть использован для сохранения какой-либо информации. Подробнее...
#define | ST_VAR6 (96)
Вспомогательный стат, который может быть использован для сохранения какой-либо информации. Подробнее...
#define | ST_VAR7 (97)
Вспомогательный стат, который может быть использован для сохранения какой-либо информации. Подробнее...
#define | ST_VAR8 (98)
Вспомогательный стат, который может быть использован для сохранения какой-либо информации. Подробнее...
#define | ST_VAR9 (99)
Вспомогательный стат, который может быть использован для сохранения какой-либо информации. Подробнее...
#define | ST_PLAYER_KARMA (100)
#define | ST_BONUS_LOOK (101)
#define | ST_RATE_OBJECT (102)
#define | ST_FREE_BARTER_PLAYER (103)
#define | ST_DIALOG_ID (104)
Номер диалога, привязанного к криттеру. Подробнее...
#define | ST_AI_ID (105)
#define | ST_TEAM_ID (106)
Номера команды криттера. Подробнее...
#define | ST_BAG_ID (107)
Номер сумки криттера. Подробнее...
#define | ST_LAST_STEAL_CR_ID (108)
#define | ST_STEAL_COUNT (109)
#define | ST_LAST_WEAPON_ID (110)
#define | ST_LAST_WEAPON_USE (111)
#define | ST_BASE_CRTYPE (112)
#define | ST_DEAD_BLOCKER_ID (113)
#define | ST_CURRENT_ARMOR_PERK (114)
#define | ST_TALK_DISTANCE (115)
Определяет максимальную дистанцию, с которой можно инициировать диалог с NPC. Подробнее...
#define | ST_SCALE_FACTOR (116)
#define | ST_MAX_TALKERS (119)
Максимальное количество одновременно запущенных диалогов. Подробнее...

Подробное описание

Макросы

#define ST_STRENGTH (0)

Сила.

#define ST_PERCEPTION (1)

Восприятие.

#define ST_ENDURANCE (2)

Выносливость.

#define ST_CHARISMA (3)

Харизма.

#define ST_INTELLECT (4)

Интеллект.

#define ST_AGILITY (5)

Ловкость.

#define ST_LUCK (6)

Удача.

#define ST_MAX_LIFE (7)

Максимальное количество очков здоровья.

#define ST_ACTION_POINTS (8)

Количество очков действия.

#define ST_ARMOR_CLASS (9)

Класс брони.

#define ST_MELEE_DAMAGE (10)
#define ST_CARRY_WEIGHT (11)

Максимальный переносимый вес.

#define ST_SEQUENCE (12)
#define ST_HEALING_RATE (13)

Количество очков здоровья, восстанавливаемых при лечении (во время отдыха).

#define ST_CRITICAL_CHANCE (14)

Шанс на критическое попадание.

#define ST_MAX_CRITICAL (15)
#define ST_NORMAL_ABSORB (16)
#define ST_LASER_ABSORB (17)
#define ST_FIRE_ABSORB (18)
#define ST_PLASMA_ABSORB (19)
#define ST_ELECTRO_ABSORB (20)
#define ST_EMP_ABSORB (21)
#define ST_EXPLODE_ABSORB (22)
#define ST_NORMAL_RESIST (23)
#define ST_LASER_RESIST (24)
#define ST_FIRE_RESIST (25)
#define ST_PLASMA_RESIST (26)
#define ST_ELECTRO_RESIST (27)
#define ST_EMP_RESIST (28)
#define ST_EXPLODE_RESIST (29)
#define ST_RADIATION_RESISTANCE (30)
#define ST_POISON_RESISTANCE (31)
#define ST_STRENGTH_EXT (32)
#define ST_PERCEPTION_EXT (33)
#define ST_ENDURANCE_EXT (34)
#define ST_CHARISMA_EXT (35)
#define ST_INTELLECT_EXT (36)
#define ST_AGILITY_EXT (37)
#define ST_LUCK_EXT (38)
#define ST_MAX_LIFE_EXT (39)
#define ST_ACTION_POINTS_EXT (40)
#define ST_ARMOR_CLASS_EXT (41)
#define ST_MELEE_DAMAGE_EXT (42)
#define ST_CARRY_WEIGHT_EXT (43)
#define ST_SEQUENCE_EXT (44)
#define ST_HEALING_RATE_EXT (45)
#define ST_CRITICAL_CHANCE_EXT (46)
#define ST_MAX_CRITICAL_EXT (47)
#define ST_NORMAL_ABSORB_EXT (48)
#define ST_LASER_ABSORB_EXT (49)
#define ST_FIRE_ABSORB_EXT (50)
#define ST_PLASMA_ABSORB_EXT (51)
#define ST_ELECTRO_ABSORB_EXT (52)
#define ST_EMP_ABSORB_EXT (53)
#define ST_EXPLODE_ABSORB_EXT (54)
#define ST_NORMAL_RESIST_EXT (55)
#define ST_LASER_RESIST_EXT (56)
#define ST_FIRE_RESIST_EXT (57)
#define ST_PLASMA_RESIST_EXT (58)
#define ST_ELECTRO_RESIST_EXT (59)
#define ST_EMP_RESIST_EXT (60)
#define ST_EXPLODE_RESIST_EXT (61)
#define ST_RADIATION_RESISTANCE_EXT (62)
#define ST_POISON_RESISTANCE_EXT (63)
#define ST_TOXIC (64)
#define ST_RADIOACTIVE (65)
#define ST_KILL_EXPERIENCE (66)
#define ST_BODY_TYPE (67)

Тип тела криттера.

См. Body types.

#define ST_LOCOMOTION_TYPE (68)
#define ST_DAMAGE_TYPE (69)
#define ST_AGE (70)
#define ST_GENDER (71)
#define ST_CURRENT_HP (72)
#define ST_POISONING_LEVEL (73)
#define ST_RADIATION_LEVEL (74)
#define ST_CURRENT_AP (75)
#define ST_EXPERIENCE (76)
#define ST_LEVEL (77)
#define ST_UNSPENT_SKILL_POINTS (78)
#define ST_UNSPENT_PERKS (79)
#define ST_KARMA (80)
#define ST_FOLLOW_CRIT (81)
#define ST_REPLICATION_MONEY (82)
#define ST_REPLICATION_COUNT (83)
#define ST_REPLICATION_TIME (84)
#define ST_REPLICATION_COST (85)
#define ST_TURN_BASED_AC (86)
#define ST_MAX_MOVE_AP (87)
#define ST_MOVE_AP (88)
#define ST_NPC_ROLE (89)
#define ST_VAR0 (90)

Вспомогательный стат, который может быть использован для сохранения какой-либо информации.

#define ST_VAR1 (91)

Вспомогательный стат, который может быть использован для сохранения какой-либо информации.

#define ST_VAR2 (92)

Вспомогательный стат, который может быть использован для сохранения какой-либо информации.

#define ST_VAR3 (93)

Вспомогательный стат, который может быть использован для сохранения какой-либо информации.

#define ST_VAR4 (94)

Вспомогательный стат, который может быть использован для сохранения какой-либо информации.

#define ST_VAR5 (95)

Вспомогательный стат, который может быть использован для сохранения какой-либо информации.

#define ST_VAR6 (96)

Вспомогательный стат, который может быть использован для сохранения какой-либо информации.

#define ST_VAR7 (97)

Вспомогательный стат, который может быть использован для сохранения какой-либо информации.

#define ST_VAR8 (98)

Вспомогательный стат, который может быть использован для сохранения какой-либо информации.

#define ST_VAR9 (99)

Вспомогательный стат, который может быть использован для сохранения какой-либо информации.

#define ST_PLAYER_KARMA (100)
#define ST_BONUS_LOOK (101)
#define ST_RATE_OBJECT (102)
#define ST_FREE_BARTER_PLAYER (103)
#define ST_DIALOG_ID (104)

Номер диалога, привязанного к криттеру.

Cм. _dialogs.fos, dialogs.lst.

#define ST_AI_ID (105)
#define ST_TEAM_ID (106)

Номера команды криттера.

Cм. _teams.fos, TEAMS.TXT.

Возвращает
Номер команды криттера.
#define ST_BAG_ID (107)

Номер сумки криттера.

Cм. _bags.fos, BAGS.TXT.

Возвращает
Номер сумки.
См. также
GetBagItems Critter::SetBagRefreshTime
#define ST_LAST_STEAL_CR_ID (108)
#define ST_STEAL_COUNT (109)
#define ST_LAST_WEAPON_ID (110)
#define ST_LAST_WEAPON_USE (111)
#define ST_BASE_CRTYPE (112)
#define ST_DEAD_BLOCKER_ID (113)
#define ST_CURRENT_ARMOR_PERK (114)
#define ST_TALK_DISTANCE (115)

Определяет максимальную дистанцию, с которой можно инициировать диалог с NPC.

Прим.
Если значение стата равно 0, то тогда используется значение из глобальной переменной __TalkDistance.
См. также
__TalkDistance
#define ST_SCALE_FACTOR (116)
#define ST_MAX_TALKERS (119)

Максимальное количество одновременно запущенных диалогов.

ST_MAX_TALKERS < 0 - диалог не может быть начат; ST_MAX_TALKERS == 0 - значение берется из глобальной переменной __NpcMaxTalkers; ST_MAX_TALKERS > 0 - берется данное значение.

См. также
__NpcMaxTalkers
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Профильные навыки

Макросы
Профильные навыки
Параметры криттеров

Макросы

#define | TAG_SKILL1 (226)
#define | TAG_SKILL2 (227)
#define | TAG_SKILL3 (228)
#define | TAG_SKILL4 (229)

Подробное описание

Макросы

#define TAG_SKILL1 (226)
#define TAG_SKILL2 (227)
#define TAG_SKILL3 (228)
#define TAG_SKILL4 (229)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Таймауты

Макросы
Таймауты
Параметры криттеров

Макросы

#define | TO_SK_FIRST_AID (230)
Таймаут на использование навыка Первая помощь. Подробнее...
#define | TO_SK_DOCTOR (231)
Таймаут на использование навыка Доктор. Подробнее...
#define | TO_SK_REPAIR (232)
Таймаут на использование навыка Ремонт. Подробнее...
#define | TO_SK_SCIENCE (233)
Таймаут на использование навыка Наука. Подробнее...
#define | TO_SK_LOCKPICK (234)
Таймаут на использование навыка Взлом. Подробнее...
#define | TO_SK_STEAL (235)
Таймаут на использование навыка Воровство. Подробнее...
#define | TO_BATTLE (238)
Боевой таймаут. Подробнее...
#define | TO_TRANSFER (239)
Таймаут на переходы между локациями. Подробнее...
#define | TO_REMOVE_FROM_GAME (240)
Таймаут на выход из игры. Подробнее...
#define | TO_REPLICATION (241)
Таймаут репликации. Подробнее...
#define | TO_KARMA_VOTING (242)
Таймаут на изменение кармы. Подробнее...
#define | TO_KARMA_VOTING (243)
Таймаут на изменение кармы. Подробнее...
#define | TO_STEALING (248)
Таймаут на использование навыка воровства. Подробнее...
#define | TO_AGGRESSOR (249)
(?) Подробнее...

Подробное описание

Макросы

#define TO_SK_FIRST_AID (230)

Таймаут на использование навыка Первая помощь.

#define TO_SK_DOCTOR (231)

Таймаут на использование навыка Доктор.

#define TO_SK_REPAIR (232)

Таймаут на использование навыка Ремонт.

#define TO_SK_SCIENCE (233)

Таймаут на использование навыка Наука.

#define TO_SK_LOCKPICK (234)

Таймаут на использование навыка Взлом.

#define TO_SK_STEAL (235)

Таймаут на использование навыка Воровство.

#define TO_BATTLE (238)

Боевой таймаут.

#define TO_TRANSFER (239)

Таймаут на переходы между локациями.

#define TO_REMOVE_FROM_GAME (240)

Таймаут на выход из игры.

#define TO_REPLICATION (241)

Таймаут репликации.

#define TO_KARMA_VOTING (242)

Таймаут на изменение кармы.

Таймаут на скрытность.

#define TO_KARMA_VOTING (243)

Таймаут на изменение кармы.

Таймаут на скрытность.

#define TO_STEALING (248)

Таймаут на использование навыка воровства.

#define TO_AGGRESSOR (249)

(?)

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Трейты

Макросы
Трейты
Параметры криттеров

Макросы

#define | TRAIT_FAST_METABOLISM (550)
#define | TRAIT_BRUISER (551)
#define | TRAIT_SMALL_FRAME (552)
#define | TRAIT_ONE_HANDER (553)
#define | TRAIT_FINESSE (554)
#define | TRAIT_KAMIKAZE (555)
#define | TRAIT_HEAVY_HANDED (556)
#define | TRAIT_FAST_SHOT (557)
#define | TRAIT_BLOODY_MESS (558)
#define | TRAIT_JINXED (559)
#define | TRAIT_GOOD_NATURED (560)
#define | TRAIT_CHEM_RELIANT (561)
#define | TRAIT_CHEM_RESISTANT (562)
#define | TRAIT_SEX_APPEAL (563)
#define | TRAIT_SKILLED (564)
#define | TRAIT_NIGHT_PERSON (565)

Подробное описание

Макросы

#define TRAIT_FAST_METABOLISM (550)
#define TRAIT_BRUISER (551)
#define TRAIT_SMALL_FRAME (552)
#define TRAIT_ONE_HANDER (553)
#define TRAIT_FINESSE (554)
#define TRAIT_KAMIKAZE (555)
#define TRAIT_HEAVY_HANDED (556)
#define TRAIT_FAST_SHOT (557)
#define TRAIT_BLOODY_MESS (558)
#define TRAIT_JINXED (559)
#define TRAIT_GOOD_NATURED (560)
#define TRAIT_CHEM_RELIANT (561)
#define TRAIT_CHEM_RESISTANT (562)
#define TRAIT_SEX_APPEAL (563)
#define TRAIT_SKILLED (564)
#define TRAIT_NIGHT_PERSON (565)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Access levels

Макросы
Access levels
Константы

Уровни доступа. Подробнее...

Макросы

#define | ACCESS_CLIENT (0)
#define | ACCESS_TESTER (1)
#define | ACCESS_MODER (2)
#define | ACCESS_ADMIN (3)

Подробное описание

Уровни доступа.

См. также
Critter::GetAccess

Макросы

#define ACCESS_CLIENT (0)
#define ACCESS_TESTER (1)
#define ACCESS_MODER (2)
#define ACCESS_ADMIN (3)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Body types

Макросы
Body types
Константы

Виды существ. Подробнее...

Макросы

#define | BT_MEN (0)
#define | BT_WOMEN (1)
#define | BT_CHILDREN (2)
#define | BT_SUPER_MUTANT (3)
#define | BT_GHOUL (4)
#define | BT_BRAHMIN (5)
#define | BT_RADSCORPION (6)
#define | BT_RAT (7)
#define | BT_FLOATER (8)
#define | BT_CENTAUR (9)
#define | BT_ROBOT (10)
#define | BT_DOG (11)
#define | BT_MANTI (12)
#define | BT_DEADCLAW (13)
#define | BT_PLANT (14)
#define | BT_GECKO (15)
#define | BT_ALIEN (16)
#define | BT_GIANT_ANT (17)
#define | BT_BIG_BAD_BOSS (18)
#define | BT_GIANT_BEETLE (19)
#define | BT_GIANT_WASP (20)

Подробное описание

Виды существ.

См. также
ST_BODY_TYPE

Макросы

#define BT_MEN (0)
#define BT_WOMEN (1)
#define BT_CHILDREN (2)
#define BT_SUPER_MUTANT (3)
#define BT_GHOUL (4)
#define BT_BRAHMIN (5)
#define BT_RADSCORPION (6)
#define BT_RAT (7)
#define BT_FLOATER (8)
#define BT_CENTAUR (9)
#define BT_ROBOT (10)
#define BT_DOG (11)
#define BT_MANTI (12)
#define BT_DEADCLAW (13)
#define BT_PLANT (14)
#define BT_GECKO (15)
#define BT_ALIEN (16)
#define BT_GIANT_ANT (17)
#define BT_BIG_BAD_BOSS (18)
#define BT_GIANT_BEETLE (19)
#define BT_GIANT_WASP (20)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Car flags

Макросы
Car flags
Константы

Флаги машин. Подробнее...

Макросы

#define | CAR_BIO_ENGINE (0x0001)
#define | CAR_NO_LOCKPICK (0x0002)

Подробное описание

Флаги машин.

Макросы

#define CAR_BIO_ENGINE (0x0001)
#define CAR_NO_LOCKPICK (0x0002)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Client screen types

Макросы
Client screen types
Константы

Макросы

#define CLIENT_SCREEN_NONE (0)

Primary screens

#define | CLIENT_MAIN_SCREEN_LOGIN (1)
#define | CLIENT_MAIN_SCREEN_REGISTRATION (2)
#define | CLIENT_MAIN_SCREEN_OPTIONS (3)
#define | CLIENT_MAIN_SCREEN_CREDITS (4)
#define | CLIENT_MAIN_SCREEN_GAME (5)
#define | CLIENT_MAIN_SCREEN_GLOBAL_MAP (6)
#define | CLIENT_MAIN_SCREEN_WAIT (7)

Secondary screens

#define | CLIENT_SCREEN_INVENTORY (10)
#define | CLIENT_SCREEN_PICKUP (11)
#define | CLIENT_SCREEN_MINIMAP (12)
#define | CLIENT_SCREEN_CHARACTER (13)
#define | CLIENT_SCREEN_DIALOG (14)
#define | CLIENT_SCREEN_BARTER (15)
#define | CLIENT_SCREEN_PIP_BOY (16)
#define | CLIENT_SCREEN_FIX_BOY (17)
#define | CLIENT_SCREEN_MENU (18)
#define | CLIENT_SCREEN_AIM (19)
#define | CLIENT_SCREEN_SPLIT (20)
#define | CLIENT_SCREEN_TIMER (21)
#define | CLIENT_SCREEN_DIALOGBOX (22)
#define | CLIENT_SCREEN_ELEVATOR (23)
#define | CLIENT_SCREEN_SAY (24)
#define | CLIENT_SCREEN_CHA_NAME (25)
#define | CLIENT_SCREEN_CHA_AGE (26)
#define | CLIENT_SCREEN_CHA_SEX (27)
#define | CLIENT_SCREEN_GM_TOWN (28)
#define | CLIENT_SCREEN_INPUT_BOX (29)
#define | CLIENT_SCREEN_SKILLBOX (30)
#define | CLIENT_SCREEN_USE (31)
#define | CLIENT_SCREEN_PERK (32)
#define | CLIENT_SCREEN_TOWN_VIEW (33)
#define | CLIENT_SCREEN_SAVE_LOAD (34)

Подробное описание

См. также
ShowScreen HideScreen GetHardcodedScreenPos DrawHardcodedScreen

Макросы

#define CLIENT_SCREEN_NONE (0)
#define CLIENT_MAIN_SCREEN_LOGIN (1)
#define CLIENT_MAIN_SCREEN_REGISTRATION (2)
#define CLIENT_MAIN_SCREEN_OPTIONS (3)
#define CLIENT_MAIN_SCREEN_CREDITS (4)
#define CLIENT_MAIN_SCREEN_GAME (5)
#define CLIENT_MAIN_SCREEN_GLOBAL_MAP (6)
#define CLIENT_MAIN_SCREEN_WAIT (7)
#define CLIENT_SCREEN_INVENTORY (10)
#define CLIENT_SCREEN_PICKUP (11)
#define CLIENT_SCREEN_MINIMAP (12)
#define CLIENT_SCREEN_CHARACTER (13)
#define CLIENT_SCREEN_DIALOG (14)
#define CLIENT_SCREEN_BARTER (15)
#define CLIENT_SCREEN_PIP_BOY (16)
#define CLIENT_SCREEN_FIX_BOY (17)
#define CLIENT_SCREEN_MENU (18)
#define CLIENT_SCREEN_AIM (19)
#define CLIENT_SCREEN_SPLIT (20)
#define CLIENT_SCREEN_TIMER (21)
#define CLIENT_SCREEN_DIALOGBOX (22)
#define CLIENT_SCREEN_ELEVATOR (23)
#define CLIENT_SCREEN_SAY (24)
#define CLIENT_SCREEN_CHA_NAME (25)
#define CLIENT_SCREEN_CHA_AGE (26)
#define CLIENT_SCREEN_CHA_SEX (27)
#define CLIENT_SCREEN_GM_TOWN (28)
#define CLIENT_SCREEN_INPUT_BOX (29)
#define CLIENT_SCREEN_SKILLBOX (30)
#define CLIENT_SCREEN_USE (31)
#define CLIENT_SCREEN_PERK (32)
#define CLIENT_SCREEN_TOWN_VIEW (33)
#define CLIENT_SCREEN_SAVE_LOAD (34)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Combat modes

Макросы
Combat modes
Константы

Режимы боя. Подробнее...

Макросы

#define | COMBAT_MODE_ANY (0)
Любой. Подробнее...
#define | COMBAT_MODE_REAL_TIME (1)
Бой в реальном времени. Подробнее...
#define | COMBAT_MODE_TURN_BASED (2)
Пошаговый бой. Подробнее...

Подробное описание

Режимы боя.

См. также
global_invite

Макросы

#define COMBAT_MODE_ANY (0)

Любой.

#define COMBAT_MODE_REAL_TIME (1)

Бой в реальном времени.

#define COMBAT_MODE_TURN_BASED (2)

Пошаговый бой.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Critter actions

Макросы
Critter actions
Константы

Действия криттера. Подробнее...

Макросы

#define | ACTION_MOVE (0)
#define | ACTION_RUN (1)
#define | ACTION_MOVE_ITEM (2)
#define | ACTION_MOVE_ITEM (4)
#define | ACTION_MOVE_ITEM_SWAP (3)
#define | ACTION_USE_ITEM (5)
#define | ACTION_DROP_ITEM (6)
#define | ACTION_USE_WEAPON (7)
#define | ACTION_RELOAD_WEAPON (8)
#define | ACTION_USE_SKILL (9)
#define | ACTION_PICK_ITEM (10)
#define | ACTION_PICK_CRITTER (11)
#define | ACTION_OPERATE_CONTAINER (12)
#define | ACTION_BARTER (13)
#define | ACTION_DODGE (14)
#define | ACTION_DAMAGE (15)
#define | ACTION_KNOCKOUT (16)
#define | ACTION_STANDUP (17)
#define | ACTION_FIDGET (18)
#define | ACTION_DEAD (19)
#define | ACTION_CONNECT (20)
#define | ACTION_DISCONNECT (21)
#define | ACTION_RESPAWN (22)
#define | ACTION_REFRESH (23)

Подробное описание

Действия криттера.

Позволяют описывать действия криттера на более высоком уровне.

Вы можете добавлять свои действия, реализуя их в функции critter_action клиента.

См. также
Critter::Action
critter_action

Макросы

#define ACTION_MOVE (0)
#define ACTION_RUN (1)
#define ACTION_MOVE_ITEM (2)
#define ACTION_MOVE_ITEM (4)
#define ACTION_MOVE_ITEM_SWAP (3)
#define ACTION_USE_ITEM (5)
#define ACTION_DROP_ITEM (6)
#define ACTION_USE_WEAPON (7)
#define ACTION_RELOAD_WEAPON (8)
#define ACTION_USE_SKILL (9)
#define ACTION_PICK_ITEM (10)
#define ACTION_PICK_CRITTER (11)
#define ACTION_OPERATE_CONTAINER (12)
#define ACTION_BARTER (13)
#define ACTION_DODGE (14)
#define ACTION_DAMAGE (15)
#define ACTION_KNOCKOUT (16)
#define ACTION_STANDUP (17)
#define ACTION_FIDGET (18)
#define ACTION_DEAD (19)
#define ACTION_CONNECT (20)
#define ACTION_DISCONNECT (21)
#define ACTION_RESPAWN (22)
#define ACTION_REFRESH (23)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Critter conditions

Critter conditions
Константы

Состояния криттера. Подробнее...

Critter basic conditions

См. также
Critter::Cond
#define | COND_LIFE (1)
Криттер жив. Подробнее...
#define | COND_KNOCKOUT (2)
Криттер в нокауте. Подробнее...
#define | COND_DEAD (3)
Криттер умер. Подробнее...
#define | COND_NOT_IN_GAME (4)
Криттер не в игре. Подробнее...

Critter extended conditions

См. также
Critter::CondExt
Critter::ToDead
#define | COND_KNOCKOUT_FRONT (1)
#define | COND_KNOCKOUT_BACK (2)
#define | COND_DEAD_FRONT (1)
#define | COND_DEAD_BACK (2)
#define | COND_DEAD_BURST (3)
#define | COND_DEAD_BLOODY_SINGLE (4)
#define | COND_DEAD_BLOODY_BURST (5)
#define | COND_DEAD_PULSE (6)
#define | COND_DEAD_PULSE_DUST (7)
#define | COND_DEAD_LASER (8)
#define | COND_DEAD_EXPLODE (9)
#define | COND_DEAD_FUSED (10)
#define | COND_DEAD_BURN (11)
#define | COND_DEAD_BURN2 (12)
#define | COND_DEAD_BURN_RUN (13)

Подробное описание

Состояния криттера.

Макросы

#define COND_LIFE (1)

Криттер жив.

#define COND_KNOCKOUT (2)

Криттер в нокауте.

#define COND_DEAD (3)

Криттер умер.

#define COND_NOT_IN_GAME (4)

Криттер не в игре.

#define COND_KNOCKOUT_FRONT (1)
#define COND_KNOCKOUT_BACK (2)
#define COND_DEAD_FRONT (1)
#define COND_DEAD_BACK (2)
#define COND_DEAD_BURST (3)
#define COND_DEAD_BLOODY_SINGLE (4)
#define COND_DEAD_BLOODY_BURST (5)
#define COND_DEAD_PULSE (6)
#define COND_DEAD_PULSE_DUST (7)
#define COND_DEAD_LASER (8)
#define COND_DEAD_EXPLODE (9)
#define COND_DEAD_FUSED (10)
#define COND_DEAD_BURN (11)
#define COND_DEAD_BURN2 (12)
#define COND_DEAD_BURN_RUN (13)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Critter extra flags

Макросы
Critter extra flags
Константы

Дополнительные флаги для криттеров. Подробнее...

Макросы

#define | CRITTER_PLAYER (0x0001)
Криттер является игроком Подробнее...
#define | CRITTER_NPC (0x0002)
Криттер является NPC. Подробнее...
#define | CRITTER_DISCONNECT (0x0008)
Криттер в оффлайне Подробнее...
#define | CRITTER_CHOSEN (0x0010)
Криттер игрока. Подробнее...
#define | CRITTER_RULEGROUP (0x0020)
Криттер является рулевым в группе на глобале Подробнее...

Подробное описание

Дополнительные флаги для криттеров.

См. также
Critter::FlagsExt

Макросы

#define CRITTER_PLAYER (0x0001)

Криттер является игроком

#define CRITTER_NPC (0x0002)

Криттер является NPC.

#define CRITTER_DISCONNECT (0x0008)

Криттер в оффлайне

#define CRITTER_CHOSEN (0x0010)

Криттер игрока.

Используется только при отправке сообщения клиенту для идентификации его персонажа.

#define CRITTER_RULEGROUP (0x0020)

Криттер является рулевым в группе на глобале

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Critter find types

Critter find types
Константы

Флаги поиска криттеров. Подробнее...

First group

#define | FIND_LIFE (0x01)
#define | FIND_KO (0x02)
#define | FIND_DEAD (0x04)
#define | FIND_LIFE_AND_KO (0x03)
#define | FIND_LIFE_AND_DEAD (0x05)
#define | FIND_KO_AND_DEAD (0x06)
#define | FIND_ALL (0x0F)

Second group

#define | FIND_ONLY_PLAYERS (0x10)
#define | FIND_ONLY_NPC (0x20)

Подробное описание

Флаги поиска криттеров.

Комбинируйте флаги разных групп с помощью оператора '|'.

Необходимо сделать:
Написать пример.

Макросы

#define FIND_LIFE (0x01)
#define FIND_KO (0x02)
#define FIND_DEAD (0x04)
#define FIND_LIFE_AND_KO (0x03)
#define FIND_LIFE_AND_DEAD (0x05)
#define FIND_KO_AND_DEAD (0x06)
#define FIND_ALL (0x0F)
#define FIND_ONLY_PLAYERS (0x10)
#define FIND_ONLY_NPC (0x20)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Critter look types

Макросы
Critter look types
Константы

Макросы

#define | CRITTER_ONLY_NAME (0)
Формирование имени криттера. Подробнее...
#define | CRITTER_LOOK_SHORT (1)
Формирование короткого описания. Подробнее...
#define | CRITTER_LOOK_FULL (2)
Формирование подробного описания. Подробнее...

Подробное описание

См. также
critter_description

Макросы

#define CRITTER_ONLY_NAME (0)

Формирование имени криттера.

#define CRITTER_LOOK_SHORT (1)

Формирование короткого описания.

#define CRITTER_LOOK_FULL (2)

Формирование подробного описания.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Cursors

Макросы
Cursors
Константы

Макросы

#define | CURSOR_DEFAULT (0)
#define | CURSOR_MOVE (1)
#define | CURSOR_USE_OBJECT (2)
#define | CURSOR_USE_WEAPON (3)
#define | CURSOR_USE_SKILL (4)
#define | CURSOR_WAIT (5)
#define | CURSOR_HAND (6)

Подробное описание

См. также
GetCurrentCursor() GetLastCursor() ChangeCursor

Макросы

#define CURSOR_DEFAULT (0)
#define CURSOR_MOVE (1)
#define CURSOR_USE_OBJECT (2)
#define CURSOR_USE_WEAPON (3)
#define CURSOR_USE_SKILL (4)
#define CURSOR_WAIT (5)
#define CURSOR_HAND (6)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Dialog links

Макросы
Dialog links
Константы

Специальные действия в диалогах. Подробнее...

Макросы

#define | DIALOG_END uint(-1)
Завершение диалога Подробнее...
#define | DIALOG_BACK uint(-2)
Возврат к предыдущей ветке диалога Подробнее...
#define | DIALOG_BARTER uint(-3)
Переход в режим бартера Подробнее...
#define | DIALOG_ATTACK uint(-4)
Завершение диалога с последующей атакой NPC. Подробнее...

Подробное описание

Специальные действия в диалогах.

Макросы

#define DIALOG_END uint(-1)

Завершение диалога

#define DIALOG_BACK uint(-2)

Возврат к предыдущей ветке диалога

#define DIALOG_BARTER uint(-3)

Переход в режим бартера

#define DIALOG_ATTACK uint(-4)

Завершение диалога с последующей атакой NPC.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: DirectInput keyboard scan codes

Макросы
DirectInput keyboard scan codes
Константы

Макросы

#define | DIK_ESCAPE 0x01
#define | DIK_1 0x02
#define | DIK_2 0x03
#define | DIK_3 0x04
#define | DIK_4 0x05
#define | DIK_5 0x06
#define | DIK_6 0x07
#define | DIK_7 0x08
#define | DIK_8 0x09
#define | DIK_9 0x0A
#define | DIK_0 0x0B
#define | DIK_MINUS 0x0C /* - on main keyboard */
#define | DIK_EQUALS 0x0D
#define | DIK_BACK 0x0E /* backspace */
#define | DIK_TAB 0x0F
#define | DIK_Q 0x10
#define | DIK_W 0x11
#define | DIK_E 0x12
#define | DIK_R 0x13
#define | DIK_T 0x14
#define | DIK_Y 0x15
#define | DIK_U 0x16
#define | DIK_I 0x17
#define | DIK_O 0x18
#define | DIK_P 0x19
#define | DIK_LBRACKET 0x1A
#define | DIK_RBRACKET 0x1B
#define | DIK_RETURN 0x1C /* Enter on main keyboard */
#define | DIK_LCONTROL 0x1D
#define | DIK_A 0x1E
#define | DIK_S 0x1F
#define | DIK_D 0x20
#define | DIK_F 0x21
#define | DIK_G 0x22
#define | DIK_H 0x23
#define | DIK_J 0x24
#define | DIK_K 0x25
#define | DIK_L 0x26
#define | DIK_SEMICOLON 0x27
#define | DIK_APOSTROPHE 0x28
#define | DIK_GRAVE 0x29 /* accent grave */
#define | DIK_LSHIFT 0x2A
#define | DIK_BACKSLASH 0x2B
#define | DIK_Z 0x2C
#define | DIK_X 0x2D
#define | DIK_C 0x2E
#define | DIK_V 0x2F
#define | DIK_B 0x30
#define | DIK_N 0x31
#define | DIK_M 0x32
#define | DIK_COMMA 0x33
#define | DIK_PERIOD 0x34 /* . on main keyboard */
#define | DIK_SLASH 0x35 /* / on main keyboard */
#define | DIK_RSHIFT 0x36
#define | DIK_MULTIPLY 0x37 /* * on numeric keypad */
#define | DIK_LMENU 0x38 /* left Alt */
#define | DIK_SPACE 0x39
#define | DIK_CAPITAL 0x3A
#define | DIK_F1 0x3B
#define | DIK_F2 0x3C
#define | DIK_F3 0x3D
#define | DIK_F4 0x3E
#define | DIK_F5 0x3F
#define | DIK_F6 0x40
#define | DIK_F7 0x41
#define | DIK_F8 0x42
#define | DIK_F9 0x43
#define | DIK_F10 0x44
#define | DIK_NUMLOCK 0x45
#define | DIK_SCROLL 0x46 /* Scroll Lock */
#define | DIK_NUMPAD7 0x47
#define | DIK_NUMPAD8 0x48
#define | DIK_NUMPAD9 0x49
#define | DIK_SUBTRACT 0x4A /* - on numeric keypad */
#define | DIK_NUMPAD4 0x4B
#define | DIK_NUMPAD5 0x4C
#define | DIK_NUMPAD6 0x4D
#define | DIK_ADD 0x4E /* + on numeric keypad */
#define | DIK_NUMPAD1 0x4F
#define | DIK_NUMPAD2 0x50
#define | DIK_NUMPAD3 0x51
#define | DIK_NUMPAD0 0x52
#define | DIK_DECIMAL 0x53 /* . on numeric keypad */
#define | DIK_OEM_102 0x56 /* <> or \| on RT 102-key keyboard (Non-U.S.) */
#define | DIK_F11 0x57
#define | DIK_F12 0x58
#define | DIK_F13 0x64 /* (NEC PC98) */
#define | DIK_F14 0x65 /* (NEC PC98) */
#define | DIK_F15 0x66 /* (NEC PC98) */
#define | DIK_KANA 0x70 /* (Japanese keyboard) */
#define | DIK_ABNT_C1 0x73 /* /? on Brazilian keyboard */
#define | DIK_CONVERT 0x79 /* (Japanese keyboard) */
#define | DIK_NOCONVERT 0x7B /* (Japanese keyboard) */
#define | DIK_YEN 0x7D /* (Japanese keyboard) */
#define | DIK_ABNT_C2 0x7E /* Numpad . on Brazilian keyboard */
#define | DIK_NUMPADEQUALS 0x8D /* = on numeric keypad (NEC PC98) */
#define | DIK_PREVTRACK 0x90 /* Previous Track (DIK_CIRCUMFLEX on Japanese keyboard) */
#define | DIK_AT 0x91 /* (NEC PC98) */
#define | DIK_COLON 0x92 /* (NEC PC98) */
#define | DIK_UNDERLINE 0x93 /* (NEC PC98) */
#define | DIK_KANJI 0x94 /* (Japanese keyboard) */
#define | DIK_STOP 0x95 /* (NEC PC98) */
#define | DIK_AX 0x96 /* (Japan AX) */
#define | DIK_UNLABELED 0x97 /* (J3100) */
#define | DIK_NEXTTRACK 0x99 /* Next Track */
#define | DIK_NUMPADENTER 0x9C /* Enter on numeric keypad */
#define | DIK_RCONTROL 0x9D
#define | DIK_MUTE 0xA0 /* Mute */
#define | DIK_CALCULATOR 0xA1 /* Calculator */
#define | DIK_PLAYPAUSE 0xA2 /* Play / Pause */
#define | DIK_MEDIASTOP 0xA4 /* Media Stop */
#define | DIK_VOLUMEDOWN 0xAE /* Volume - */
#define | DIK_VOLUMEUP 0xB0 /* Volume + */
#define | DIK_WEBHOME 0xB2 /* Web home */
#define | DIK_NUMPADCOMMA 0xB3 /* , on numeric keypad (NEC PC98) */
#define | DIK_DIVIDE 0xB5 /* / on numeric keypad */
#define | DIK_SYSRQ 0xB7
#define | DIK_RMENU 0xB8 /* right Alt */
#define | DIK_PAUSE 0xC5 /* Pause */
#define | DIK_HOME 0xC7 /* Home on arrow keypad */
#define | DIK_UP 0xC8 /* UpArrow on arrow keypad */
#define | DIK_PRIOR 0xC9 /* PgUp on arrow keypad */
#define | DIK_LEFT 0xCB /* LeftArrow on arrow keypad */
#define | DIK_RIGHT 0xCD /* RightArrow on arrow keypad */
#define | DIK_END 0xCF /* End on arrow keypad */
#define | DIK_DOWN 0xD0 /* DownArrow on arrow keypad */
#define | DIK_NEXT 0xD1 /* PgDn on arrow keypad */
#define | DIK_INSERT 0xD2 /* Insert on arrow keypad */
#define | DIK_DELETE 0xD3 /* Delete on arrow keypad */
#define | DIK_LWIN 0xDB /* Left Windows key */
#define | DIK_RWIN 0xDC /* Right Windows key */
#define | DIK_APPS 0xDD /* AppMenu key */
#define | DIK_POWER 0xDE /* System Power */
#define | DIK_SLEEP 0xDF /* System Sleep */
#define | DIK_WAKE 0xE3 /* System Wake */
#define | DIK_WEBSEARCH 0xE5 /* Web Search */
#define | DIK_WEBFAVORITES 0xE6 /* Web Favorites */
#define | DIK_WEBREFRESH 0xE7 /* Web Refresh */
#define | DIK_WEBSTOP 0xE8 /* Web Stop */
#define | DIK_WEBFORWARD 0xE9 /* Web Forward */
#define | DIK_WEBBACK 0xEA /* Web Back */
#define | DIK_MYCOMPUTER 0xEB /* My Computer */
#define | DIK_MAIL 0xEC /* Mail */
#define | DIK_MEDIASELECT 0xED /* Media Select */

Подробное описание

См. также
key_down key_up

Макросы

#define DIK_ESCAPE 0x01
#define DIK_1 0x02
#define DIK_2 0x03
#define DIK_3 0x04
#define DIK_4 0x05
#define DIK_5 0x06
#define DIK_6 0x07
#define DIK_7 0x08
#define DIK_8 0x09
#define DIK_9 0x0A
#define DIK_0 0x0B
#define DIK_MINUS 0x0C /* - on main keyboard */
#define DIK_EQUALS 0x0D
#define DIK_BACK 0x0E /* backspace */
#define DIK_TAB 0x0F
#define DIK_Q 0x10
#define DIK_W 0x11
#define DIK_E 0x12
#define DIK_R 0x13
#define DIK_T 0x14
#define DIK_Y 0x15
#define DIK_U 0x16
#define DIK_I 0x17
#define DIK_O 0x18
#define DIK_P 0x19
#define DIK_LBRACKET 0x1A
#define DIK_RBRACKET 0x1B
#define DIK_RETURN 0x1C /* Enter on main keyboard */
#define DIK_LCONTROL 0x1D
#define DIK_A 0x1E
#define DIK_S 0x1F
#define DIK_D 0x20
#define DIK_F 0x21
#define DIK_G 0x22
#define DIK_H 0x23
#define DIK_J 0x24
#define DIK_K 0x25
#define DIK_L 0x26
#define DIK_SEMICOLON 0x27
#define DIK_APOSTROPHE 0x28
#define DIK_GRAVE 0x29 /* accent grave */
#define DIK_LSHIFT 0x2A
#define DIK_BACKSLASH 0x2B
#define DIK_Z 0x2C
#define DIK_X 0x2D
#define DIK_C 0x2E
#define DIK_V 0x2F
#define DIK_B 0x30
#define DIK_N 0x31
#define DIK_M 0x32
#define DIK_COMMA 0x33
#define DIK_PERIOD 0x34 /* . on main keyboard */
#define DIK_SLASH 0x35 /* / on main keyboard */
#define DIK_RSHIFT 0x36
#define DIK_MULTIPLY 0x37 /* * on numeric keypad */
#define DIK_LMENU 0x38 /* left Alt */
#define DIK_SPACE 0x39
#define DIK_CAPITAL 0x3A
#define DIK_F1 0x3B
#define DIK_F2 0x3C
#define DIK_F3 0x3D
#define DIK_F4 0x3E
#define DIK_F5 0x3F
#define DIK_F6 0x40
#define DIK_F7 0x41
#define DIK_F8 0x42
#define DIK_F9 0x43
#define DIK_F10 0x44
#define DIK_NUMLOCK 0x45
#define DIK_SCROLL 0x46 /* Scroll Lock */
#define DIK_NUMPAD7 0x47
#define DIK_NUMPAD8 0x48
#define DIK_NUMPAD9 0x49
#define DIK_SUBTRACT 0x4A /* - on numeric keypad */
#define DIK_NUMPAD4 0x4B
#define DIK_NUMPAD5 0x4C
#define DIK_NUMPAD6 0x4D
#define DIK_ADD 0x4E /* + on numeric keypad */
#define DIK_NUMPAD1 0x4F
#define DIK_NUMPAD2 0x50
#define DIK_NUMPAD3 0x51
#define DIK_NUMPAD0 0x52
#define DIK_DECIMAL 0x53 /* . on numeric keypad */
#define DIK_OEM_102 0x56 /* <> or \| on RT 102-key keyboard (Non-U.S.) */
#define DIK_F11 0x57
#define DIK_F12 0x58
#define DIK_F13 0x64 /* (NEC PC98) */
#define DIK_F14 0x65 /* (NEC PC98) */
#define DIK_F15 0x66 /* (NEC PC98) */
#define DIK_KANA 0x70 /* (Japanese keyboard) */
#define DIK_ABNT_C1 0x73 /* /? on Brazilian keyboard */
#define DIK_CONVERT 0x79 /* (Japanese keyboard) */
#define DIK_NOCONVERT 0x7B /* (Japanese keyboard) */
#define DIK_YEN 0x7D /* (Japanese keyboard) */
#define DIK_ABNT_C2 0x7E /* Numpad . on Brazilian keyboard */
#define DIK_NUMPADEQUALS 0x8D /* = on numeric keypad (NEC PC98) */
#define DIK_PREVTRACK 0x90 /* Previous Track (DIK_CIRCUMFLEX on Japanese keyboard) */
#define DIK_AT 0x91 /* (NEC PC98) */
#define DIK_COLON 0x92 /* (NEC PC98) */
#define DIK_UNDERLINE 0x93 /* (NEC PC98) */
#define DIK_KANJI 0x94 /* (Japanese keyboard) */
#define DIK_STOP 0x95 /* (NEC PC98) */
#define DIK_AX 0x96 /* (Japan AX) */
#define DIK_UNLABELED 0x97 /* (J3100) */
#define DIK_NEXTTRACK 0x99 /* Next Track */
#define DIK_NUMPADENTER 0x9C /* Enter on numeric keypad */
#define DIK_RCONTROL 0x9D
#define DIK_MUTE 0xA0 /* Mute */
#define DIK_CALCULATOR 0xA1 /* Calculator */
#define DIK_PLAYPAUSE 0xA2 /* Play / Pause */
#define DIK_MEDIASTOP 0xA4 /* Media Stop */
#define DIK_VOLUMEDOWN 0xAE /* Volume - */
#define DIK_VOLUMEUP 0xB0 /* Volume + */
#define DIK_WEBHOME 0xB2 /* Web home */
#define DIK_NUMPADCOMMA 0xB3 /* , on numeric keypad (NEC PC98) */
#define DIK_DIVIDE 0xB5 /* / on numeric keypad */
#define DIK_SYSRQ 0xB7
#define DIK_RMENU 0xB8 /* right Alt */
#define DIK_PAUSE 0xC5 /* Pause */
#define DIK_HOME 0xC7 /* Home on arrow keypad */
#define DIK_UP 0xC8 /* UpArrow on arrow keypad */
#define DIK_PRIOR 0xC9 /* PgUp on arrow keypad */
#define DIK_LEFT 0xCB /* LeftArrow on arrow keypad */
#define DIK_RIGHT 0xCD /* RightArrow on arrow keypad */
#define DIK_END 0xCF /* End on arrow keypad */
#define DIK_DOWN 0xD0 /* DownArrow on arrow keypad */
#define DIK_NEXT 0xD1 /* PgDn on arrow keypad */
#define DIK_INSERT 0xD2 /* Insert on arrow keypad */
#define DIK_DELETE 0xD3 /* Delete on arrow keypad */
#define DIK_LWIN 0xDB /* Left Windows key */
#define DIK_RWIN 0xDC /* Right Windows key */
#define DIK_APPS 0xDD /* AppMenu key */
#define DIK_POWER 0xDE /* System Power */
#define DIK_SLEEP 0xDF /* System Sleep */
#define DIK_WAKE 0xE3 /* System Wake */
#define DIK_WEBSEARCH 0xE5 /* Web Search */
#define DIK_WEBFAVORITES 0xE6 /* Web Favorites */
#define DIK_WEBREFRESH 0xE7 /* Web Refresh */
#define DIK_WEBSTOP 0xE8 /* Web Stop */
#define DIK_WEBFORWARD 0xE9 /* Web Forward */
#define DIK_WEBBACK 0xEA /* Web Back */
#define DIK_MYCOMPUTER 0xEB /* My Computer */
#define DIK_MAIL 0xEC /* Mail */
#define DIK_MEDIASELECT 0xED /* Media Select */
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Draw primitive types

Макросы
Draw primitive types
Константы

Типы примитивов. Подробнее...

Макросы

#define | DRAW_PRIMITIVE_POINTLIST (0)
#define | DRAW_PRIMITIVE_LINELIST (1)
#define | DRAW_PRIMITIVE_LINESTRIP (2)
#define | DRAW_PRIMITIVE_TRIANGLELIST (3)
#define | DRAW_PRIMITIVE_TRIANGLESTRIP (4)
#define | DRAW_PRIMITIVE_TRIANGLEFAN (5)

Подробное описание

Типы примитивов.

Подробнее о типах примитивов читайте здесь:

  • http://www.firststeps.ru/mfc/directx/dxhelp/r.php?33 (rus)
  • D3DPRIMITIVETYPE (eng)
См. также
DrawPrimitive

Макросы

#define DRAW_PRIMITIVE_POINTLIST (0)
#define DRAW_PRIMITIVE_LINELIST (1)
#define DRAW_PRIMITIVE_LINESTRIP (2)
#define DRAW_PRIMITIVE_TRIANGLELIST (3)
#define DRAW_PRIMITIVE_TRIANGLESTRIP (4)
#define DRAW_PRIMITIVE_TRIANGLEFAN (5)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Elevators

Макросы
Elevators
Константы

Интерфейсы лифтов. Подробнее...

Макросы

#define | ELEVATOR_X #(elevator,current_level) ((uint((current_level)&0xFFFF)<<16)|(elevator)&0xFFFF)
#define | ELEVATOR_BOS_1234 #(current_level) (ELEVATOR_X(0,current_level))
#define | ELEVATOR_BOS_01 #(current_level) (ELEVATOR_X(1,current_level))
#define | ELEVATOR_MASTER_123 #(current_level) (ELEVATOR_X(2,current_level))
#define | ELEVATOR_MASTER_34 #(current_level) (ELEVATOR_X(3,current_level))
#define | ELEVATOR_MILITARY_123 #(current_level) (ELEVATOR_X(4,current_level))
#define | ELEVATOR_MILITARY_34 #(current_level) (ELEVATOR_X(5,current_level))
#define | ELEVATOR_MILITARY_346 #(current_level) (ELEVATOR_X(6,current_level))
#define | ELEVATOR_MILITARY_456 #(current_level) (ELEVATOR_X(7,current_level))
#define | ELEVATOR_VAULT_123 #(current_level) (ELEVATOR_X(8,current_level))

Подробное описание

Интерфейсы лифтов.

См. также
SCREEN_ELEVATOR

Макросы

#define ELEVATOR_X #(elevator,current_level) ((uint((current_level)&0xFFFF)<<16)|(elevator)&0xFFFF)
#define ELEVATOR_BOS_1234 #(current_level) (ELEVATOR_X(0,current_level))
#define ELEVATOR_BOS_01 #(current_level) (ELEVATOR_X(1,current_level))
#define ELEVATOR_MASTER_123 #(current_level) (ELEVATOR_X(2,current_level))
#define ELEVATOR_MASTER_34 #(current_level) (ELEVATOR_X(3,current_level))
#define ELEVATOR_MILITARY_123 #(current_level) (ELEVATOR_X(4,current_level))
#define ELEVATOR_MILITARY_34 #(current_level) (ELEVATOR_X(5,current_level))
#define ELEVATOR_MILITARY_346 #(current_level) (ELEVATOR_X(6,current_level))
#define ELEVATOR_MILITARY_456 #(current_level) (ELEVATOR_X(7,current_level))
#define ELEVATOR_VAULT_123 #(current_level) (ELEVATOR_X(8,current_level))
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Fix boy craft results

Макросы
Fix boy craft results
Константы

Макросы

#define | FIXBOY_ALLOW_CRAFT (0x0001)
#define | FIXBOY_CHECK_TIMEOUT (0x0002)
#define | FIXBOY_SET_TIMEOUT (0x0004)
#define | FIXBOY_CHECK_PARAMS (0x0008)
#define | FIXBOY_CHECK_MATERIALS (0x0010)
#define | FIXBOY_CHECK_TOOLS (0x0020)
#define | FIXBOY_SUB_MATERIALS (0x0040)
#define | FIXBOY_ADD_CRAFT_ITEMS (0x0080)
#define | FIXBOY_ADD_EXPERIENCE (0x0100)
#define | FIXBOY_SEND_SUCC_MESSAGE (0x0200)
#define | FIXBOY_SEND_FAIL_MESSAGE (0x0400)
#define | FIXBOY_DEFAULT (0xFFFF)

Подробное описание

Макросы

#define FIXBOY_ALLOW_CRAFT (0x0001)
#define FIXBOY_CHECK_TIMEOUT (0x0002)
#define FIXBOY_SET_TIMEOUT (0x0004)
#define FIXBOY_CHECK_PARAMS (0x0008)
#define FIXBOY_CHECK_MATERIALS (0x0010)
#define FIXBOY_CHECK_TOOLS (0x0020)
#define FIXBOY_SUB_MATERIALS (0x0040)
#define FIXBOY_ADD_CRAFT_ITEMS (0x0080)
#define FIXBOY_ADD_EXPERIENCE (0x0100)
#define FIXBOY_SEND_SUCC_MESSAGE (0x0200)
#define FIXBOY_SEND_FAIL_MESSAGE (0x0400)
#define FIXBOY_DEFAULT (0xFFFF)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Fix boy function call states

Макросы
Fix boy function call states
Константы

Макросы

#define | FIXBOY_LIST (0)
#define | FIXBOY_BUTTON (1)
#define | FIXBOY_CRAFT (2)

Подробное описание

Макросы

#define FIXBOY_LIST (0)
#define FIXBOY_BUTTON (1)
#define FIXBOY_CRAFT (2)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Font flags

Макросы
Font flags
Константы

Макросы

#define | FT_NOBREAK (0x0001)
#define | FT_NOBREAK_LINE (0x0002)
#define | FT_CENTERX (0x0004)
#define | FT_CENTERY (0x0008)
#define | FT_CENTERR (0x0010)
#define | FT_BOTTOM (0x0020)
#define | FT_UPPER (0x0040)
#define | FT_NO_COLORIZE (0x0080)
#define | FT_ALIGN (0x0100)
#define | FT_SKIPLINES(l) (0x0200|((l)<<16))
#define | FT_BORDERED (0x0400)

Подробное описание

См. также
DrawText

Макросы

#define FT_NOBREAK (0x0001)
#define FT_NOBREAK_LINE (0x0002)
#define FT_CENTERX (0x0004)
#define FT_CENTERY (0x0008)
#define FT_CENTERR (0x0010)
#define FT_BOTTOM (0x0020)
#define FT_UPPER (0x0040)
#define FT_NO_COLORIZE (0x0080)
#define FT_ALIGN (0x0100)
#define FT_SKIPLINES ( l ) (0x0200|((l)<<16))
#define FT_BORDERED (0x0400)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Fonts

Макросы
Fonts
Константы

Макросы

#define | FONT_OLD_FO (0)
#define | FONT_NUM (1)
#define | FONT_BIG_NUM (2)
#define | FONT_SAND_NUM (3)
#define | FONT_SPECIAL (4)
#define | FONT_FALLOUT (5)
#define | FONT_THIN (6)
#define | FONT_FAT (7)
#define | FONT_BIG (8)

Подробное описание

См. также
DrawText

Макросы

#define FONT_OLD_FO (0)
#define FONT_NUM (1)
#define FONT_BIG_NUM (2)
#define FONT_SAND_NUM (3)
#define FONT_SPECIAL (4)
#define FONT_FALLOUT (5)
#define FONT_THIN (6)
#define FONT_FAT (7)
#define FONT_BIG (8)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Gender

Макросы
Gender
Константы

Пол Подробнее...

Макросы

#define | GENDER_MALE (0)
Мужской пол Подробнее...
#define | GENDER_FEMALE (1)
Женский пол Подробнее...
#define | GENDER_IT (2)
Оно Подробнее...

Подробное описание

Пол

См. также
ST_GENDER

Макросы

#define GENDER_MALE (0)

Мужской пол

#define GENDER_FEMALE (1)

Женский пол

#define GENDER_IT (2)

Оно

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Generic descriptions types

Макросы
Generic descriptions types
Константы

Макросы

#define | DESC_INVENTORY_MAIN (0)
#define | DESC_INVENTORY_SPECIAL (1)
#define | DESC_INVENTORY_STATS (2)
#define | DESC_INVENTORY_RESIST (3)

Подробное описание

См. также
generic_description

Макросы

#define DESC_INVENTORY_MAIN (0)
#define DESC_INVENTORY_SPECIAL (1)
#define DESC_INVENTORY_STATS (2)
#define DESC_INVENTORY_RESIST (3)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Global map events

Макросы
Global map events
Константы

Типы событий возникающих на глобальной карте Подробнее...

Макросы

#define | GLOBAL_PROCESS_MOVE (0)
Вызывается при передвижении по глобальной карте, каждые 5 секунд Подробнее...
#define | GLOBAL_PROCESS_ENTER (1)
Вызывается при попытке входа на пустую карту Подробнее...
#define | GLOBAL_PROCESS_START_FAST (2)
Вызывается сразу при выходе на глобал или отсоединении от группы Подробнее...
#define | GLOBAL_PROCESS_START (3)
Вызывается при прошествии 20 секунд от выхода на глобал или при первой попытке передвижения Подробнее...
#define | GLOBAL_PROCESS_SET_MOVE (4)
Вызывается при изменении направления движения Подробнее...
#define | GLOBAL_PROCESS_STOPPED (5)
Вызывается при остановке движения группы Подробнее...
#define | GLOBAL_PROCESS_NPC_IDLE (6)
Вызывается при при простое Нпц на глобале Подробнее...

Подробное описание

Типы событий возникающих на глобальной карте

См. также
CRITTER_EVENT_GLOBAL_PROCESS

Макросы

#define GLOBAL_PROCESS_MOVE (0)

Вызывается при передвижении по глобальной карте, каждые 5 секунд

#define GLOBAL_PROCESS_ENTER (1)

Вызывается при попытке входа на пустую карту

#define GLOBAL_PROCESS_START_FAST (2)

Вызывается сразу при выходе на глобал или отсоединении от группы

#define GLOBAL_PROCESS_START (3)

Вызывается при прошествии 20 секунд от выхода на глобал или при первой попытке передвижения

#define GLOBAL_PROCESS_SET_MOVE (4)

Вызывается при изменении направления движения

#define GLOBAL_PROCESS_STOPPED (5)

Вызывается при остановке движения группы

#define GLOBAL_PROCESS_NPC_IDLE (6)

Вызывается при при простое Нпц на глобале

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Global map fog

Макросы
Global map fog
Константы

Состояния тумана на клетках глобальной карты. Подробнее...

Макросы

#define | FOG_FULL (0)
Клетка полностью невидима Подробнее...
#define | FOG_SELF (1)
(?) Подробнее...
#define | FOG_SELF2 (2)
(?) Подробнее...
#define | FOG_NONE (3)
Клетка видима Подробнее...

Подробное описание

Состояния тумана на клетках глобальной карты.

См. также
Critter::GetFog Critter::SetFog GetFog

Макросы

#define FOG_FULL (0)

Клетка полностью невидима

#define FOG_SELF (1)

(?)

#define FOG_SELF2 (2)

(?)

#define FOG_NONE (3)

Клетка видима

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Hit locations

Макросы
Hit locations
Константы

Макросы

#define | HIT_LOCATION_NONE (0)
#define | HIT_LOCATION_HEAD (1)
#define | HIT_LOCATION_LEFT_ARM (2)
#define | HIT_LOCATION_RIGHT_ARM (3)
#define | HIT_LOCATION_TORSO (4)
#define | HIT_LOCATION_RIGHT_LEG (5)
#define | HIT_LOCATION_LEFT_LEG (6)
#define | HIT_LOCATION_EYES (7)
#define | HIT_LOCATION_GROIN (8)
#define | HIT_LOCATION_UNCALLED (9)

Подробное описание

См. также
CRITTER_EVENT_PLANE_RUN

Макросы

#define HIT_LOCATION_NONE (0)
#define HIT_LOCATION_HEAD (1)
#define HIT_LOCATION_LEFT_ARM (2)
#define HIT_LOCATION_RIGHT_ARM (3)
#define HIT_LOCATION_TORSO (4)
#define HIT_LOCATION_RIGHT_LEG (5)
#define HIT_LOCATION_LEFT_LEG (6)
#define HIT_LOCATION_EYES (7)
#define HIT_LOCATION_GROIN (8)
#define HIT_LOCATION_UNCALLED (9)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: In SendMessage

Макросы
In SendMessage
Константы

Круг получателей сообщения, отсылаемого методом Critter::SendMessage. Подробнее...

Макросы

#define | MESSAGE_TO_WHO_SEES_ME (0)
Отослать сообщения всем, кто видит криттера. Подробнее...
#define | MESSAGE_TO_I_SEE (1)
Отослать сообщения всем, кого видит криттер. Подробнее...
#define | MESSAGE_TO_ALL_ON_MAP (2)
Отослать всем на карте. Подробнее...

Подробное описание

Круг получателей сообщения, отсылаемого методом Critter::SendMessage.

См. также
Critter::SendMessage

Макросы

#define MESSAGE_TO_WHO_SEES_ME (0)

Отослать сообщения всем, кто видит криттера.

#define MESSAGE_TO_I_SEE (1)

Отослать сообщения всем, кого видит криттер.

#define MESSAGE_TO_ALL_ON_MAP (2)

Отослать всем на карте.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Item broken flags

Макросы
Item broken flags
Константы

Макросы

#define | BI_LOWBROKEN (0x01)
#define | BI_NORMBROKEN (0x02)
#define | BI_HIGHBROKEN (0x04)
#define | BI_NOTRESC (0x08)
#define | BI_BROKEN (0x0F)
#define | BI_SERVICE (0x10)
#define | BI_SERVICE_EXT (0x20)
#define | BI_ETERNAL (0x40)

Подробное описание

См. также
Item::BrokenFlags

Макросы

#define BI_LOWBROKEN (0x01)
#define BI_NORMBROKEN (0x02)
#define BI_HIGHBROKEN (0x04)
#define BI_NOTRESC (0x08)
#define BI_BROKEN (0x0F)
#define BI_SERVICE (0x10)
#define BI_SERVICE_EXT (0x20)
#define BI_ETERNAL (0x40)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Item flags

Макросы
Item flags
Константы

Флаги предметов. Подробнее...

Макросы

#define | ITEM_HIDDEN (0x00000001)
#define | ITEM_FLAT (0x00000002)
#define | ITEM_NO_BLOCK (0x00000004)
#define | ITEM_SHOOT_THRU (0x00000008)
#define | ITEM_LIGHT_THRU (0x00000010)
#define | ITEM_MULTI_HEX (0x00000020)
#define | ITEM_WALL_TRANS_END (0x00000040)
#define | ITEM_TWO_HANDS (0x00000080)
#define | ITEM_BIG_GUN (0x00000100)
#define | ITEM_ALWAYS_VIEW (0x00000200)
#define | ITEM_HAS_TIMER (0x00000400)
#define | ITEM_BAD_ITEM (0x00000800)
#define | ITEM_NO_HIGHLIGHT (0x00001000)
#define | ITEM_SHOW_ANIM (0x00002000)
#define | ITEM_SHOW_ANIM_EXT (0x00004000)
#define | ITEM_LIGHT (0x00008000)
#define | ITEM_GECK (0x00010000)
Если в локации присутствует предмет с этим флагом, то локация не будет удаляться, а её местоположение будет записано в пип-бой при выходе игрока из нее. Подробнее...
#define | ITEM_TRAP (0x00020000)
Добавляет значение Item::Val3 к дистанции при расчете видимости предмета. Подробнее...
#define | ITEM_NO_LIGHT_INFLUENCE (0x00040000)
Отключает влияние света. Подробнее...
#define | ITEM_NO_LOOT (0x00080000)
Запрещает лутание предмета. Подробнее...
#define | ITEM_NO_STEAL (0x00100000)
Запрещает воровство предмета. Подробнее...
#define | ITEM_CAN_USE_ON_SMTH (0x01000000)
#define | ITEM_CAN_LOOK (0x02000000)
#define | ITEM_CAN_TALK (0x04000000)
#define | ITEM_CAN_PICKUP (0x08000000)
#define | ITEM_CAN_USE (0x10000000)

Подробное описание

Флаги предметов.

См. также
Item::Flags ItemCl::Flags ProtoItem::Flags

Макросы

#define ITEM_HIDDEN (0x00000001)
#define ITEM_FLAT (0x00000002)
#define ITEM_NO_BLOCK (0x00000004)
#define ITEM_SHOOT_THRU (0x00000008)
#define ITEM_LIGHT_THRU (0x00000010)
#define ITEM_MULTI_HEX (0x00000020)
#define ITEM_WALL_TRANS_END (0x00000040)
#define ITEM_TWO_HANDS (0x00000080)
#define ITEM_BIG_GUN (0x00000100)
#define ITEM_ALWAYS_VIEW (0x00000200)
#define ITEM_HAS_TIMER (0x00000400)
#define ITEM_BAD_ITEM (0x00000800)
#define ITEM_NO_HIGHLIGHT (0x00001000)
#define ITEM_SHOW_ANIM (0x00002000)
#define ITEM_SHOW_ANIM_EXT (0x00004000)
#define ITEM_LIGHT (0x00008000)
#define ITEM_GECK (0x00010000)

Если в локации присутствует предмет с этим флагом, то локация не будет удаляться, а её местоположение будет записано в пип-бой при выходе игрока из нее.

Применительно к машинам, ГЕКК'у.

#define ITEM_TRAP (0x00020000)

Добавляет значение Item::Val3 к дистанции при расчете видимости предмета.

#define ITEM_NO_LIGHT_INFLUENCE (0x00040000)

Отключает влияние света.

#define ITEM_NO_LOOT (0x00080000)

Запрещает лутание предмета.

#define ITEM_NO_STEAL (0x00100000)

Запрещает воровство предмета.

#define ITEM_CAN_USE_ON_SMTH (0x01000000)
#define ITEM_CAN_LOOK (0x02000000)
#define ITEM_CAN_TALK (0x04000000)
#define ITEM_CAN_PICKUP (0x08000000)
#define ITEM_CAN_USE (0x10000000)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Item look types

Макросы
Item look types
Константы

Типы описаний предметов. Подробнее...

Макросы

#define | ITEM_LOOK_DEFAULT (0)
#define | ITEM_LOOK_ONLY_NAME (1)
#define | ITEM_LOOK_MAP (2)
#define | ITEM_LOOK_BARTER (3)
#define | ITEM_LOOK_INVENTORY (4)
#define | ITEM_LOOK_WM_CAR (5)
Описание машины на глобальной карте мира. Подробнее...

Подробное описание

Типы описаний предметов.

См. также
item_description

Макросы

#define ITEM_LOOK_DEFAULT (0)
#define ITEM_LOOK_ONLY_NAME (1)
#define ITEM_LOOK_MAP (2)
#define ITEM_LOOK_BARTER (3)
#define ITEM_LOOK_INVENTORY (4)
#define ITEM_LOOK_WM_CAR (5)

Описание машины на глобальной карте мира.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Items accessory

Макросы
Items accessory
Константы

Местонахождения предметов. Подробнее...

Макросы

#define | ACCESSORY_NONE (0)
Предмет находится в "ничто". Подробнее...
#define | ACCESSORY_CRITTER (1)
Предмет находится в инвентаре у криттера. Подробнее...
#define | ACCESSORY_HEX (2)
Предмет находится на карте. Подробнее...
#define | ACCESSORY_CONTAINER (3)
Предмет находится в контейнере. Подробнее...

Подробное описание

Местонахождения предметов.

См. также
Item::Accessory ItemCl::Accessory

Макросы

#define ACCESSORY_NONE (0)

Предмет находится в "ничто".

#define ACCESSORY_CRITTER (1)

Предмет находится в инвентаре у криттера.

#define ACCESSORY_HEX (2)

Предмет находится на карте.

#define ACCESSORY_CONTAINER (3)

Предмет находится в контейнере.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Items types

Макросы
Items types
Константы

Типы предметов. Подробнее...

Макросы

#define | ITEM_TYPE_TILE (0)
Тайлы Подробнее...
#define | ITEM_TYPE_ARMOR (1)
Броня Подробнее...
#define | ITEM_TYPE_DRUG (2)
Наркотик Подробнее...
#define | ITEM_TYPE_WEAPON (3)
Оружие Подробнее...
#define | ITEM_TYPE_AMMO (4)
Патроны Подробнее...
#define | ITEM_TYPE_MISC (5)
Разное Подробнее...
#define | ITEM_TYPE_MISC2 (6)
Разное2. Подробнее...
#define | ITEM_TYPE_KEY (7)
Ключ Подробнее...
#define | ITEM_TYPE_CONTAINER (8)
Контейнер Подробнее...
#define | ITEM_TYPE_DOOR (9)
Дверь Подробнее...
#define | ITEM_TYPE_GRID (10)
Порталы Подробнее...
#define | ITEM_TYPE_GENERIC (11)
Сценери Подробнее...
#define | ITEM_TYPE_WALL (12)
Стены Подробнее...

Подробное описание

Типы предметов.

См. также
Item::GetType() ItemCl::GetType() ProtoItem::GetType() Critter::GetItemsByType CritterCl::GetItemsByType

Макросы

#define ITEM_TYPE_TILE (0)

Тайлы

#define ITEM_TYPE_ARMOR (1)

Броня

#define ITEM_TYPE_DRUG (2)

Наркотик

#define ITEM_TYPE_WEAPON (3)

Оружие

#define ITEM_TYPE_AMMO (4)

Патроны

#define ITEM_TYPE_MISC (5)

Разное

#define ITEM_TYPE_MISC2 (6)

Разное2.

#define ITEM_TYPE_KEY (7)

Ключ

#define ITEM_TYPE_CONTAINER (8)

Контейнер

#define ITEM_TYPE_DOOR (9)

Дверь

#define ITEM_TYPE_GRID (10)

Порталы

#define ITEM_TYPE_GENERIC (11)

Сценери

#define ITEM_TYPE_WALL (12)

Стены

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Locker

Макросы
Locker
Константы

Флаги состояния замков. Подробнее...

Макросы

#define | LOCKER_ISOPEN (0x01)
Открыт. Подробнее...
#define | LOCKER_LOCKED (0x02)
Заперт. Подробнее...
#define | LOCKER_JAMMED (0x04)
Заклинило. Подробнее...
#define | LOCKER_BROKEN (0x08)
Сломан. Подробнее...
#define | LOCKER_NOOPEN (0x10)
Невозможно открыть, не используя подходящий ключ. Подробнее...
#define | LOCKER_ELECTRO (0x20)
Электронный замок. Подробнее...

Подробное описание

Флаги состояния замков.

См. также
Item::LockerCondition

Макросы

#define LOCKER_ISOPEN (0x01)

Открыт.

#define LOCKER_LOCKED (0x02)

Заперт.

#define LOCKER_JAMMED (0x04)

Заклинило.

#define LOCKER_BROKEN (0x08)

Сломан.

#define LOCKER_NOOPEN (0x10)

Невозможно открыть, не используя подходящий ключ.

#define LOCKER_ELECTRO (0x20)

Электронный замок.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Look checks

Макросы
Look checks
Константы

Типы проверок видимости. Подробнее...

Макросы

#define | LOOK_CHECK_DIR (0x01)
Штраф к радиусу видимости в зависимости от относительного направления. Подробнее...
#define | LOOK_CHECK_SNEAK_DIR (0x02)
Штраф к навыку скрытности в зависимости от относительного направления. Подробнее...
#define | LOOK_CHECK_SNEAK_WEIGHT (0x04)
Штраф к навыку скрытности в зависимости от веса переносимых предметов. Подробнее...
#define | LOOK_CHECK_TRACE (0x08)
Видимость в зависимости от наличия стен. Подробнее...
#define | LOOK_CHECK_SCRIPT (0x10)
Использовать для проверки видимости скриптовую функцию check_look. Подробнее...
#define | LOOK_CHECK_ITEM_SCRIPT (0x20)
Использовать для проверки видимости скриптовую функцию check_trap_look. Подробнее...

Подробное описание

Типы проверок видимости.

См. также
__LookChecks

Макросы

#define LOOK_CHECK_DIR (0x01)

Штраф к радиусу видимости в зависимости от относительного направления.

См. также
__LookDir3 __LookDir0 __LookDir1 __LookDir2
#define LOOK_CHECK_SNEAK_DIR (0x02)

Штраф к навыку скрытности в зависимости от относительного направления.

См. также
__LookSneakDir0 __LookSneakDir1 __LookSneakDir2 __LookSneakDir3
#define LOOK_CHECK_SNEAK_WEIGHT (0x04)

Штраф к навыку скрытности в зависимости от веса переносимых предметов.

См. также
__LookWeight
#define LOOK_CHECK_TRACE (0x08)

Видимость в зависимости от наличия стен.

#define LOOK_CHECK_SCRIPT (0x10)

Использовать для проверки видимости скриптовую функцию check_look.

При использовании данного флага все остальные флаги игнорируются.

#define LOOK_CHECK_ITEM_SCRIPT (0x20)

Использовать для проверки видимости скриптовую функцию check_trap_look.

При использовании данного флага все остальные флаги игнорируются.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: MessageBox message types

Макросы
MessageBox message types
Константы

Макросы

#define | FOMB_GAME int(0)
#define | FOMB_TALK int(1)
#define | FOMB_COMBAT_RESULT int(2)
#define | FOMB_VIEW int(3)

Подробное описание

См. также
::Message(string, int)

Макросы

#define FOMB_GAME int(0)
#define FOMB_TALK int(1)
#define FOMB_COMBAT_RESULT int(2)
#define FOMB_VIEW int(3)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Mouse click states

Макросы
Mouse click states
Константы

Макросы

#define | MOUSE_CLICK_LEFT (0)
#define | MOUSE_CLICK_RIGHT (1)
#define | MOUSE_CLICK_MIDDLE (2)
#define | MOUSE_CLICK_WHEEL_UP (3)
#define | MOUSE_CLICK_WHEEL_DOWN (4)
#define | MOUSE_CLICK_EXT0 (5)
#define | MOUSE_CLICK_EXT1 (6)
#define | MOUSE_CLICK_EXT2 (7)
#define | MOUSE_CLICK_EXT3 (8)
#define | MOUSE_CLICK_EXT4 (9)

Подробное описание

См. также
mouse_down mouse_up

Макросы

#define MOUSE_CLICK_LEFT (0)
#define MOUSE_CLICK_RIGHT (1)
#define MOUSE_CLICK_MIDDLE (2)
#define MOUSE_CLICK_WHEEL_UP (3)
#define MOUSE_CLICK_WHEEL_DOWN (4)
#define MOUSE_CLICK_EXT0 (5)
#define MOUSE_CLICK_EXT1 (6)
#define MOUSE_CLICK_EXT2 (7)
#define MOUSE_CLICK_EXT3 (8)
#define MOUSE_CLICK_EXT4 (9)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Msg nums

Макросы
Msg nums
Константы

Номера файлов *.msg с текстами игры. Подробнее...

Макросы

#define | TEXTMSG_TEXT (0)
FOTEXT.MSG. Подробнее...
#define | TEXTMSG_DLG (1)
FODLG.MSG. Подробнее...
#define | TEXTMSG_ITEM (2)
FOOBJ.MSG. Подробнее...
#define | TEXTMSG_GAME (3)
FOGAME.MSG. Подробнее...
#define | TEXTMSG_GM (4)
FOGM.MSG. Подробнее...
#define | TEXTMSG_COMBAT (5)
FOCOMBAT.MSG. Подробнее...
#define | TEXTMSG_QUEST (6)
FOQUEST.MSG. Подробнее...
#define | TEXTMSG_HOLO (7)
FOHOLO.MSG. Подробнее...
#define | TEXTMSG_CRAFT (8)
FOCRAFT.MSG. Подробнее...
#define | TEXTMSG_INTERNAL (9)
FOINTERNAL.MSG. Подробнее...

Подробное описание

Номера файлов *.msg с текстами игры.

См. также
RadioMessageMsg Message(int, uint) Critter::SayMsg Map::SetTextMsg

Макросы

#define TEXTMSG_TEXT (0)

FOTEXT.MSG.

#define TEXTMSG_DLG (1)

FODLG.MSG.

#define TEXTMSG_ITEM (2)

FOOBJ.MSG.

#define TEXTMSG_GAME (3)

FOGAME.MSG.

#define TEXTMSG_GM (4)

FOGM.MSG.

#define TEXTMSG_COMBAT (5)

FOCOMBAT.MSG.

#define TEXTMSG_QUEST (6)

FOQUEST.MSG.

#define TEXTMSG_HOLO (7)

FOHOLO.MSG.

#define TEXTMSG_CRAFT (8)

FOCRAFT.MSG.

#define TEXTMSG_INTERNAL (9)

FOINTERNAL.MSG.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Paths

Макросы
Paths
Константы

Макросы

#define | PT_ROOT (0)
#define | PT_DATA (1)
#define | PT_ART (2)
#define | PT_ART_CRITTERS (3)
#define | PT_ART_INTRFACE (4)
#define | PT_ART_INVEN (5)
#define | PT_ART_ITEMS (6)
#define | PT_ART_MISC (7)
#define | PT_ART_SCENERY (8)
#define | PT_ART_SKILLDEX (9)
#define | PT_ART_SPLASH (10)
#define | PT_ART_TILES (11)
#define | PT_ART_WALLS (12)
#define | PT_TEXTURES (13)
#define | PT_EFFECTS (14)
#define | PT_MAPS (15)
#define | PT_TERRAIN (16)
#define | PT_SND_MUSIC (17)
#define | PT_SND_SFX (18)
#define | PT_SCRIPTS (19)
#define | PT_VIDEO (20)
#define | PT_TEXTS (21)
#define | PT_SAVE (22)
#define | PT_SERVER_ROOT (30)
#define | PT_SERVER_DATA (31)
#define | PT_SERVER_TEXTS (32)
#define | PT_SERVER_DIALOGS (33)
#define | PT_SERVER_MAPS (34)
#define | PT_SERVER_PRO_ITEMS (35)
#define | PT_SERVER_PRO_CRITTERS (36)
#define | PT_SERVER_SCRIPTS (37)
#define | PT_SERVER_SAVE (38)
#define | PT_SERVER_CLIENTS (39)
#define | PT_SERVER_BANS (40)
#define | PT_MAPPER_DATA (45)

Подробное описание

См. также
LoadSprite

Макросы

#define PT_ROOT (0)
#define PT_DATA (1)
#define PT_ART (2)
#define PT_ART_CRITTERS (3)
#define PT_ART_INTRFACE (4)
#define PT_ART_INVEN (5)
#define PT_ART_ITEMS (6)
#define PT_ART_MISC (7)
#define PT_ART_SCENERY (8)
#define PT_ART_SKILLDEX (9)
#define PT_ART_SPLASH (10)
#define PT_ART_TILES (11)
#define PT_ART_WALLS (12)
#define PT_TEXTURES (13)
#define PT_EFFECTS (14)
#define PT_MAPS (15)
#define PT_TERRAIN (16)
#define PT_SND_MUSIC (17)
#define PT_SND_SFX (18)
#define PT_SCRIPTS (19)
#define PT_VIDEO (20)
#define PT_TEXTS (21)
#define PT_SAVE (22)
#define PT_SERVER_ROOT (30)
#define PT_SERVER_DATA (31)
#define PT_SERVER_TEXTS (32)
#define PT_SERVER_DIALOGS (33)
#define PT_SERVER_MAPS (34)
#define PT_SERVER_PRO_ITEMS (35)
#define PT_SERVER_PRO_CRITTERS (36)
#define PT_SERVER_SCRIPTS (37)
#define PT_SERVER_SAVE (38)
#define PT_SERVER_CLIENTS (39)
#define PT_SERVER_BANS (40)
#define PT_MAPPER_DATA (45)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Planes default priority

Макросы
Planes default priority
Константы

Макросы

#define | AI_PLANE_MISC_PRIORITY (10)
#define | AI_PLANE_ATTACK_PRIORITY (50)
#define | AI_PLANE_WALK_PRIORITY (20)
#define | AI_PLANE_PICK_PRIORITY (35)
#define | AI_PLANE_PATROL_PRIORITY (25)
#define | AI_PLANE_COURIER_PRIORITY (30)

Подробное описание

Макросы

#define AI_PLANE_MISC_PRIORITY (10)
#define AI_PLANE_ATTACK_PRIORITY (50)
#define AI_PLANE_WALK_PRIORITY (20)
#define AI_PLANE_PICK_PRIORITY (35)
#define AI_PLANE_PATROL_PRIORITY (25)
#define AI_PLANE_COURIER_PRIORITY (30)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Planes reasons

Planes reasons
Константы

Plane begin reasons

См. также
npc_plane_begin CRITTER_EVENT_PLANE_BEGIN
#define | REASON_GO_HOME (10)
#define | REASON_FOUND_IN_ENEMY_STACK (11)
#define | REASON_FROM_DIALOG (12)
#define | REASON_FROM_SCRIPT (13)
#define | REASON_RUN_AWAY (14)

Plane end reasons

См. также
npc_plane_end CRITTER_EVENT_PLANE_END
#define | REASON_SUCCESS (30)
#define | REASON_HEX_TOO_FAR (31)
#define | REASON_HEX_BUSY (32)
#define | REASON_HEX_BUSY_RING (33)
#define | REASON_DEADLOCK (34)
#define | REASON_TRACE_FAIL (35)
#define | REASON_POSITION_NOT_FOUND (36)
#define | REASON_FIND_PATH_ERROR (37)
#define | REASON_CANT_WALK (38)
#define | REASON_TARGET_DISAPPEARED (39)
#define | REASON_USE_ITEM_NOT_FOUND (40)
#define | REASON_GAG_CRITTER (41)
#define | REASON_GAG_ITEM (42)
#define | REASON_NO_UNARMED (43)

Plane run reasons

См. также
npc_plane_run CRITTER_EVENT_PLANE_RUN
#define | REASON_ATTACK_TARGET (50)
#define | REASON_ATTACK_WEAPON (51)
#define | REASON_ATTACK_DISTANTION (52)
#define | REASON_ATTACK_USE_AIM (53)

Подробное описание

Макросы

#define REASON_GO_HOME (10)
#define REASON_FOUND_IN_ENEMY_STACK (11)
#define REASON_FROM_DIALOG (12)
#define REASON_FROM_SCRIPT (13)
#define REASON_RUN_AWAY (14)
#define REASON_SUCCESS (30)
#define REASON_HEX_TOO_FAR (31)
#define REASON_HEX_BUSY (32)
#define REASON_HEX_BUSY_RING (33)
#define REASON_DEADLOCK (34)
#define REASON_TRACE_FAIL (35)
#define REASON_POSITION_NOT_FOUND (36)
#define REASON_FIND_PATH_ERROR (37)
#define REASON_CANT_WALK (38)
#define REASON_TARGET_DISAPPEARED (39)
#define REASON_USE_ITEM_NOT_FOUND (40)
#define REASON_GAG_CRITTER (41)
#define REASON_GAG_ITEM (42)
#define REASON_NO_UNARMED (43)
#define REASON_ATTACK_TARGET (50)
#define REASON_ATTACK_WEAPON (51)
#define REASON_ATTACK_DISTANTION (52)
#define REASON_ATTACK_USE_AIM (53)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Planes types

Макросы
Planes types
Константы

Типы планов Подробнее...

Макросы

#define | AI_PLANE_MISC (0)
#define | AI_PLANE_ATTACK (1)
#define | AI_PLANE_WALK (2)
#define | AI_PLANE_PICK (3)
#define | AI_PLANE_PATROL (4)
#define | AI_PLANE_COURIER (5)

Подробное описание

Типы планов

См. также
NpcPlane::Type

Макросы

#define AI_PLANE_MISC (0)
#define AI_PLANE_ATTACK (1)
#define AI_PLANE_WALK (2)
#define AI_PLANE_PICK (3)
#define AI_PLANE_PATROL (4)
#define AI_PLANE_COURIER (5)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Radio flags

Макросы
Radio flags
Константы

Флаги рации. Подробнее...

Макросы

#define | RADIO_DISABLE_SEND (0x0001)
#define | RADIO_DISABLE_RECV (0x0002)
#define | RADIO_DISABLE_SHIFT_SEND (0x0100)
#define | RADIO_DISABLE_SHIFT_RECV (0x0200)
#define | RADIO_DISABLE_SHIFT_BC_SEND (0x0400)
#define | RADIO_DISABLE_SHIFT_BC_RECV (0x0800)
#define | RADIO_DISABLE_SHIFT_CHANNEL (0x1000)
#define | RADIO_BROADCAST_WORLD (0)
#define | RADIO_BROADCAST_MAP (20)
#define | RADIO_BROADCAST_LOCATION (40)
#define | RADIO_BROADCAST_ZONE #(x) (100+(x))
#define | RADIO_BROADCAST_FORCE_ALL (250)

Подробное описание

Флаги рации.

См. также
Item ItemCl ProtoItem

Макросы

#define RADIO_DISABLE_SEND (0x0001)
#define RADIO_DISABLE_RECV (0x0002)
#define RADIO_DISABLE_SHIFT_SEND (0x0100)
#define RADIO_DISABLE_SHIFT_RECV (0x0200)
#define RADIO_DISABLE_SHIFT_BC_SEND (0x0400)
#define RADIO_DISABLE_SHIFT_BC_RECV (0x0800)
#define RADIO_DISABLE_SHIFT_CHANNEL (0x1000)
#define RADIO_BROADCAST_WORLD (0)
#define RADIO_BROADCAST_MAP (20)
#define RADIO_BROADCAST_LOCATION (40)
#define RADIO_BROADCAST_ZONE #(x) (100+(x))
#define RADIO_BROADCAST_FORCE_ALL (250)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Say types

Макросы
Say types
Константы

Макросы

#define | SAY_NORM (1)
Нормальное произношение фразы, при котором текст отображается в окне сообщений от имени криттера. Подробнее...
#define | SAY_NORM_ON_HEAD (2)
Нормальное произношение фразы, при котором текст отображается только над головой криттера. Подробнее...
#define | SAY_SHOUT (3)
Крик, при котором текст отображается в окне сообщений от имени криттера. Подробнее...
#define | SAY_SHOUT_ON_HEAD (4)
Крик, при котором текст отображается только над головой криттера. Подробнее...
#define | SAY_EMOTE (5)
#define | SAY_EMOTE_ON_HEAD (6)
#define | SAY_WHISP (7)
Шёпот, при котором текст отображается в окне сообщений от имени криттера. Подробнее...
#define | SAY_WHISP_ON_HEAD (8)
Шёпот, при котором текст отображается только над головой криттера. Подробнее...
#define | SAY_SOCIAL (9)
(?) Подробнее...
#define | SAY_RADIO (10)
Сказать по радио. Подробнее...
#define | SAY_NETMSG (11)
Показать текст в окне сообщений криттера. Подробнее...
#define | SAY_DIALOG (12)
(?) Подробнее...
#define | SAY_APPEND (13)
(?) Подробнее...
#define | SAY_ENCOUNTER_ANY (14)
Активирует диалог перед энкаутером на глобальной карте с возиожностью выбора между пошаговым и реальным режимами. Подробнее...
#define | SAY_ENCOUNTER_RT (15)
Активирует диалог перед энкаутером на глобальной карте с возиожностью выбора режима боя только в реальном времени. Подробнее...
#define | SAY_ENCOUNTER_TB (16)
Активирует диалог перед энкаутером на глобальной карте с возиожностью выбора только пошагового режима боя. Подробнее...
#define | SAY_FIX_RESULT (17)
Направление текста в экран результата крафта. Подробнее...
#define | SAY_DIALOGBOX_TEXT (18)
Позволяет изменить текст в диалоговом окне типа SCREEN_DIALOGBOX, открываемого с помощью метода Critter::ShowScreen. Подробнее...
#define | SAY_DIALOGBOX_BUTTON #(b) (19+(b))
Позволяет добавить кнопку в окно типа SCREEN_DIALOGBOX под порядковыми номером b с определенным текстом. Подробнее...
#define | SAY_SAY_TITLE (39)
Добавить заголовок окна типа SCREEN_SAY. Подробнее...
#define | SAY_SAY_TEXT (40)
Добавить текст в окно типа SCREEN_SAY. Подробнее...
#define | SAY_FLASH_WINDOW (41)
Инициирует моргание окна мгры в панели задач и подаёт звуковой сигнал. Подробнее...

Подробное описание

См. также
Critter::Say Critter::SayMsg AddTextListener out_message in_message

Макросы

#define SAY_NORM (1)

Нормальное произношение фразы, при котором текст отображается в окне сообщений от имени криттера.

#define SAY_NORM_ON_HEAD (2)

Нормальное произношение фразы, при котором текст отображается только над головой криттера.

#define SAY_SHOUT (3)

Крик, при котором текст отображается в окне сообщений от имени криттера.

#define SAY_SHOUT_ON_HEAD (4)

Крик, при котором текст отображается только над головой криттера.

#define SAY_EMOTE (5)
#define SAY_EMOTE_ON_HEAD (6)
#define SAY_WHISP (7)

Шёпот, при котором текст отображается в окне сообщений от имени криттера.

#define SAY_WHISP_ON_HEAD (8)

Шёпот, при котором текст отображается только над головой криттера.

#define SAY_SOCIAL (9)

(?)

#define SAY_RADIO (10)

Сказать по радио.

Будет работать только в случае, если радио находится в одной из рук.

#define SAY_NETMSG (11)

Показать текст в окне сообщений криттера.

#define SAY_DIALOG (12)

(?)

#define SAY_APPEND (13)

(?)

#define SAY_ENCOUNTER_ANY (14)

Активирует диалог перед энкаутером на глобальной карте с возиожностью выбора между пошаговым и реальным режимами.

#define SAY_ENCOUNTER_RT (15)

Активирует диалог перед энкаутером на глобальной карте с возиожностью выбора режима боя только в реальном времени.

#define SAY_ENCOUNTER_TB (16)

Активирует диалог перед энкаутером на глобальной карте с возиожностью выбора только пошагового режима боя.

#define SAY_FIX_RESULT (17)

Направление текста в экран результата крафта.

#define SAY_DIALOGBOX_TEXT (18)

Позволяет изменить текст в диалоговом окне типа SCREEN_DIALOGBOX, открываемого с помощью метода Critter::ShowScreen.

#define SAY_DIALOGBOX_BUTTON #(b) (19+(b))

Позволяет добавить кнопку в окно типа SCREEN_DIALOGBOX под порядковыми номером b с определенным текстом.

Максимум можно добавить 20 кнопок (0..19).

#define SAY_SAY_TITLE (39)

Добавить заголовок окна типа SCREEN_SAY.

#define SAY_SAY_TEXT (40)

Добавить текст в окно типа SCREEN_SAY.

#define SAY_FLASH_WINDOW (41)

Инициирует моргание окна мгры в панели задач и подаёт звуковой сигнал.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Scores

Макросы
Scores
Константы

Макросы

#define | SCORE_EVIL_OF_HOUR (0)
#define | SCORE_HERO_OF_HOUR (1)
#define | SCORE_KARMA_ON_HOUR (2)
#define | SCORE_SPEAKER (3)
#define | SCORE_TRADER (4)
#define | SCORE_ZOMBY (5)
#define | SCORE_PATY (6)
#define | SCORE_MANIAC (7)
#define | SCORE_SCAUT (8)
#define | SCORE_DOCTOR (9)
#define | SCORE_SHOOTER (10)
#define | SCORE_MELEE (11)
#define | SCORE_UNARMED (12)
#define | SCORE_THIEF (13)
#define | SCORE_DRIVER (14)
#define | SCORE_KILLER (15)
#define | SCORE_SNIPER (16)
#define | SCORE_ADVENTURER (17)
#define | SCORE_CRACKER (18)
#define | SCORE_UNARMED_DAMAGE (19)
#define | SCORE_RITCH (20)
#define | SCORE_CHOSEN_ONE (21)
#define | SCORE_SIERRA_CUR (40)
#define | SCORE_MARIPOSA_CUR (41)
#define | SCORE_CATHEDRAL_CUR (42)
#define | SCORE_SIERRA_BEST (43)
#define | SCORE_MARIPOSA_BEST (44)
#define | SCORE_CATHEDRAL_BEST (45)
#define | SCORE_SIERRA_ORG (46)
#define | SCORE_MARIPOSA_ORG (47)
#define | SCORE_CATHEDRAL_ORG (48)
#define | SCORE_BASE_BEST_ORG (49)

Подробное описание

См. также
Critter::AddScore SetBestScore

Макросы

#define SCORE_EVIL_OF_HOUR (0)
#define SCORE_HERO_OF_HOUR (1)
#define SCORE_KARMA_ON_HOUR (2)
#define SCORE_SPEAKER (3)
#define SCORE_TRADER (4)
#define SCORE_ZOMBY (5)
#define SCORE_PATY (6)
#define SCORE_MANIAC (7)
#define SCORE_SCAUT (8)
#define SCORE_DOCTOR (9)
#define SCORE_SHOOTER (10)
#define SCORE_MELEE (11)
#define SCORE_UNARMED (12)
#define SCORE_THIEF (13)
#define SCORE_DRIVER (14)
#define SCORE_KILLER (15)
#define SCORE_SNIPER (16)
#define SCORE_ADVENTURER (17)
#define SCORE_CRACKER (18)
#define SCORE_UNARMED_DAMAGE (19)
#define SCORE_RITCH (20)
#define SCORE_CHOSEN_ONE (21)
#define SCORE_SIERRA_CUR (40)
#define SCORE_MARIPOSA_CUR (41)
#define SCORE_CATHEDRAL_CUR (42)
#define SCORE_SIERRA_BEST (43)
#define SCORE_MARIPOSA_BEST (44)
#define SCORE_CATHEDRAL_BEST (45)
#define SCORE_SIERRA_ORG (46)
#define SCORE_MARIPOSA_ORG (47)
#define SCORE_CATHEDRAL_ORG (48)
#define SCORE_BASE_BEST_ORG (49)
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Show screen modes

Макросы
Show screen modes
Константы

Типы клиентских окон. Подробнее...

Макросы

#define | SCREEN_CLOSE (0)
Закрыть верхнее окно. Подробнее...
#define | SCREEN_TIMER (1)
Окно таймера. Подробнее...
#define | SCREEN_DIALOGBOX (2)
Окно диалога. Подробнее...
#define | SCREEN_SKILLBOX (3)
Окно использования навыка. Подробнее...
#define | SCREEN_BAG (4)
Окно инвентаря. Подробнее...
#define | SCREEN_SAY (5)
Окно ввода текста. Подробнее...
#define | SCREEN_ELEVATOR (6)
Интерфейс лифта. Подробнее...
#define | SCREEN_INVENTORY (7)
Окно инвентаря. Подробнее...
#define | SCREEN_CHARACTER (8)
Окно персонажа. Подробнее...
#define | SCREEN_FIXBOY (9)
Окно фикс-боя. Подробнее...
#define | SCREEN_PIPBOY (10)
Пип-бой. Подробнее...
#define | SCREEN_MINIMAP (11)
Миникарта. Подробнее...

Подробное описание

Типы клиентских окон.

Данная константа используется как аргумент screenType в методе Critter::ShowScreen.

Создаваемое окно можно параметризовать с помощью аргумента param в методе Critter::ShowScreen. Ввод пользователя, если он есть, передаётся в функции-ответе, имя которой указывается в параметре funcName, в её параметрах answerI и answerS.

Эффект передаваемого параметра и интерпретация данных, введенных пользователем, зависят от типа окна.

См. также
Critter::ShowScreen

Макросы

#define SCREEN_CLOSE (0)

Закрыть верхнее окно.

#define SCREEN_TIMER (1)

Окно таймера.

Параметр
Индекс картинки в INVEN.LST.
Ввод пользователя
answerI Время в игровых минутах (1..599).
#define SCREEN_DIALOGBOX (2)

Окно диалога.

Параметр
Количество кнопок (0..20). Кнопка выхода добавляется автоматически.
Ввод пользователя
answerI Выбранная кнопка (0..19).
#define SCREEN_SKILLBOX (3)

Окно использования навыка.

Ввод пользователя
answerI Выбранный навык. См. Навыки.
#define SCREEN_BAG (4)

Окно инвентаря.

Ввод пользователя
answerI Идентификатор выбранного предмета.
#define SCREEN_SAY (5)

Окно ввода текста.

Параметр
Указывает способ ввода текста:
  • 0 позволяет ввод любого текста,
  • любое другое значение – ввод только цифр.
Ввод пользователя
answerS Введенный текст.
#define SCREEN_ELEVATOR (6)

Интерфейс лифта.

Параметр
См. Elevators.
Ввод пользователя
answerI Выбранный этаж.
#define SCREEN_INVENTORY (7)

Окно инвентаря.

#define SCREEN_CHARACTER (8)

Окно персонажа.

#define SCREEN_FIXBOY (9)

Окно фикс-боя.

#define SCREEN_PIPBOY (10)

Пип-бой.

#define SCREEN_MINIMAP (11)

Миникарта.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Слоты

Макросы
Слоты
Константы

Слоты инвентаря криттера Подробнее...

Макросы

#define | SLOT_INV (0)
Рюкзак. Подробнее...
#define | SLOT_HAND1 (1)
Оружейный слот #1. Подробнее...
#define | SLOT_HAND2 (2)
Оружейный слот #2. Подробнее...
#define | SLOT_ARMOR (3)
Слот брони. Подробнее...
#define | SLOT_GROUND (255)
Слот, используемый когда криттер подбирает/выбрасывает какой-либо предмет. Подробнее...

Подробное описание

Слоты инвентаря криттера

Перечисленные здесь слоты являются стандартными.

Реализована возможность поддержки дополнительных слотов. В прототипе предмета можно проставить принадлежность к определенному слоту (см. ProtoItem::Slot). Разрешение использования слота происходит с помощью универсальной (выполняющиейся как на сервере, так и на клиенте) функцией AllowSlot.

См. также
AllowSlot
ProtoItem::Slot

Макросы

#define SLOT_INV (0)

Рюкзак.

#define SLOT_HAND1 (1)

Оружейный слот #1.

#define SLOT_HAND2 (2)

Оружейный слот #2.

#define SLOT_ARMOR (3)

Слот брони.

#define SLOT_GROUND (255)

Слот, используемый когда криттер подбирает/выбрасывает какой-либо предмет.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Sound types

Макросы
Sound types
Константы

Виды звуков Подробнее...

Макросы

#define | SOUND_WEAPON 'W'
#define | SOUND_WEAPON_USE 'A'
#define | SOUND_WEAPON_FLY 'F'
#define | SOUND_WEAPON_MISS 'H'
#define | SOUND_WEAPON_EMPTY 'O'
#define | SOUND_WEAPON_RELOAD 'R'
#define | SOUND_DOOR 'S'
#define | SOUND_DOOR_OPEN 'O'
#define | SOUND_DOOR_LOCK 'L'
#define | SOUND_DOOR_CLOSE 'C'
#define | SOUND_DOOR_NOT_OPEN 'N'

Подробное описание

Виды звуков

См. также
PlaySound Critter::PlaySound

Макросы

#define SOUND_WEAPON 'W'
#define SOUND_WEAPON_USE 'A'
#define SOUND_WEAPON_FLY 'F'
#define SOUND_WEAPON_MISS 'H'
#define SOUND_WEAPON_EMPTY 'O'
#define SOUND_WEAPON_RELOAD 'R'
#define SOUND_DOOR 'S'
#define SOUND_DOOR_OPEN 'O'
#define SOUND_DOOR_LOCK 'L'
#define SOUND_DOOR_CLOSE 'C'
#define SOUND_DOOR_NOT_OPEN 'N'
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Special skill values

Макросы
Special skill values
Константы

Константы, использующиеся в обработчиках событий, ITEM_EVENT_SKILL, CRITTER_EVENT_SMTH_USE_SKILL, CRITTER_EVENT_USE_SKILL, глобальном обработчике critter_use_skill и обработчике сценери для определения того, что именно сделал криттер при взаимодействии. Подробнее...

Макросы

#define | SKILL_PICK_ON_GROUND (-1)
Использование объекта на карте Подробнее...
#define | SKILL_PUT_CONT (-2)
Перемещение предмета из инвентаря в контейнер Подробнее...
#define | SKILL_TAKE_CONT (-3)
Перемещение предмета из контейнера в инвентарь Подробнее...
#define | SKILL_TAKE_ALL_CONT (-4)
Перемещение всех предметов из контейнера в инвентарь Подробнее...
#define | SKILL_LOOT_CRITTER (-5)
Обыск трупа криттера Подробнее...
#define | SKILL_PUSH_CRITTER (-6)
Отталкивание криттера Подробнее...
#define | SKILL_TALK (-7)
Попытка разговора Подробнее...

Подробное описание

Константы, использующиеся в обработчиках событий, ITEM_EVENT_SKILL, CRITTER_EVENT_SMTH_USE_SKILL, CRITTER_EVENT_USE_SKILL, глобальном обработчике critter_use_skill и обработчике сценери для определения того, что именно сделал криттер при взаимодействии.

См. также
CRITTER_EVENT_USE_SKILL CRITTER_EVENT_SMTH_USE_SKILL ITEM_EVENT_SKILL critter_use_skill Обработчик сценери

Макросы

#define SKILL_PICK_ON_GROUND (-1)

Использование объекта на карте

#define SKILL_PUT_CONT (-2)

Перемещение предмета из инвентаря в контейнер

#define SKILL_TAKE_CONT (-3)

Перемещение предмета из контейнера в инвентарь

#define SKILL_TAKE_ALL_CONT (-4)

Перемещение всех предметов из контейнера в инвентарь

#define SKILL_LOOT_CRITTER (-5)

Обыск трупа криттера

#define SKILL_PUSH_CRITTER (-6)

Отталкивание криттера

#define SKILL_TALK (-7)

Попытка разговора

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Transfer types

Макросы
Transfer types
Константы

Типы трансфера Подробнее...

Макросы

#define | TRANSFER_CLOSE (0)
#define | TRANSFER_HEX_CONT_UP (1)
#define | TRANSFER_HEX_CONT_DOWN (2)
#define | TRANSFER_SELF_CONT (3)
#define | TRANSFER_CRIT_LOOT (4)
#define | TRANSFER_CRIT_STEAL (5)
#define | TRANSFER_CRIT_BARTER (6)
#define | TRANSFER_FAR_CONT (7)
Позволяет обмен с контейнером на любой дистанции. Подробнее...
#define | TRANSFER_FAR_CRIT (8)
Позволяет обмен с криттером на любой дистанции. Подробнее...

Подробное описание

Типы трансфера

См. также
Critter::ShowContainer

Макросы

#define TRANSFER_CLOSE (0)
#define TRANSFER_HEX_CONT_UP (1)
#define TRANSFER_HEX_CONT_DOWN (2)
#define TRANSFER_SELF_CONT (3)
#define TRANSFER_CRIT_LOOT (4)
#define TRANSFER_CRIT_STEAL (5)
#define TRANSFER_CRIT_BARTER (6)
#define TRANSFER_FAR_CONT (7)

Позволяет обмен с контейнером на любой дистанции.

#define TRANSFER_FAR_CRIT (8)

Позволяет обмен с криттером на любой дистанции.

Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Классы

  • Алфавитный указатель классов
  • Члены классов
Классы
Классы с их кратким описанием.
o C CraftItem | CraftItem
o C Critter | Криттер
o C CritterCl | Функционально ограниченный эквивалент класса Critter, доступный при скриптинге клиента
o C dictionary | Класс, представляющий собой ассоциативный контейнер, отображающий множество строковых ключей в множество значений любого типа
o C file | Класс, предназначенный для чтения и записи текстовых файлов
o C GameVar | Игровая переменная
o C Item | Предмет
o C ItemCl | Функционально ограниченный эквивалент класса Item, доступный при скриптинге клиента
o C Location | Локация
o C Map | Карта
o C MapperMap |
o C MapperObject |
o C NpcPlane | План NPC
o C ProtoItem | Прототип предметов
o C Scenery | Сценери
\ C string | Класс для работы со строками
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Алфавитный указатель классов

  • Алфавитный указатель классов
  • Члены классов
Алфавитный указатель классов
C | D | F | G | I | L | M | N | P | S
C
F
ItemCl MapperObject string
L
N
CraftItem file
Critter
G
Location NpcPlane
CritterCl
M
P
D
GameVar
I
Map ProtoItem
dictionary MapperMap
S
Item
Scenery
C | D | F | G | I | L | M | N | P | S
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Список всех членов классов со ссылками на классы, к которым они принадлежат.

- a -

  • Accessory : Item , ItemCl
  • Action() : Critter
  • AddEnemyInStack() : Critter
  • AddHolodiskInfo() : Critter
  • AddItem() : Map , Critter , Item
  • AddNpc() : Map
  • AddPlane() : Critter
  • AddScore() : Critter
  • AddTile() : MapperMap
  • AddTimeEvent() : Critter
  • Ammo_AcMod : ProtoItem
  • Ammo_Caliber : ProtoItem
  • Ammo_DmgDiv : ProtoItem
  • Ammo_DmgMult : ProtoItem
  • Ammo_DrMod : ProtoItem
  • Anim3dLayer : CritterCl
  • Animate() : Critter , CritterCl , Item , ItemCl
  • AnimHide_0 : ProtoItem
  • AnimHide_1 : ProtoItem
  • AnimHideBegin : Item , ItemCl
  • AnimHideEnd : Item , ItemCl
  • AnimShow_0 : ProtoItem
  • AnimShow_1 : ProtoItem
  • AnimShowBegin : Item , ItemCl
  • AnimShowEnd : Item , ItemCl
  • AnimStay_0 : ProtoItem
  • AnimStay_1 : ProtoItem
  • AnimStayBegin : Item , ItemCl , MapperObject
  • AnimStayEnd : MapperObject , Item , ItemCl
  • AnimWait : MapperObject
  • AnimWaitBase : ItemCl , Item , ProtoItem
  • AnimWaitRndMax : ProtoItem
  • AnimWaitRndMin : ProtoItem
  • Armor_CrTypeFemale : ProtoItem
  • Armor_CrTypeMale : ProtoItem
  • Attack_GagHexX : NpcPlane
  • Attack_GagHexY : NpcPlane
  • Attack_IsGag : NpcPlane
  • Attack_LastHexX : NpcPlane
  • Attack_LastHexY : NpcPlane
  • Attack_MinHp : NpcPlane
  • Attack_TargId : NpcPlane
  • AutoGarbage : Location
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Список всех членов классов со ссылками на классы, к которым они принадлежат.

- b -

  • BeginTurnBased() : Map
  • BlockLines : ProtoItem
  • BrokenCount : ItemCl , Item
  • BrokenFlags : ItemCl , Item
  • BrokenWear : ItemCl
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Список всех членов классов со ссылками на классы, к которым они принадлежат.

- c -

  • CallSceneryFunction() : Scenery
  • Car_CrittersCapacity : ProtoItem
  • Car_DeteriorationRate : ProtoItem
  • Car_Entrance : ProtoItem
  • Car_FuelConsumption : ProtoItem
  • Car_MaxDeterioration : ProtoItem
  • Car_MovementType : ProtoItem
  • Car_Passability : ProtoItem
  • Car_Speed : ProtoItem
  • Car_TankVolume : ProtoItem
  • CarGetBag() : ItemCl
  • ChangeCrType() : Critter
  • ChangeEnemyStackSize() : Critter
  • ChangeProto() : Item
  • ChangeTimeEvent() : Critter
  • CheckEnemyInStack() : Critter
  • CheckKey() : CritterCl
  • CheckPlaceForItem() : Map
  • Child : NpcPlane
  • ChildLines_0 : ProtoItem
  • ChildLines_1 : ProtoItem
  • ChildLines_2 : ProtoItem
  • ChildLines_3 : ProtoItem
  • ChildLines_4 : ProtoItem
  • ChildPid_0 : ProtoItem
  • ChildPid_1 : ProtoItem
  • ChildPid_2 : ProtoItem
  • ChildPid_3 : ProtoItem
  • ChildPid_4 : ProtoItem
  • ClearAnim() : CritterCl
  • ClearEnemyStack() : Critter
  • close() : file
  • CloseDoor() : Map
  • Color : Location
  • Cond : Critter
  • CondExt : Critter
  • Container_CannotPickUp : ProtoItem
  • Container_Changeble : ProtoItem
  • Container_MagicHandsGrnd : ProtoItem
  • Container_Volume : ProtoItem
  • ContainerId : Item , ItemCl
  • ContainerUID : MapperObject
  • ContourColor : CritterCl
  • Corner : ProtoItem
  • Cost : Item , ProtoItem
  • CountEntire() : Map
  • CountItem() : Critter , CritterCl
  • CritId : Item , ItemCl
  • CritSlot : Item , ItemCl
  • Critter_Cond : MapperObject
  • Critter_CondExt : MapperObject
  • Critter_ParamIndex0 : MapperObject
  • Critter_ParamIndex1 : MapperObject
  • Critter_ParamIndex10 : MapperObject
  • Critter_ParamIndex11 : MapperObject
  • Critter_ParamIndex12 : MapperObject
  • Critter_ParamIndex13 : MapperObject
  • Critter_ParamIndex14 : MapperObject
  • Critter_ParamIndex2 : MapperObject
  • Critter_ParamIndex3 : MapperObject
  • Critter_ParamIndex4 : MapperObject
  • Critter_ParamIndex5 : MapperObject
  • Critter_ParamIndex6 : MapperObject
  • Critter_ParamIndex7 : MapperObject
  • Critter_ParamIndex8 : MapperObject
  • Critter_ParamIndex9 : MapperObject
  • Critter_ParamValue0 : MapperObject
  • Critter_ParamValue1 : MapperObject
  • Critter_ParamValue10 : MapperObject
  • Critter_ParamValue11 : MapperObject
  • Critter_ParamValue12 : MapperObject
  • Critter_ParamValue13 : MapperObject
  • Critter_ParamValue14 : MapperObject
  • Critter_ParamValue2 : MapperObject
  • Critter_ParamValue3 : MapperObject
  • Critter_ParamValue4 : MapperObject
  • Critter_ParamValue5 : MapperObject
  • Critter_ParamValue6 : MapperObject
  • Critter_ParamValue7 : MapperObject
  • Critter_ParamValue8 : MapperObject
  • Critter_ParamValue9 : MapperObject
  • CrType : Critter , CritterCl
  • CrTypeAlias : CritterCl
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Список всех членов классов со ссылками на классы, к которым они принадлежат.

- d -

  • Data : ItemCl
  • Dead : Critter , CritterCl
  • delete() : dictionary
  • deleteAll() : dictionary
  • DeleteItem() : Critter
  • DeleteTile() : MapperMap
  • Deteriorable : ProtoItem
  • Deterioration : Item
  • Dir : Critter , CritterCl , MapperObject , ProtoItem
  • DisableEgg : ProtoItem
  • Disconnect() : Critter
  • Door_NoBlockLight : ProtoItem
  • Door_NoBlockMove : ProtoItem
  • Door_NoBlockShoot : ProtoItem
  • DrawOrderOffsetHexY : ProtoItem
  • DropPlanes() : Critter
  • DropTimers() : Critter
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Список всех членов классов со ссылками на классы, к которым они принадлежат.

- e -

  • EndTurnBased() : Map
  • EraseEnemyFromStack() : Critter
  • EraseHolodiskInfo() : Critter
  • ErasePlane() : Critter
  • EraseTimeEvent() : Critter
  • EraseTimeEvents() : Critter
  • EventAttack() : Critter , Item
  • EventAttacked() : Critter
  • EventBarter() : Critter
  • EventChangeItemOnMap() : Critter
  • EventCritterDead() : Map
  • EventDead() : Critter
  • EventDrop() : Item
  • EventDropItem() : Critter
  • EventFinish() : Critter , Item , Map
  • EventGlobalInvite() : Critter
  • EventGlobalProcess() : Critter
  • EventHideCritter() : Critter
  • EventHideCritter1() : Critter
  • EventHideCritter2() : Critter
  • EventHideCritter3() : Critter
  • EventHideItemOnMap() : Critter
  • EventIdle() : Critter
  • EventInCritter() : Map
  • EventKnockout() : Critter
  • EventLoop0() : Map
  • EventLoop1() : Map
  • EventLoop2() : Map
  • EventLoop3() : Map
  • EventLoop4() : Map
  • EventMessage() : Critter
  • EventMove() : Item
  • EventMoveItem() : Critter
  • EventOutCritter() : Map
  • EventPlaneBegin() : Critter
  • EventPlaneEnd() : Critter
  • EventPlaneRun() : Critter
  • EventRespawn() : Critter
  • EventShowCritter() : Critter
  • EventShowCritter1() : Critter
  • EventShowCritter2() : Critter
  • EventShowCritter3() : Critter
  • EventShowItemOnMap() : Critter
  • EventSkill() : Item
  • EventSmthAttack() : Critter
  • EventSmthDropItem() : Critter
  • EventSmthKnockout() : Critter
  • EventSmthMoveItem() : Critter
  • EventSmthStealing() : Critter
  • EventSmthUseItem() : Critter
  • EventSmthUseSkill() : Critter
  • EventStealing() : Critter
  • EventTalk() : Critter
  • EventTurnBasedBegin() : Map
  • EventTurnBasedEnd() : Map
  • EventTurnBasedProcess() : Map
  • EventUse() : Item
  • EventUseItem() : Critter
  • EventUseOnMe() : Item
  • EventUseSkill() : Critter
  • EventWalk() : Item
  • exists() : dictionary
  • Experience : CraftItem
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Список всех членов классов со ссылками на классы, к которым они принадлежат.

- f -

  • Flags : Critter , Item , ProtoItem , ItemCl
  • FlagsExt : CritterCl
  • FuncName : MapperObject
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Список всех членов классов со ссылками на классы, к которым они принадлежат.

- g -

  • GeckCount : Location
  • GeckEnabled : Location
  • get() : dictionary
  • GetAccess() : Critter
  • GetAnim1() : CritterCl
  • GetBagRefreshTime() : Critter
  • GetCar() : Map
  • GetChild() : Item
  • GetCopy() : NpcPlane
  • GetCost() : Item
  • GetCount() : Item , ItemCl
  • GetCritter() : Map
  • GetCritters() : Critter , Map
  • GetCrittersHex() : Map
  • GetCrittersPath() : Map
  • GetCrittersSeeing() : Map
  • GetCrittersWhoViewPath() : Map
  • GetCurPlane() : Critter
  • GetData() : Map
  • GetDoor() : Map
  • GetEnemyStack() : Critter
  • GetEntireCoords() : Map
  • GetFavoriteItem() : Critter
  • GetFog() : Critter
  • GetFollowGroup() : Critter
  • GetFollowLeader() : Critter
  • GetGlobalGroup() : Critter
  • GetHeight() : Map
  • GetHexCoord() : Map
  • GetHexCoordWall() : Map
  • GetHomePos() : Critter
  • GetInternalBag() : Critter
  • GetItem() : Critter , CritterCl , Item , Map
  • GetItemById() : Critter
  • GetItems() : Critter , CritterCl , Item , Map
  • GetItemsByType() : Critter , CritterCl , Map
  • GetLocation() : Map
  • GetMap() : Critter , Location
  • GetMapByIndex() : Location
  • GetMapCount() : Location
  • GetMapId() : Critter
  • GetMapPosition() : Item , ItemCl
  • GetMapProtoId() : Critter
  • GetMaps() : Location
  • GetMax() : GameVar
  • GetMin() : GameVar
  • GetMultihex() : Critter , CritterCl
  • GetNearEntireCoords() : Map
  • GetNeedItems() : CraftItem
  • GetNeedParams() : CraftItem
  • GetNeedTools() : CraftItem
  • GetNpc() : Map
  • GetNpcCount() : Map
  • GetOutItems() : CraftItem
  • GetPathLength() : Map
  • GetPlanes() : Critter
  • GetPlanesByExt() : Critter
  • getPos() : file
  • GetProtoId() : Location , ItemCl , Item , Critter , Map
  • GetQuestStr() : GameVar
  • GetRain() : Map
  • GetSceneries() : Map
  • GetScenery() : Map
  • GetScriptId() : ItemCl , Critter , Map , Item
  • GetScriptName() : ProtoItem
  • GetShowParams() : CraftItem
  • getSize() : file , dictionary
  • GetSlotProto() : CritterCl , Critter , CritterCl
  • GetTalkedPlayers() : Critter
  • GetTile() : MapperMap
  • GetTilesCount() : MapperMap
  • GetTime() : Map
  • GetTimeEvents() : Critter
  • GetTurnBasedTime() : CritterCl
  • GetType() : ItemCl , Item
  • GetValue() : GameVar
  • GetVisible() : CritterCl
  • GetWidth() : Map
  • Grid_Type : ProtoItem
  • GroundLevel : ProtoItem
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Список всех членов классов со ссылками на классы, к которым они принадлежат.

- h -

  • Height : MapperMap
  • HexX : Critter , Item , ItemCl , CritterCl , Scenery
  • HexY : Critter , ItemCl , Scenery , CritterCl , Item
  • HolodiskNum : ProtoItem
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Список всех членов классов со ссылками на классы, к которым они принадлежат.

- i -

  • Id : Critter , CritterCl , ItemCl , Location , Item , Map
  • Identifier : NpcPlane
  • IdentifierExt : NpcPlane
  • IndicatorMax : ProtoItem
  • IndicatorStart : ProtoItem
  • Info : CraftItem , Item , ItemCl
  • InfoOffset : MapperObject
  • IsAnim1() : Critter
  • IsAnimAviable() : CritterCl
  • IsAnimPlaying() : CritterCl
  • IsBusy() : Critter , CritterCl
  • IsCanAim() : Critter
  • IsCanRotate() : Critter
  • IsCanRun() : Critter
  • IsCanWalk() : Critter
  • IsCar() : ItemCl
  • IsChosen() : CritterCl
  • IsDead() : Critter , CritterCl
  • IsDeteriorable() : Item
  • isEmpty() : dictionary
  • isEndOfFile() : file
  • IsFree() : CritterCl , Critter
  • IsGrouped() : ItemCl
  • IsHexPassed() : Map
  • IsHexRaked() : Map
  • IsHolodiskInfo() : Critter
  • IsKnockout() : Critter , CritterCl
  • IsKnownLoc() : Critter
  • IsLife() : Critter , CritterCl
  • IsNoPlanes() : Critter
  • IsNotValid : Critter , Item , Location , Map
  • IsNpc() : Critter , CritterCl
  • IsPlayer() : Critter , CritterCl
  • IsQuest() : GameVar
  • IsRuning : Critter
  • IsSee() : Critter
  • IsSeenBy() : Critter
  • IsStackable() : Item
  • IsTurnBased() : Map
  • IsTurnBasedAvailability() : Map
  • IsTurnBasedTurn() : CritterCl
  • IsWeared() : ItemCl
  • Item_BrokenCount : MapperObject
  • Item_BrokenFlags : MapperObject
  • Item_Count : MapperObject
  • Item_Deterioration : MapperObject
  • Item_ItemSlot : MapperObject
  • Item_LockerComplexity : MapperObject
  • Item_LockerCondition : MapperObject
  • Item_LockerDoorId : MapperObject
  • Item_TrapValue : MapperObject
  • ITEM_TYPE_AMMOCount : MapperObject
  • ITEM_TYPE_AMMOPid : MapperObject
  • Item_Val0 : MapperObject
  • Item_Val1 : MapperObject
  • Item_Val2 : MapperObject
  • Item_Val3 : MapperObject
  • Item_Val4 : MapperObject
  • Item_Val5 : MapperObject
  • Item_Val6 : MapperObject
  • Item_Val7 : MapperObject
  • Item_Val8 : MapperObject
  • Item_Val9 : MapperObject
  • ItemsCount() : Critter , CritterCl
  • ItemsVolume() : CritterCl , Critter
  • ItemsWeight() : CritterCl , Critter
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Список всех членов классов со ссылками на классы, к которым они принадлежат.

- k -

  • keys() : dictionary
  • Knockout : CritterCl , Critter
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Список всех членов классов со ссылками на классы, к которым они принадлежат.

- l -

  • length() : string
  • Lexems : ItemCl
  • Life : CritterCl , Critter
  • LightColor : Item , MapperObject , ProtoItem
  • LightDay : MapperObject
  • LightDirOff : MapperObject
  • LightDistance : ProtoItem
  • LightFlags : Item , ProtoItem
  • LightIntensity : ProtoItem , Item , MapperObject
  • LightRadius : Item , MapperObject
  • Locker_Condition : ProtoItem
  • LockerComplexity : ItemCl , Item
  • LockerCondition : ItemCl , Item
  • LockerId : ItemCl , Item
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Список всех членов классов со ссылками на классы, к которым они принадлежат.

- m -

  • m2_Val1 : ItemCl
  • m2_Val2 : ItemCl
  • m2_Val3 : ItemCl
  • m2_Val4 : ItemCl
  • MapId : Item , ItemCl
  • MapObjType : MapperObject
  • MapX : MapperObject
  • MapY : MapperObject
  • Material : ProtoItem
  • Misc_ScriptId : NpcPlane
  • Misc_SetScript() : NpcPlane
  • Misc_WaitSecond : NpcPlane
  • Mode : ItemCl , Item
  • MoveHexByDir() : Map
  • MoveItem() : Critter
  • movePos() : file
  • MoveRandom() : Critter
  • MoveToDir() : Critter
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Список всех членов классов со ссылками на классы, к которым они принадлежат.

- n -

  • Name : CraftItem
  • NameColor : CritterCl
  • NameOnHead : CritterCl
  • NoLogOut : MapperMap
  • NpcRole : Critter
  • Num : CraftItem
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Список всех членов классов со ссылками на классы, к которым они принадлежат.

- o -

  • OffsetX : MapperObject , ProtoItem
  • OffsetY : ProtoItem , MapperObject
  • opAdd() : string , GameVar , string , GameVar , string
  • opAdd_r() : string
  • opAddAssign() : GameVar , string
  • opAssign() : GameVar , string , GameVar , string
  • opCmp() : string , GameVar
  • opDiv() : GameVar
  • opDivAssign() : GameVar
  • open() : file
  • OpenDoor() : Map
  • opEquals() : string , GameVar
  • opMul() : GameVar
  • opMulAssign() : GameVar
  • opSub() : GameVar
  • opSubAssign() : GameVar
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Список всех членов классов со ссылками на классы, к которым они принадлежат.

- p -

  • Param : Critter , CritterCl
  • ParamBase : Critter
  • ParentChildIndex : MapperObject
  • ParentUID : MapperObject
  • PicInv : MapperObject , ProtoItem , Item , ItemCl
  • Pick_HexX : NpcPlane
  • Pick_HexY : NpcPlane
  • Pick_Pid : NpcPlane
  • Pick_ToOpen : NpcPlane
  • Pick_UseItemId : NpcPlane
  • PickItem() : Critter
  • PicMap : Item , ItemCl , MapperObject , ProtoItem
  • Pid : CritterCl
  • PlaySound() : Critter , Map
  • Priority : NpcPlane
  • Proto : ItemCl , Item
  • ProtoId : ProtoItem , MapperObject , Scenery
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Список всех членов классов со ссылками на классы, к которым они принадлежат.

- r -

  • RadioBroadcastRecv : ProtoItem
  • RadioBroadcastSend : ProtoItem
  • RadioChannel : ProtoItem
  • RadioFlags : Item , ItemCl , ProtoItem
  • Radius : Location
  • readData() : file
  • readLine() : file
  • readNumber() : file
  • readString() : file
  • readUint16() : file
  • readUint32() : file
  • readUint64() : file
  • readUint8() : file
  • readWord() : file
  • RefreshVisible() : Critter
  • Reload() : Location , Map
  • Run : NpcPlane
  • RunClientScript() : Critter
  • RunEffect() : Map
  • RunFlyEffect() : Map
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Список всех членов классов со ссылками на классы, к которым они принадлежат.

- s -

  • Save() : Location
  • Say() : Critter
  • SayMsg() : Critter
  • Scenery_CanTalk : MapperObject
  • Scenery_CanUse : MapperObject
  • Scenery_Param0 : MapperObject
  • Scenery_Param1 : MapperObject
  • Scenery_Param2 : MapperObject
  • Scenery_Param3 : MapperObject
  • Scenery_Param4 : MapperObject
  • Scenery_ParamsCount : MapperObject
  • Scenery_SpriteCut : MapperObject
  • Scenery_ToDir : MapperObject
  • Scenery_ToEntire : MapperObject
  • Scenery_ToMapPid : MapperObject
  • Scenery_TriggerNum : MapperObject
  • Script : CraftItem
  • ScriptFunc : MapperMap
  • ScriptModule : MapperMap
  • ScriptName : MapperObject
  • SendCombatResult() : Critter
  • SendMessage() : Critter
  • SendQuestVar() : Critter
  • set() : dictionary
  • SetAnims() : Critter
  • SetBagRefreshTime() : Critter
  • SetChild() : NpcPlane
  • SetCount() : Item
  • SetData() : Map
  • SetDir() : Critter
  • SetEvent() : Critter , Item , Map
  • SetFavoriteItem() : Critter
  • SetFog() : Critter
  • SetHomePos() : Critter
  • SetInternalBag() : Critter
  • SetKnownLoc() : Critter
  • SetLexems() : Item , Critter
  • SetLoopTime() : Map
  • SetMultihex() : Critter
  • setPos() : file
  • SetRain() : Map
  • SetScript() : Critter , Item , Map
  • SetSendParam() : Critter
  • SetText() : Map
  • SetTextMsg() : Map
  • SetTime() : Map
  • SetTurnBasedAvailability() : Map
  • SetVisible() : CritterCl
  • ShowContainer() : Critter
  • ShowCritterDist1 : Critter
  • ShowCritterDist2 : Critter
  • ShowCritterDist3 : Critter
  • ShowScreen() : Critter
  • Slot : ProtoItem
  • SortValue : Item , ItemCl
  • Sound : ProtoItem
  • SoundId : ProtoItem
  • SpecialId : ItemCl , Item
  • Stackable : ProtoItem
  • StackId : Item
  • StartCount : ProtoItem
  • StartValue_0 : ProtoItem
  • StartValue_1 : ProtoItem
  • StartValue_9 : ProtoItem
  • string() : string
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Список всех членов классов со ссылками на классы, к которым они принадлежат.

- t -

  • Time : MapperMap
  • ToDead() : Critter
  • ToKnockout() : Critter
  • ToLife() : Critter
  • TransitToGlobal() : Critter
  • TransitToGlobalGroup() : Critter
  • TransitToHex() : Critter
  • TransitToMap() : Critter
  • Type : ProtoItem , NpcPlane
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Список всех членов классов со ссылками на классы, к которым они принадлежат.

- u -

  • UID : MapperObject
  • UnsetKnownLoc() : Critter
  • Update() : Location , Item
  • UserData0 : MapperObject
  • UserData1 : MapperObject
  • UserData2 : MapperObject
  • UserData3 : MapperObject
  • UserData4 : MapperObject
  • UserData5 : MapperObject
  • UserData6 : MapperObject
  • UserData7 : MapperObject
  • UserData8 : MapperObject
  • UserData9 : MapperObject
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Список всех членов классов со ссылками на классы, к которым они принадлежат.

- v -

  • Val1 : Item
  • Val2 : Item
  • Val3 : Item
  • Val4 : Item
  • Val5 : Item
  • Visible : Location
  • Volume : ProtoItem
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Список всех членов классов со ссылками на классы, к которым они принадлежат.

- w -

  • Wait() : Critter
  • Walk_Cut : NpcPlane
  • Walk_Dir : NpcPlane
  • Walk_HexX : NpcPlane
  • Walk_HexY : NpcPlane
  • Weapon_ActiveUses : ProtoItem
  • Weapon_Aim_F : ProtoItem
  • Weapon_Aim_S : ProtoItem
  • Weapon_Aim_T : ProtoItem
  • Weapon_AmmoCount : Item , ItemCl
  • Weapon_AmmoPid : Item , ItemCl
  • Weapon_Anim1 : ProtoItem
  • Weapon_Anim2_F : ProtoItem
  • Weapon_Anim2_S : ProtoItem
  • Weapon_Anim2_T : ProtoItem
  • Weapon_ApCost_0 : ProtoItem
  • Weapon_ApCost_1 : ProtoItem
  • Weapon_ApCost_2 : ProtoItem
  • Weapon_Caliber : ProtoItem
  • Weapon_CriticalFailture : ProtoItem
  • Weapon_DefaultAmmoPid : ProtoItem
  • Weapon_DmgMax_F : ProtoItem
  • Weapon_DmgMax_S : ProtoItem
  • Weapon_DmgMax_T : ProtoItem
  • Weapon_DmgMin_F : ProtoItem
  • Weapon_DmgMin_S : ProtoItem
  • Weapon_DmgMin_T : ProtoItem
  • Weapon_DmgType_F : ProtoItem
  • Weapon_DmgType_S : ProtoItem
  • Weapon_DmgType_T : ProtoItem
  • Weapon_IsUnarmed : ProtoItem
  • Weapon_MaxAmmoCount : ProtoItem
  • Weapon_MaxDist_0 : ProtoItem
  • Weapon_MaxDist_1 : ProtoItem
  • Weapon_MaxDist_2 : ProtoItem
  • Weapon_MinStrength : ProtoItem
  • Weapon_Perk : ProtoItem
  • Weapon_PicUse_0 : ProtoItem
  • Weapon_PicUse_1 : ProtoItem
  • Weapon_PicUse_2 : ProtoItem
  • Weapon_Remove_F : ProtoItem
  • Weapon_Remove_S : ProtoItem
  • Weapon_Remove_T : ProtoItem
  • Weapon_Round_0 : ProtoItem
  • Weapon_Round_1 : ProtoItem
  • Weapon_Round_2 : ProtoItem
  • Weapon_SetUse() : ProtoItem
  • Weapon_Skill_0 : ProtoItem
  • Weapon_Skill_1 : ProtoItem
  • Weapon_Skill_2 : ProtoItem
  • Weapon_SoundId_0 : ProtoItem
  • Weapon_SoundId_1 : ProtoItem
  • Weapon_SoundId_2 : ProtoItem
  • Weapon_UnarmedMinAgility : ProtoItem
  • Weapon_UnarmedMinLevel : ProtoItem
  • Weapon_UnarmedMinUnarmed : ProtoItem
  • Weapon_UnarmedPriority : ProtoItem
  • Weapon_UnarmedTree : ProtoItem
  • Weapon_VolumeHolder : ProtoItem
  • Weight : ProtoItem
  • Width : MapperMap
  • WorkHexX : MapperMap
  • WorkHexY : MapperMap
  • WorldX : Location , Critter
  • WorldY : Location , Critter
  • writeData() : file
  • writeString() : file
  • writeUint16() : file
  • writeUint32() : file
  • writeUint64() : file
  • writeUint8() : file
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Функции

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • g
  • i
  • k
  • l
  • m
  • o
  • p
  • r
  • s
  • t
  • u
  • w

- a -

  • Action() : Critter
  • AddEnemyInStack() : Critter
  • AddHolodiskInfo() : Critter
  • AddItem() : Critter , Item , Map
  • AddNpc() : Map
  • AddPlane() : Critter
  • AddScore() : Critter
  • AddTile() : MapperMap
  • AddTimeEvent() : Critter
  • Animate() : Item , CritterCl , Critter , ItemCl
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Функции

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • g
  • i
  • k
  • l
  • m
  • o
  • p
  • r
  • s
  • t
  • u
  • w

- b -

  • BeginTurnBased() : Map
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Функции

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • g
  • i
  • k
  • l
  • m
  • o
  • p
  • r
  • s
  • t
  • u
  • w

- c -

  • CallSceneryFunction() : Scenery
  • CarGetBag() : ItemCl
  • ChangeCrType() : Critter
  • ChangeEnemyStackSize() : Critter
  • ChangeProto() : Item
  • ChangeTimeEvent() : Critter
  • CheckEnemyInStack() : Critter
  • CheckKey() : CritterCl
  • CheckPlaceForItem() : Map
  • ClearAnim() : CritterCl
  • ClearEnemyStack() : Critter
  • close() : file
  • CloseDoor() : Map
  • CountEntire() : Map
  • CountItem() : Critter , CritterCl
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Функции

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • g
  • i
  • k
  • l
  • m
  • o
  • p
  • r
  • s
  • t
  • u
  • w

- d -

  • delete() : dictionary
  • deleteAll() : dictionary
  • DeleteItem() : Critter
  • DeleteTile() : MapperMap
  • Disconnect() : Critter
  • DropPlanes() : Critter
  • DropTimers() : Critter
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Функции

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • g
  • i
  • k
  • l
  • m
  • o
  • p
  • r
  • s
  • t
  • u
  • w

- e -

  • EndTurnBased() : Map
  • EraseEnemyFromStack() : Critter
  • EraseHolodiskInfo() : Critter
  • ErasePlane() : Critter
  • EraseTimeEvent() : Critter
  • EraseTimeEvents() : Critter
  • EventAttack() : Critter , Item
  • EventAttacked() : Critter
  • EventBarter() : Critter
  • EventChangeItemOnMap() : Critter
  • EventCritterDead() : Map
  • EventDead() : Critter
  • EventDrop() : Item
  • EventDropItem() : Critter
  • EventFinish() : Critter , Item , Map
  • EventGlobalInvite() : Critter
  • EventGlobalProcess() : Critter
  • EventHideCritter() : Critter
  • EventHideCritter1() : Critter
  • EventHideCritter2() : Critter
  • EventHideCritter3() : Critter
  • EventHideItemOnMap() : Critter
  • EventIdle() : Critter
  • EventInCritter() : Map
  • EventKnockout() : Critter
  • EventLoop0() : Map
  • EventLoop1() : Map
  • EventLoop2() : Map
  • EventLoop3() : Map
  • EventLoop4() : Map
  • EventMessage() : Critter
  • EventMove() : Item
  • EventMoveItem() : Critter
  • EventOutCritter() : Map
  • EventPlaneBegin() : Critter
  • EventPlaneEnd() : Critter
  • EventPlaneRun() : Critter
  • EventRespawn() : Critter
  • EventShowCritter() : Critter
  • EventShowCritter1() : Critter
  • EventShowCritter2() : Critter
  • EventShowCritter3() : Critter
  • EventShowItemOnMap() : Critter
  • EventSkill() : Item
  • EventSmthAttack() : Critter
  • EventSmthDropItem() : Critter
  • EventSmthKnockout() : Critter
  • EventSmthMoveItem() : Critter
  • EventSmthStealing() : Critter
  • EventSmthUseItem() : Critter
  • EventSmthUseSkill() : Critter
  • EventStealing() : Critter
  • EventTalk() : Critter
  • EventTurnBasedBegin() : Map
  • EventTurnBasedEnd() : Map
  • EventTurnBasedProcess() : Map
  • EventUse() : Item
  • EventUseItem() : Critter
  • EventUseOnMe() : Item
  • EventUseSkill() : Critter
  • EventWalk() : Item
  • exists() : dictionary
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Функции

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • g
  • i
  • k
  • l
  • m
  • o
  • p
  • r
  • s
  • t
  • u
  • w

- g -

  • get() : dictionary
  • GetAccess() : Critter
  • GetAnim1() : CritterCl
  • GetBagRefreshTime() : Critter
  • GetCar() : Map
  • GetChild() : Item
  • GetCopy() : NpcPlane
  • GetCost() : Item
  • GetCount() : Item , ItemCl
  • GetCritter() : Map
  • GetCritters() : Map , Critter
  • GetCrittersHex() : Map
  • GetCrittersPath() : Map
  • GetCrittersSeeing() : Map
  • GetCrittersWhoViewPath() : Map
  • GetCurPlane() : Critter
  • GetData() : Map
  • GetDoor() : Map
  • GetEnemyStack() : Critter
  • GetEntireCoords() : Map
  • GetFavoriteItem() : Critter
  • GetFog() : Critter
  • GetFollowGroup() : Critter
  • GetFollowLeader() : Critter
  • GetGlobalGroup() : Critter
  • GetHeight() : Map
  • GetHexCoord() : Map
  • GetHexCoordWall() : Map
  • GetHomePos() : Critter
  • GetInternalBag() : Critter
  • GetItem() : Critter , CritterCl , Item , Map
  • GetItemById() : Critter
  • GetItems() : Critter , CritterCl , Item , Map
  • GetItemsByType() : Critter , CritterCl , Map
  • GetLocation() : Map
  • GetMap() : Critter , Location
  • GetMapByIndex() : Location
  • GetMapCount() : Location
  • GetMapId() : Critter
  • GetMapPosition() : Item , ItemCl
  • GetMapProtoId() : Critter
  • GetMaps() : Location
  • GetMax() : GameVar
  • GetMin() : GameVar
  • GetMultihex() : Critter , CritterCl
  • GetNearEntireCoords() : Map
  • GetNeedItems() : CraftItem
  • GetNeedParams() : CraftItem
  • GetNeedTools() : CraftItem
  • GetNpc() : Map
  • GetNpcCount() : Map
  • GetOutItems() : CraftItem
  • GetPathLength() : Map
  • GetPlanes() : Critter
  • GetPlanesByExt() : Critter
  • getPos() : file
  • GetProtoId() : Item , Critter , Location , ItemCl , Map
  • GetQuestStr() : GameVar
  • GetRain() : Map
  • GetSceneries() : Map
  • GetScenery() : Map
  • GetScriptId() : ItemCl , Item , Map , Critter
  • GetScriptName() : ProtoItem
  • GetShowParams() : CraftItem
  • getSize() : dictionary , file
  • GetSlotProto() : Critter , CritterCl
  • GetTalkedPlayers() : Critter
  • GetTile() : MapperMap
  • GetTilesCount() : MapperMap
  • GetTime() : Map
  • GetTimeEvents() : Critter
  • GetTurnBasedTime() : CritterCl
  • GetType() : ItemCl , Item
  • GetValue() : GameVar
  • GetVisible() : CritterCl
  • GetWidth() : Map
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Функции

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • g
  • i
  • k
  • l
  • m
  • o
  • p
  • r
  • s
  • t
  • u
  • w

- i -

  • IsAnim1() : Critter
  • IsAnimAviable() : CritterCl
  • IsAnimPlaying() : CritterCl
  • IsBusy() : Critter , CritterCl
  • IsCanAim() : Critter
  • IsCanRotate() : Critter
  • IsCanRun() : Critter
  • IsCanWalk() : Critter
  • IsCar() : ItemCl
  • IsChosen() : CritterCl
  • IsDead() : Critter , CritterCl
  • IsDeteriorable() : Item
  • isEmpty() : dictionary
  • isEndOfFile() : file
  • IsFree() : Critter , CritterCl
  • IsGrouped() : ItemCl
  • IsHexPassed() : Map
  • IsHexRaked() : Map
  • IsHolodiskInfo() : Critter
  • IsKnockout() : Critter , CritterCl
  • IsKnownLoc() : Critter
  • IsLife() : CritterCl , Critter
  • IsNoPlanes() : Critter
  • IsNpc() : Critter , CritterCl
  • IsPlayer() : Critter , CritterCl
  • IsQuest() : GameVar
  • IsSee() : Critter
  • IsSeenBy() : Critter
  • IsStackable() : Item
  • IsTurnBased() : Map
  • IsTurnBasedAvailability() : Map
  • IsTurnBasedTurn() : CritterCl
  • IsWeared() : ItemCl
  • ItemsCount() : CritterCl , Critter
  • ItemsVolume() : Critter , CritterCl
  • ItemsWeight() : Critter , CritterCl
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Функции

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • g
  • i
  • k
  • l
  • m
  • o
  • p
  • r
  • s
  • t
  • u
  • w

- k -

  • keys() : dictionary
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Функции

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • g
  • i
  • k
  • l
  • m
  • o
  • p
  • r
  • s
  • t
  • u
  • w

- l -

  • length() : string
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Функции

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • g
  • i
  • k
  • l
  • m
  • o
  • p
  • r
  • s
  • t
  • u
  • w

- m -

  • Misc_SetScript() : NpcPlane
  • MoveHexByDir() : Map
  • MoveItem() : Critter
  • movePos() : file
  • MoveRandom() : Critter
  • MoveToDir() : Critter
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Функции

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • g
  • i
  • k
  • l
  • m
  • o
  • p
  • r
  • s
  • t
  • u
  • w

- o -

  • opAdd() : GameVar , string
  • opAdd_r() : string
  • opAddAssign() : string , GameVar , string
  • opAssign() : GameVar , string
  • opCmp() : GameVar , string
  • opDiv() : GameVar
  • opDivAssign() : GameVar
  • open() : file
  • OpenDoor() : Map
  • opEquals() : GameVar , string , GameVar
  • opMul() : GameVar
  • opMulAssign() : GameVar
  • opSub() : GameVar
  • opSubAssign() : GameVar
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Функции

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • g
  • i
  • k
  • l
  • m
  • o
  • p
  • r
  • s
  • t
  • u
  • w

- p -

  • PickItem() : Critter
  • PlaySound() : Map , Critter
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Функции

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • g
  • i
  • k
  • l
  • m
  • o
  • p
  • r
  • s
  • t
  • u
  • w

- r -

  • readData() : file
  • readLine() : file
  • readNumber() : file
  • readString() : file
  • readUint16() : file
  • readUint32() : file
  • readUint64() : file
  • readUint8() : file
  • readWord() : file
  • RefreshVisible() : Critter
  • Reload() : Location , Map
  • RunClientScript() : Critter
  • RunEffect() : Map
  • RunFlyEffect() : Map
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Функции

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • g
  • i
  • k
  • l
  • m
  • o
  • p
  • r
  • s
  • t
  • u
  • w

- s -

  • Save() : Location
  • Say() : Critter
  • SayMsg() : Critter
  • SendCombatResult() : Critter
  • SendMessage() : Critter
  • SendQuestVar() : Critter
  • set() : dictionary
  • SetAnims() : Critter
  • SetBagRefreshTime() : Critter
  • SetChild() : NpcPlane
  • SetCount() : Item
  • SetData() : Map
  • SetDir() : Critter
  • SetEvent() : Critter , Item , Map
  • SetFavoriteItem() : Critter
  • SetFog() : Critter
  • SetHomePos() : Critter
  • SetInternalBag() : Critter
  • SetKnownLoc() : Critter
  • SetLexems() : Critter , Item
  • SetLoopTime() : Map
  • SetMultihex() : Critter
  • setPos() : file
  • SetRain() : Map
  • SetScript() : Item , Map , Critter
  • SetSendParam() : Critter
  • SetText() : Map
  • SetTextMsg() : Map
  • SetTime() : Map
  • SetTurnBasedAvailability() : Map
  • SetVisible() : CritterCl
  • ShowContainer() : Critter
  • ShowScreen() : Critter
  • string() : string
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Функции

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • g
  • i
  • k
  • l
  • m
  • o
  • p
  • r
  • s
  • t
  • u
  • w

- t -

  • ToDead() : Critter
  • ToKnockout() : Critter
  • ToLife() : Critter
  • TransitToGlobal() : Critter
  • TransitToGlobalGroup() : Critter
  • TransitToHex() : Critter
  • TransitToMap() : Critter
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Функции

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • g
  • i
  • k
  • l
  • m
  • o
  • p
  • r
  • s
  • t
  • u
  • w

- u -

  • UnsetKnownLoc() : Critter
  • Update() : Location , Item
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Функции

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • g
  • i
  • k
  • l
  • m
  • o
  • p
  • r
  • s
  • t
  • u
  • w

- w -

  • Wait() : Critter
  • Weapon_SetUse() : ProtoItem
  • writeData() : file
  • writeString() : file
  • writeUint16() : file
  • writeUint32() : file
  • writeUint64() : file
  • writeUint8() : file
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Переменные

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- a -

  • Accessory : Item , ItemCl
  • Ammo_AcMod : ProtoItem
  • Ammo_Caliber : ProtoItem
  • Ammo_DmgDiv : ProtoItem
  • Ammo_DmgMult : ProtoItem
  • Ammo_DrMod : ProtoItem
  • Anim3dLayer : CritterCl
  • AnimHide_0 : ProtoItem
  • AnimHide_1 : ProtoItem
  • AnimHideBegin : Item , ItemCl
  • AnimHideEnd : Item , ItemCl
  • AnimShow_0 : ProtoItem
  • AnimShow_1 : ProtoItem
  • AnimShowBegin : Item , ItemCl
  • AnimShowEnd : Item , ItemCl
  • AnimStay_0 : ProtoItem
  • AnimStay_1 : ProtoItem
  • AnimStayBegin : Item , ItemCl , MapperObject
  • AnimStayEnd : ItemCl , Item , MapperObject
  • AnimWait : MapperObject
  • AnimWaitBase : ProtoItem , ItemCl , Item
  • AnimWaitRndMax : ProtoItem
  • AnimWaitRndMin : ProtoItem
  • Armor_CrTypeFemale : ProtoItem
  • Armor_CrTypeMale : ProtoItem
  • Attack_GagHexX : NpcPlane
  • Attack_GagHexY : NpcPlane
  • Attack_IsGag : NpcPlane
  • Attack_LastHexX : NpcPlane
  • Attack_LastHexY : NpcPlane
  • Attack_MinHp : NpcPlane
  • Attack_TargId : NpcPlane
  • AutoGarbage : Location
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Переменные

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- b -

  • BlockLines : ProtoItem
  • BrokenCount : Item , ItemCl
  • BrokenFlags : Item , ItemCl
  • BrokenWear : ItemCl
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Переменные

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- c -

  • Car_CrittersCapacity : ProtoItem
  • Car_DeteriorationRate : ProtoItem
  • Car_Entrance : ProtoItem
  • Car_FuelConsumption : ProtoItem
  • Car_MaxDeterioration : ProtoItem
  • Car_MovementType : ProtoItem
  • Car_Passability : ProtoItem
  • Car_Speed : ProtoItem
  • Car_TankVolume : ProtoItem
  • Child : NpcPlane
  • ChildLines_0 : ProtoItem
  • ChildLines_1 : ProtoItem
  • ChildLines_2 : ProtoItem
  • ChildLines_3 : ProtoItem
  • ChildLines_4 : ProtoItem
  • ChildPid_0 : ProtoItem
  • ChildPid_1 : ProtoItem
  • ChildPid_2 : ProtoItem
  • ChildPid_3 : ProtoItem
  • ChildPid_4 : ProtoItem
  • Color : Location
  • Cond : Critter
  • CondExt : Critter
  • Container_CannotPickUp : ProtoItem
  • Container_Changeble : ProtoItem
  • Container_MagicHandsGrnd : ProtoItem
  • Container_Volume : ProtoItem
  • ContainerId : Item , ItemCl
  • ContainerUID : MapperObject
  • ContourColor : CritterCl
  • Corner : ProtoItem
  • Cost : Item , ProtoItem
  • CritId : Item , ItemCl
  • CritSlot : Item , ItemCl
  • Critter_Cond : MapperObject
  • Critter_CondExt : MapperObject
  • Critter_ParamIndex0 : MapperObject
  • Critter_ParamIndex1 : MapperObject
  • Critter_ParamIndex10 : MapperObject
  • Critter_ParamIndex11 : MapperObject
  • Critter_ParamIndex12 : MapperObject
  • Critter_ParamIndex13 : MapperObject
  • Critter_ParamIndex14 : MapperObject
  • Critter_ParamIndex2 : MapperObject
  • Critter_ParamIndex3 : MapperObject
  • Critter_ParamIndex4 : MapperObject
  • Critter_ParamIndex5 : MapperObject
  • Critter_ParamIndex6 : MapperObject
  • Critter_ParamIndex7 : MapperObject
  • Critter_ParamIndex8 : MapperObject
  • Critter_ParamIndex9 : MapperObject
  • Critter_ParamValue0 : MapperObject
  • Critter_ParamValue1 : MapperObject
  • Critter_ParamValue10 : MapperObject
  • Critter_ParamValue11 : MapperObject
  • Critter_ParamValue12 : MapperObject
  • Critter_ParamValue13 : MapperObject
  • Critter_ParamValue14 : MapperObject
  • Critter_ParamValue2 : MapperObject
  • Critter_ParamValue3 : MapperObject
  • Critter_ParamValue4 : MapperObject
  • Critter_ParamValue5 : MapperObject
  • Critter_ParamValue6 : MapperObject
  • Critter_ParamValue7 : MapperObject
  • Critter_ParamValue8 : MapperObject
  • Critter_ParamValue9 : MapperObject
  • CrType : CritterCl , Critter
  • CrTypeAlias : CritterCl
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Переменные

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- d -

  • Data : ItemCl
  • Dead : Critter , CritterCl
  • Deteriorable : ProtoItem
  • Deterioration : Item
  • Dir : MapperObject , ProtoItem , Critter , CritterCl
  • DisableEgg : ProtoItem
  • Door_NoBlockLight : ProtoItem
  • Door_NoBlockMove : ProtoItem
  • Door_NoBlockShoot : ProtoItem
  • DrawOrderOffsetHexY : ProtoItem
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Переменные

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- e -

  • Experience : CraftItem
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Переменные

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- f -

  • Flags : Critter , Item , ProtoItem , ItemCl
  • FlagsExt : CritterCl
  • FuncName : MapperObject
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Переменные

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- g -

  • GeckCount : Location
  • GeckEnabled : Location
  • Grid_Type : ProtoItem
  • GroundLevel : ProtoItem
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Переменные

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- h -

  • Height : MapperMap
  • HexX : Critter , Item , ItemCl , CritterCl , Scenery
  • HexY : Critter , ItemCl , Scenery , CritterCl , Item
  • HolodiskNum : ProtoItem
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Переменные

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- i -

  • Id : Critter , CritterCl , ItemCl , Location , Item , Map
  • Identifier : NpcPlane
  • IdentifierExt : NpcPlane
  • IndicatorMax : ProtoItem
  • IndicatorStart : ProtoItem
  • Info : CraftItem , Item , ItemCl
  • InfoOffset : MapperObject
  • IsNotValid : Item , Location , Map , Critter
  • IsRuning : Critter
  • Item_BrokenCount : MapperObject
  • Item_BrokenFlags : MapperObject
  • Item_Count : MapperObject
  • Item_Deterioration : MapperObject
  • Item_ItemSlot : MapperObject
  • Item_LockerComplexity : MapperObject
  • Item_LockerCondition : MapperObject
  • Item_LockerDoorId : MapperObject
  • Item_TrapValue : MapperObject
  • ITEM_TYPE_AMMOCount : MapperObject
  • ITEM_TYPE_AMMOPid : MapperObject
  • Item_Val0 : MapperObject
  • Item_Val1 : MapperObject
  • Item_Val2 : MapperObject
  • Item_Val3 : MapperObject
  • Item_Val4 : MapperObject
  • Item_Val5 : MapperObject
  • Item_Val6 : MapperObject
  • Item_Val7 : MapperObject
  • Item_Val8 : MapperObject
  • Item_Val9 : MapperObject
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Переменные

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- k -

  • Knockout : Critter , CritterCl
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Переменные

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- l -

  • Lexems : ItemCl
  • Life : Critter , CritterCl
  • LightColor : Item , MapperObject , ProtoItem
  • LightDay : MapperObject
  • LightDirOff : MapperObject
  • LightDistance : ProtoItem
  • LightFlags : Item , ProtoItem
  • LightIntensity : Item , MapperObject , ProtoItem
  • LightRadius : MapperObject , Item
  • Locker_Condition : ProtoItem
  • LockerComplexity : ItemCl , Item
  • LockerCondition : ItemCl , Item
  • LockerId : Item , ItemCl
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Переменные

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- m -

  • m2_Val1 : ItemCl
  • m2_Val2 : ItemCl
  • m2_Val3 : ItemCl
  • m2_Val4 : ItemCl
  • MapId : Item , ItemCl
  • MapObjType : MapperObject
  • MapX : MapperObject
  • MapY : MapperObject
  • Material : ProtoItem
  • Misc_ScriptId : NpcPlane
  • Misc_WaitSecond : NpcPlane
  • Mode : Item , ItemCl
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Переменные

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- n -

  • Name : CraftItem
  • NameColor : CritterCl
  • NameOnHead : CritterCl
  • NoLogOut : MapperMap
  • NpcRole : Critter
  • Num : CraftItem
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Переменные

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- o -

  • OffsetX : MapperObject , ProtoItem
  • OffsetY : MapperObject , ProtoItem
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Переменные

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- p -

  • Param : Critter , CritterCl
  • ParamBase : Critter
  • ParentChildIndex : MapperObject
  • ParentUID : MapperObject
  • PicInv : MapperObject , ProtoItem , Item , ItemCl
  • Pick_HexX : NpcPlane
  • Pick_HexY : NpcPlane
  • Pick_Pid : NpcPlane
  • Pick_ToOpen : NpcPlane
  • Pick_UseItemId : NpcPlane
  • PicMap : ItemCl , MapperObject , ProtoItem , Item
  • Pid : CritterCl
  • Priority : NpcPlane
  • Proto : Item , ItemCl
  • ProtoId : MapperObject , ProtoItem , Scenery
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Переменные

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- r -

  • RadioBroadcastRecv : ProtoItem
  • RadioBroadcastSend : ProtoItem
  • RadioChannel : ProtoItem
  • RadioFlags : Item , ItemCl , ProtoItem
  • Radius : Location
  • Run : NpcPlane
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Переменные

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- s -

  • Scenery_CanTalk : MapperObject
  • Scenery_CanUse : MapperObject
  • Scenery_Param0 : MapperObject
  • Scenery_Param1 : MapperObject
  • Scenery_Param2 : MapperObject
  • Scenery_Param3 : MapperObject
  • Scenery_Param4 : MapperObject
  • Scenery_ParamsCount : MapperObject
  • Scenery_SpriteCut : MapperObject
  • Scenery_ToDir : MapperObject
  • Scenery_ToEntire : MapperObject
  • Scenery_ToMapPid : MapperObject
  • Scenery_TriggerNum : MapperObject
  • Script : CraftItem
  • ScriptFunc : MapperMap
  • ScriptModule : MapperMap
  • ScriptName : MapperObject
  • ShowCritterDist1 : Critter
  • ShowCritterDist2 : Critter
  • ShowCritterDist3 : Critter
  • Slot : ProtoItem
  • SortValue : Item , ItemCl
  • Sound : ProtoItem
  • SoundId : ProtoItem
  • SpecialId : Item , ItemCl
  • Stackable : ProtoItem
  • StackId : Item
  • StartCount : ProtoItem
  • StartValue_0 : ProtoItem
  • StartValue_1 : ProtoItem
  • StartValue_9 : ProtoItem
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Переменные

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- t -

  • Time : MapperMap
  • Type : ProtoItem , NpcPlane
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Переменные

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- u -

  • UID : MapperObject
  • UserData0 : MapperObject
  • UserData1 : MapperObject
  • UserData2 : MapperObject
  • UserData3 : MapperObject
  • UserData4 : MapperObject
  • UserData5 : MapperObject
  • UserData6 : MapperObject
  • UserData7 : MapperObject
  • UserData8 : MapperObject
  • UserData9 : MapperObject
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Переменные

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- v -

  • Val1 : Item
  • Val2 : Item
  • Val3 : Item
  • Val4 : Item
  • Val5 : Item
  • Visible : Location
  • Volume : ProtoItem
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Члены классов - Переменные

  • Алфавитный указатель классов
  • Члены классов
  • Указатель
  • Функции
  • Переменные
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- w -

  • Walk_Cut : NpcPlane
  • Walk_Dir : NpcPlane
  • Walk_HexX : NpcPlane
  • Walk_HexY : NpcPlane
  • Weapon_ActiveUses : ProtoItem
  • Weapon_Aim_F : ProtoItem
  • Weapon_Aim_S : ProtoItem
  • Weapon_Aim_T : ProtoItem
  • Weapon_AmmoCount : Item , ItemCl
  • Weapon_AmmoPid : Item , ItemCl
  • Weapon_Anim1 : ProtoItem
  • Weapon_Anim2_F : ProtoItem
  • Weapon_Anim2_S : ProtoItem
  • Weapon_Anim2_T : ProtoItem
  • Weapon_ApCost_0 : ProtoItem
  • Weapon_ApCost_1 : ProtoItem
  • Weapon_ApCost_2 : ProtoItem
  • Weapon_Caliber : ProtoItem
  • Weapon_CriticalFailture : ProtoItem
  • Weapon_DefaultAmmoPid : ProtoItem
  • Weapon_DmgMax_F : ProtoItem
  • Weapon_DmgMax_S : ProtoItem
  • Weapon_DmgMax_T : ProtoItem
  • Weapon_DmgMin_F : ProtoItem
  • Weapon_DmgMin_S : ProtoItem
  • Weapon_DmgMin_T : ProtoItem
  • Weapon_DmgType_F : ProtoItem
  • Weapon_DmgType_S : ProtoItem
  • Weapon_DmgType_T : ProtoItem
  • Weapon_IsUnarmed : ProtoItem
  • Weapon_MaxAmmoCount : ProtoItem
  • Weapon_MaxDist_0 : ProtoItem
  • Weapon_MaxDist_1 : ProtoItem
  • Weapon_MaxDist_2 : ProtoItem
  • Weapon_MinStrength : ProtoItem
  • Weapon_Perk : ProtoItem
  • Weapon_PicUse_0 : ProtoItem
  • Weapon_PicUse_1 : ProtoItem
  • Weapon_PicUse_2 : ProtoItem
  • Weapon_Remove_F : ProtoItem
  • Weapon_Remove_S : ProtoItem
  • Weapon_Remove_T : ProtoItem
  • Weapon_Round_0 : ProtoItem
  • Weapon_Round_1 : ProtoItem
  • Weapon_Round_2 : ProtoItem
  • Weapon_Skill_0 : ProtoItem
  • Weapon_Skill_1 : ProtoItem
  • Weapon_Skill_2 : ProtoItem
  • Weapon_SoundId_0 : ProtoItem
  • Weapon_SoundId_1 : ProtoItem
  • Weapon_SoundId_2 : ProtoItem
  • Weapon_UnarmedMinAgility : ProtoItem
  • Weapon_UnarmedMinLevel : ProtoItem
  • Weapon_UnarmedMinUnarmed : ProtoItem
  • Weapon_UnarmedPriority : ProtoItem
  • Weapon_UnarmedTree : ProtoItem
  • Weapon_VolumeHolder : ProtoItem
  • Weight : ProtoItem
  • Width : MapperMap
  • WorkHexX : MapperMap
  • WorkHexY : MapperMap
  • WorldX : Critter , Location
  • WorldY : Location , Critter
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Cписок членов класса

  • Алфавитный указатель классов
  • Члены классов
CraftItem Cписок членов класса

Полный список членов класса CraftItem, включая наследуемые из базового класса

Experience | CraftItem
GetNeedItems(array< uint16 > @pids, array< uint > @values, array< bool > @ors) | CraftItem
GetNeedParams(array< uint > @nums, array< int > @values, array< bool > @ors) | CraftItem
GetNeedTools(array< uint16 > @pids, array< uint > @values, array< bool > @ors) | CraftItem
GetOutItems(array< uint16 > @pids, array< uint > @values) | CraftItem
GetShowParams(array< uint > @nums, array< int > @values, array< bool > @ors) | CraftItem
Info | CraftItem
Name | CraftItem
Num | CraftItem
Script | CraftItem
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Cписок членов класса

  • Алфавитный указатель классов
  • Члены классов
Critter Cписок членов класса

Полный список членов класса Critter, включая наследуемые из базового класса

Action(int action, int actionExt, Item @+item) | Critter
AddEnemyInStack(uint critterId) | Critter
AddHolodiskInfo(uint holodiskNum) | Critter
AddItem(uint16 protoId, uint count) | Critter
AddPlane(NpcPlane @+plane) | Critter
AddScore(int score, int value) | Critter
AddTimeEvent(string &funcName, uint duration, int identifier) | Critter
AddTimeEvent(string &funcName, uint duration, int identifier, uint rate) | Critter
Animate(uint anim1, uint anim2, Item @+item, bool clearSequence, bool delayPlay) | Critter
ChangeCrType(uint newType) | Critter
ChangeEnemyStackSize(uint newSize) | Critter
ChangeTimeEvent(uint index, uint newDuration, uint newRate) | Critter
CheckEnemyInStack(uint critterId) | Critter
ClearEnemyStack() | Critter
Cond | Critter
CondExt | Critter
CountItem(uint16 protoId) | Critter
CrType | Critter
Dead | Critter
DeleteItem(uint16 protoId, uint count) | Critter
Dir | Critter
Disconnect() | Critter
DropPlanes() | Critter
DropTimers() | Critter
EraseEnemyFromStack(uint critterId) | Critter
EraseHolodiskInfo(uint holodiskNum) | Critter
ErasePlane(uint index) | Critter
ErasePlane(int planeType, bool all) | Critter
EraseTimeEvent(uint index) | Critter
EraseTimeEvents(int identifier) | Critter
EraseTimeEvents(int[]&identifiers) | Critter
EventAttack(Critter &target, Item @weapon) | Critter
EventAttacked(Critter &attacker, Item @weapon) | Critter
EventBarter(Critter &cr, bool attach, uint barterCount) | Critter
EventChangeItemOnMap(Item &item) | Critter
EventDead(Critter @killer) | Critter
EventDropItem(Item &item) | Critter
EventFinish(bool deleted) | Critter
EventGlobalInvite(Critter &leader, Item @car, uint encounterDescriptor, int combatMode, uint &mapId, uint16 &hexX, uint16 &hexY, uint8 &dir) | Critter
EventGlobalProcess(int type, Critter &cr, Item @car, uint &x, uint &y, uint &toX, uint &toY, uint &speed, uint &encounterDescriptor, bool &waitForAnswer) | Critter
EventHideCritter(Critter &cr) | Critter
EventHideCritter1(Critter &cr) | Critter
EventHideCritter2(Critter &cr) | Critter
EventHideCritter3(Critter &cr) | Critter
EventHideItemOnMap(Item &hideItem, bool removed, Critter @picker) | Critter
EventIdle() | Critter
EventKnockout(uint anim2begin, uint anim2idle, uint anim2end, uint lostAp, uint knockDist) | Critter
EventMessage(Critter &fromCrit, int message, int value) | Critter
EventMoveItem(Item &item, uint8 fromSlot) | Critter
EventPlaneBegin(NpcPlane &plane, uint childIndex, int reason, Critter @someCr, Item @someItem) | Critter
EventPlaneEnd(NpcPlane &plane, uint childIndex, int reason, Critter @someCr, Item @someItem) | Critter
EventPlaneRun(NpcPlane &plane, uint childIndex, int reason, uint &p0, uint &p1, uint &p2) | Critter
EventRespawn() | Critter
EventShowCritter(Critter &cr) | Critter
EventShowCritter1(Critter &cr) | Critter
EventShowCritter2(Critter &cr) | Critter
EventShowCritter3(Critter &cr) | Critter
EventShowItemOnMap(Item &showItem, bool added, Critter @dropper) | Critter
EventSmthAttack(Critter &fromCrit, Critter &target) | Critter
EventSmthAttack(Critter &fromCrit, Critter &target) | Critter
EventSmthDropItem(Critter &fromCrit, Item &item) | Critter
EventSmthKnockout(Critter &fromCrit, uint anim2begin, uint anim2idle, uint anim2end, uint lostAp, uint knockDist) | Critter
EventSmthMoveItem(Critter &fromCrit, Item &item, uint8 fromSlot) | Critter
EventSmthStealing(Critter &fromCrit, Critter &thief, bool success, Item &item, uint count) | Critter
EventSmthUseItem(Critter &fromCrit, Item &item, Critter @onCritter, Item @onItem, Scenery @onScenery) | Critter
EventSmthUseSkill(Critter &fromCrit, int skill, Critter @onCritter, Item @onItem, Scenery @onScenery) | Critter
EventStealing(Critter &thief, bool success, Item &item, uint count) | Critter
EventTalk(Critter &cr, bool attach, uint talkCount) | Critter
EventUseItem(Item &item, Critter @onCritter, Item @onItem, Scenery @onScenery) | Critter
EventUseSkill(int skill, Critter @onCritter, Item @onItem, Scenery @onScenery) | Critter
Flags | Critter
GetAccess() | Critter
GetBagRefreshTime() | Critter
GetCritters(bool lookOnMe, int findType, Critter @[]@+critters) | Critter
GetCurPlane() | Critter
GetEnemyStack(uint[]&enemyStack) | Critter
GetFavoriteItem(int slot) | Critter
GetFog(uint16 zoneX, uint16 zoneY) | Critter
GetFollowGroup(int findType, Critter @[]@+critters) | Critter
GetFollowLeader() | Critter
GetGlobalGroup() | Critter
GetHomePos(uint &mapId, uint16 &hexX, uint16 &hexY, uint8 &dir) | Critter
GetInternalBag(uint16[]@+pids, uint[]@+minCounts, uint[]@+maxCounts, int[]@+slots) | Critter
GetItem(uint16 protoId, int slot) | Critter
GetItemById(uint itemId) | Critter
GetItems(int slot, Item @[]@+items) | Critter
GetItemsByType(int type, Item @[]@+items) | Critter
GetMap() | Critter
GetMapId() | Critter
GetMapProtoId() | Critter
GetMultihex() | Critter
GetPlanes(NpcPlane @[]@+planes) | Critter
GetPlanes(int identifier, NpcPlane @[]@+planes) | Critter
GetPlanes(int identifier, uint identifierExt, NpcPlane @[]@+planes) | Critter
GetPlanesByExt(uint identifierExt, NpcPlane @[]@+planes) | Critter
GetProtoId() | Critter
GetScriptId() | Critter
GetSlotProto(int slot) | Critter
GetTalkedPlayers(Critter @[]@+players) | Critter
GetTimeEvents(int identifier, uint[]@+indexes, uint[]@+durations, uint[]@+rates) | Critter
GetTimeEvents(int[]&findIdentifiers, int[]@+identifiers, uint[]@+indexes, uint[]@+durations, uint[]@+rates) | Critter
HexX | Critter
HexY | Critter
Id | Critter
IsAnim1(uint index) | Critter
IsBusy() | Critter
IsCanAim() | Critter
IsCanRotate() | Critter
IsCanRun() | Critter
IsCanWalk() | Critter
IsDead() | Critter
IsFree() | Critter
IsHolodiskInfo(uint holodiskNum) | Critter
IsKnockout() | Critter
IsKnownLoc(bool byId, uint locNum) | Critter
IsLife() | Critter
IsNoPlanes() | Critter
IsNotValid | Critter
IsNpc() | Critter
IsPlayer() | Critter
IsRuning | Critter
IsSee(Critter &cr) | Critter
IsSee(Item &item) | Critter
IsSeenBy(Critter &cr) | Critter
ItemsCount() | Critter
ItemsVolume() | Critter
ItemsWeight() | Critter
Knockout | Critter
Life | Critter
MoveItem(uint objId, uint count, uint8 toSlot) | Critter
MoveRandom() | Critter
MoveToDir(uint8 dir) | Critter
NpcRole | Critter
Param | Critter
ParamBase | Critter
PickItem(uint16 hexX, uint16 hexY, uint16 protoId) | Critter
PlaySound(string &soundName, bool sendSelf) | Critter
PlaySound(uint8 soundType, uint8 soundTypeExt, uint8 soundId, uint8 soundIdExt, bool sendSelf) | Critter
RefreshVisible() | Critter
RunClientScript(string &funcName, int p0, int p1, int p2, string @+p3, int[]@+p4) | Critter
Say(uint8 howSay, string @text) | Critter
SayMsg(uint8 howSay, uint16 textMsg, uint strNum) | Critter
SayMsg(uint8 howSay, uint16 textMsg, uint strNum, string &lexems) | Critter
SendCombatResult(uint[]&combatResult) | Critter
SendMessage(int num, int val, int to) | Critter
SendQuestVar(GameVar &var) | Critter
SetAnims(int cond, uint anim1, uint anim2) | Critter
SetBagRefreshTime(uint realMinutes) | Critter
SetDir(uint8 dir) | Critter
SetEvent(int eventType, string &funcName) | Critter
SetFavoriteItem(int slot, uint16 pid) | Critter
SetFog(uint16 zoneX, uint16 zoneY, int fog) | Critter
SetHomePos(uint16 hexX, uint16 hexY, uint8 dir) | Critter
SetInternalBag(uint16[]&pids, uint[]@+minCounts, uint[]@+maxCounts, int[]@+slots) | Critter
SetKnownLoc(bool byId, uint locNum) | Critter
SetLexems(string @+lexems) | Critter
SetMultihex(int value) | Critter
SetScript(string @+script) | Critter
SetSendParam(uint index, bool enabled) | Critter
ShowContainer(Critter @+contCr, Item @+contItem, uint8 transferType) | Critter
ShowCritterDist1 | Critter
ShowCritterDist2 | Critter
ShowCritterDist3 | Critter
ShowScreen(int screenType, uint param, string &funcName) | Critter
ToDead(uint anim2, Critter @+killer) | Critter
ToKnockout(uint anim2begin, uint anim2idle, uint anim2end, uint lostAp, uint16 knockHx, uint16 knockHy) | Critter
ToLife() | Critter
TransitToGlobal(bool requestGroup) | Critter
TransitToGlobal(Critter @[]&group) | Critter
TransitToGlobalGroup(uint critterId) | Critter
TransitToHex(uint16 hexX, uint16 hexY, uint8 dir) | Critter
TransitToMap(uint mapId, uint16 hexX, uint16 hexY, uint8 dir, bool withGroup) | Critter
TransitToMap(uint mapId, uint16 hexX, uint16 hexY, uint8 dir) | Critter
TransitToMap(uint mapId, uint8 entireNum) | Critter
UnsetKnownLoc(bool byId, uint locNum) | Critter
Wait(uint ms) | Critter
WorldX | Critter
WorldY | Critter
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Cписок членов класса

  • Алфавитный указатель классов
  • Члены классов
CritterCl Cписок членов класса

Полный список членов класса CritterCl, включая наследуемые из базового класса

Anim3dLayer | CritterCl
Animate(uint anim1, uint anim2) | CritterCl
Animate(uint anim1, uint anim2, ItemCl @+item) | CritterCl
CheckKey(uint doorId) | CritterCl
ClearAnim() | CritterCl
ContourColor | CritterCl
CountItem(uint16 protoId) | CritterCl
CrType | CritterCl
CrTypeAlias | CritterCl
Dead | CritterCl
Dir | CritterCl
FlagsExt | CritterCl
GetAnim1() | CritterCl
GetItem(uint16 protoId, int slot) | CritterCl
GetItems(int slot, ItemCl @[]@+items) | CritterCl
GetItemsByType(int type, Item @[]@+items) | CritterCl
GetMultihex() | CritterCl
GetSlotProto(int slot, uint8 &mode) | CritterCl
GetSlotProto(int slot) | CritterCl
GetTurnBasedTime() | CritterCl
GetVisible() | CritterCl
HexX | CritterCl
HexY | CritterCl
Id | CritterCl
IsAnimAviable(uint anim1, uint anim2) | CritterCl
IsAnimPlaying() | CritterCl
IsBusy() | CritterCl
IsChosen() | CritterCl
IsDead() | CritterCl
IsFree() | CritterCl
IsKnockout() | CritterCl
IsLife() | CritterCl
IsNpc() | CritterCl
IsPlayer() | CritterCl
IsTurnBasedTurn() | CritterCl
ItemsCount() | CritterCl
ItemsVolume() | CritterCl
ItemsWeight() | CritterCl
Knockout | CritterCl
Life | CritterCl
NameColor | CritterCl
NameOnHead | CritterCl
Param | CritterCl
Pid | CritterCl
SetVisible(bool visible) | CritterCl
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Cписок членов класса

  • Алфавитный указатель классов
  • Члены классов
GameVar Cписок членов класса

Полный список членов класса GameVar, включая наследуемые из базового класса

GetMax() | GameVar
GetMin() | GameVar
GetQuestStr() | GameVar
GetValue() | GameVar
IsQuest() | GameVar
opAdd(const GameVar &) | GameVar
opAdd(const int) | GameVar
opAddAssign(const GameVar &) | GameVar
opAddAssign(const int) | GameVar
opAssign(const GameVar &) | GameVar
opAssign(const int) | GameVar
opCmp(const GameVar &) | GameVar
opCmp(const int) | GameVar
opDiv(const GameVar &) | GameVar
opDiv(const int) | GameVar
opDivAssign(const GameVar &) | GameVar
opDivAssign(const int) | GameVar
opEquals(const GameVar &) | GameVar
opEquals(const int) | GameVar
opMul(const GameVar &) | GameVar
opMul(const int) | GameVar
opMulAssign(const GameVar &) | GameVar
opMulAssign(const int) | GameVar
opSub(const GameVar &) | GameVar
opSub(const int) | GameVar
opSubAssign(const GameVar &) | GameVar
opSubAssign(const int) | GameVar
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Cписок членов класса

  • Алфавитный указатель классов
  • Члены классов
Item Cписок членов класса

Полный список членов класса Item, включая наследуемые из базового класса

Accessory | Item
AddItem(uint16 protoId, uint count, uint specialId) | Item
Animate(uint8 fromFrame, uint8 toFrame) | Item
AnimHideBegin | Item
AnimHideEnd | Item
AnimShowBegin | Item
AnimShowEnd | Item
AnimStayBegin | Item
AnimStayEnd | Item
AnimWaitBase | Item
BrokenCount | Item
BrokenFlags | Item
ChangeProto(uint16 protoId) | Item
ContainerId | Item
Cost | Item
CritId | Item
CritSlot | Item
Deterioration | Item
EventAttack(Critter &attacker, Critter &target) | Item
EventDrop(Critter &cr) | Item
EventFinish(bool toDelete) | Item
EventMove(Critter &cr, uint8 fromSlot) | Item
EventSkill(Critter &cr, int skill) | Item
EventUse(Critter &cr, Critter @onCritter, Item @onItem, Scenery @onScenery) | Item
EventUseOnMe(Critter &cr, Item @usedItem) | Item
EventWalk(Critter &cr, bool entered, uint8 dir) | Item
Flags | Item
GetChild(uint childIndex) | Item
GetCost() | Item
GetCount() | Item
GetItem(uint16 protoId, uint specialId) | Item
GetItems(uint specialId, Item @[]@+items) | Item
GetMapPosition(uint16 &hexX, uint16 &hexY) | Item
GetProtoId() | Item
GetScriptId() | Item
GetType() | Item
HexX | Item
HexY | Item
Id | Item
Info | Item
IsDeteriorable() | Item
IsNotValid | Item
IsStackable() | Item
LightColor | Item
LightFlags | Item
LightIntensity | Item
LightRadius | Item
LockerComplexity | Item
LockerCondition | Item
LockerId | Item
MapId | Item
Mode | Item
PicInv | Item
PicMap | Item
Proto | Item
RadioFlags | Item
SetCount(uint count) | Item
SetEvent(int eventType, string &funcName) | Item
SetLexems(string @+lexems) | Item
SetScript(string @+script) | Item
SortValue | Item
SpecialId | Item
StackId | Item
Update() | Item
Val1 | Item
Val2 | Item
Val3 | Item
Val4 | Item
Val5 | Item
Weapon_AmmoCount | Item
Weapon_AmmoPid | Item
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Cписок членов класса

  • Алфавитный указатель классов
  • Члены классов
ItemCl Cписок членов класса

Полный список членов класса ItemCl, включая наследуемые из базового класса

Accessory | ItemCl
Animate(uint8 fromFrame, uint8 toFrame) | ItemCl
AnimHideBegin | ItemCl
AnimHideEnd | ItemCl
AnimShowBegin | ItemCl
AnimShowEnd | ItemCl
AnimStayBegin | ItemCl
AnimStayEnd | ItemCl
AnimWaitBase | ItemCl
BrokenCount | ItemCl
BrokenFlags | ItemCl
BrokenWear | ItemCl
CarGetBag(int numBag) | ItemCl
ContainerId | ItemCl
CritId | ItemCl
CritSlot | ItemCl
Data | ItemCl
Flags | ItemCl
GetCount() | ItemCl
GetMapPosition(uint16 &hexX, uint16 &hexY) | ItemCl
GetProtoId() | ItemCl
GetScriptId() | ItemCl
GetType() | ItemCl
HexX | ItemCl
HexY | ItemCl
Id | ItemCl
Info | ItemCl
IsCar() | ItemCl
IsGrouped() | ItemCl
IsWeared() | ItemCl
Lexems | ItemCl
LockerComplexity | ItemCl
LockerCondition | ItemCl
LockerId | ItemCl
m2_Val1 | ItemCl
m2_Val2 | ItemCl
m2_Val3 | ItemCl
m2_Val4 | ItemCl
MapId | ItemCl
Mode | ItemCl
PicInv | ItemCl
PicMap | ItemCl
Proto | ItemCl
RadioFlags | ItemCl
SortValue | ItemCl
SpecialId | ItemCl
Weapon_AmmoCount | ItemCl
Weapon_AmmoPid | ItemCl
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Cписок членов класса

  • Алфавитный указатель классов
  • Члены классов
Location Cписок членов класса

Полный список членов класса Location, включая наследуемые из базового класса

AutoGarbage | Location
Color | Location
GeckCount | Location
GeckEnabled | Location
GetMap(uint16 mapPid) | Location
GetMapByIndex(uint index) | Location
GetMapCount() | Location
GetMaps(Map @[]@+maps) | Location
GetProtoId() | Location
Id | Location
IsNotValid | Location
Radius | Location
Reload() | Location
Save(bool withMaps) | Location
Update() | Location
Visible | Location
WorldX | Location
WorldY | Location
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Cписок членов класса

  • Алфавитный указатель классов
  • Члены классов
Map Cписок членов класса

Полный список членов класса Map, включая наследуемые из базового класса

AddItem(uint16 hexX, uint16 hexY, uint16 protoId, uint count) | Map
AddNpc(uint16 protoId, uint16 hexX, uint16 hexY, uint8 dir) | Map
BeginTurnBased(Critter @+firstTurnCrit) | Map
CheckPlaceForItem(uint16 hexX, uint16 hexY, uint16 protoCar) | Map
CloseDoor(Item &door) | Map
CountEntire(uint8 entire) | Map
EndTurnBased() | Map
EventCritterDead(Critter &cr, Critter @killer) | Map
EventFinish(bool deleted) | Map
EventInCritter(Critter &cr) | Map
EventLoop0() | Map
EventLoop1() | Map
EventLoop2() | Map
EventLoop3() | Map
EventLoop4() | Map
EventOutCritter(Critter &cr) | Map
EventTurnBasedBegin() | Map
EventTurnBasedEnd() | Map
EventTurnBasedProcess(Critter &cr, bool beginTurn) | Map
GetCar(uint16 hexX, uint16 hexY) | Map
GetCritter(uint16 hexX, uint16 hexY) | Map
GetCritter(uint critterId) | Map
GetCritters(uint16 pid, int findType, Critter @[]@+critters) | Map
GetCrittersHex(uint16 hexX, uint16 hexY, uint radius, int findType, Critter @[]@+critters) | Map
GetCrittersPath(uint16 fromHx, uint16 fromHy, uint16 toHx, uint16 toHy, float angle, uint dist, int findType, Critter @[]@+critters) | Map
GetCrittersPath(uint16 fromHx, uint16 fromHy, uint16 toHx, uint16 toHy, float angle, uint dist, int findType, Critter @[]@+critters, uint16 &preBlockHx, uint16 &preBlockHy, uint16 &blockHx, uint16 &blockHy) | Map
GetCrittersSeeing(Critter @[]&critters, bool lookOnThem, int findType, Critter @[]@+crittersResult) | Map
GetCrittersWhoViewPath(uint16 fromHx, uint16 fromHy, uint16 toHx, uint16 toHy, int findType, Critter @[]@+critters) | Map
GetData(uint index) | Map
GetDoor(uint16 hexX, uint16 hexY) | Map
GetEntireCoords(uint8 entire, uint8 num, uint16 &hexX, uint16 &hexY) | Map
GetEntireCoords(int entire, uint skip, uint16 &hexX, uint16 &hexY, uint8 &dir) | Map
GetHeight() | Map
GetHexCoord(uint16 fromHx, uint16 fromHy, uint16 &toHx, uint16 &toHy, float angle, uint dist) | Map
GetHexCoordWall(uint16 fromHx, uint16 fromHy, uint16 &toHx, uint16 &toHy, float angle, uint dist) | Map
GetItem(uint itemId) | Map
GetItem(uint16 hexX, uint16 hexY, uint16 protoId) | Map
GetItems(uint16 hexX, uint16 hexY, Item @[]@+items) | Map
GetItems(uint16 protoId, Item @[]@+items) | Map
GetItemsByType(int type, Item @[]@+items) | Map
GetLocation() | Map
GetNearEntireCoords(int &entire, uint16 &hexX, uint16 &hexY) | Map
GetNearEntireCoords(int &entire, uint16 &hexX, uint16 &hexY, uint8 &dir) | Map
GetNpc(int npcRole, int findType, uint skipCount) | Map
GetNpcCount(int npcRole, int findType) | Map
GetPathLength(uint16 fromHx, uint16 fromHy, uint16 toHx, uint16 toHy, uint cut) | Map
GetPathLength(Critter &cr, uint16 toHx, uint16 toHy, uint cut) | Map
GetProtoId() | Map
GetRain() | Map
GetSceneries(uint16 hexX, uint16 hexY, Scenery @[]@+sceneries) | Map
GetSceneries(uint16 protoId, Scenery @[]@+sceneries) | Map
GetScenery(uint16 hexX, uint16 hexY, uint16 protoId) | Map
GetScriptId() | Map
GetTime() | Map
GetWidth() | Map
Id | Map
IsHexPassed(uint16 hexX, uint16 hexY) | Map
IsHexRaked(uint16 hexX, uint16 hexY) | Map
IsNotValid | Map
IsTurnBased() | Map
IsTurnBasedAvailability() | Map
MoveHexByDir(uint16 &hexX, uint16 &hexY, uint8 dir, uint steps) | Map
OpenDoor(Item &door) | Map
PlaySound(string &soundName) | Map
PlaySound(string &soundName, uint16 hexX, uint16 hexY, uint radius) | Map
Reload() | Map
RunEffect(uint16 protoId, uint16 hexX, uint16 hexY, uint effectRadius) | Map
RunFlyEffect(uint16 protoId, Critter @+fromCr, Critter @+toCr, uint16 fromX, uint16 fromY, uint16 toX, uint16 toY) | Map
SetData(uint index, int value) | Map
SetEvent(int eventType, string &funcName) | Map
SetLoopTime(uint8 loop, uint16 ms) | Map
SetRain(uint8 capacity) | Map
SetScript(string @+script) | Map
SetText(uint16 hexX, uint16 hexY, uint color, string text) | Map
SetTextMsg(uint16 hexX, uint16 hexY, uint color, uint16 textMsg, uint strNum) | Map
SetTextMsg(uint16 hexX, uint16 hexY, uint color, uint16 textMsg, uint strNum, string &lexems) | Map
SetTime(int time) | Map
SetTurnBasedAvailability(bool value) | Map
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Cписок членов класса

  • Алфавитный указатель классов
  • Члены классов
NpcPlane Cписок членов класса

Полный список членов класса NpcPlane, включая наследуемые из базового класса

Attack_GagHexX | NpcPlane
Attack_GagHexY | NpcPlane
Attack_IsGag | NpcPlane
Attack_LastHexX | NpcPlane
Attack_LastHexY | NpcPlane
Attack_MinHp | NpcPlane
Attack_TargId | NpcPlane
Child | NpcPlane
GetCopy() | NpcPlane
Identifier | NpcPlane
IdentifierExt | NpcPlane
Misc_ScriptId | NpcPlane
Misc_SetScript(string &funcName) | NpcPlane
Misc_WaitSecond | NpcPlane
Pick_HexX | NpcPlane
Pick_HexY | NpcPlane
Pick_Pid | NpcPlane
Pick_ToOpen | NpcPlane
Pick_UseItemId | NpcPlane
Priority | NpcPlane
Run | NpcPlane
SetChild(NpcPlane &child) | NpcPlane
Type | NpcPlane
Walk_Cut | NpcPlane
Walk_Dir | NpcPlane
Walk_HexX | NpcPlane
Walk_HexY | NpcPlane
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Cписок членов класса

  • Алфавитный указатель классов
  • Члены классов
ProtoItem Cписок членов класса

Полный список членов класса ProtoItem, включая наследуемые из базового класса

Ammo_AcMod | ProtoItem
Ammo_Caliber | ProtoItem
Ammo_DmgDiv | ProtoItem
Ammo_DmgMult | ProtoItem
Ammo_DrMod | ProtoItem
AnimHide_0 | ProtoItem
AnimHide_1 | ProtoItem
AnimShow_0 | ProtoItem
AnimShow_1 | ProtoItem
AnimStay_0 | ProtoItem
AnimStay_1 | ProtoItem
AnimWaitBase | ProtoItem
AnimWaitRndMax | ProtoItem
AnimWaitRndMin | ProtoItem
Armor_CrTypeFemale | ProtoItem
Armor_CrTypeMale | ProtoItem
BlockLines | ProtoItem
Car_CrittersCapacity | ProtoItem
Car_DeteriorationRate | ProtoItem
Car_Entrance | ProtoItem
Car_FuelConsumption | ProtoItem
Car_MaxDeterioration | ProtoItem
Car_MovementType | ProtoItem
Car_Passability | ProtoItem
Car_Speed | ProtoItem
Car_TankVolume | ProtoItem
ChildLines_0 | ProtoItem
ChildLines_1 | ProtoItem
ChildLines_2 | ProtoItem
ChildLines_3 | ProtoItem
ChildLines_4 | ProtoItem
ChildPid_0 | ProtoItem
ChildPid_1 | ProtoItem
ChildPid_2 | ProtoItem
ChildPid_3 | ProtoItem
ChildPid_4 | ProtoItem
Container_CannotPickUp | ProtoItem
Container_Changeble | ProtoItem
Container_MagicHandsGrnd | ProtoItem
Container_Volume | ProtoItem
Corner | ProtoItem
Cost | ProtoItem
Deteriorable | ProtoItem
Dir | ProtoItem
DisableEgg | ProtoItem
Door_NoBlockLight | ProtoItem
Door_NoBlockMove | ProtoItem
Door_NoBlockShoot | ProtoItem
DrawOrderOffsetHexY | ProtoItem
Flags | ProtoItem
GetScriptName() | ProtoItem
Grid_Type | ProtoItem
GroundLevel | ProtoItem
HolodiskNum | ProtoItem
IndicatorMax | ProtoItem
IndicatorStart | ProtoItem
LightColor | ProtoItem
LightDistance | ProtoItem
LightFlags | ProtoItem
LightIntensity | ProtoItem
Locker_Condition | ProtoItem
Material | ProtoItem
OffsetX | ProtoItem
OffsetY | ProtoItem
PicInv | ProtoItem
PicMap | ProtoItem
ProtoId | ProtoItem
RadioBroadcastRecv | ProtoItem
RadioBroadcastSend | ProtoItem
RadioChannel | ProtoItem
RadioFlags | ProtoItem
Slot | ProtoItem
Sound | ProtoItem
SoundId | ProtoItem
Stackable | ProtoItem
StartCount | ProtoItem
StartValue_0 | ProtoItem
StartValue_1 | ProtoItem
StartValue_9 | ProtoItem
Type | ProtoItem
Volume | ProtoItem
Weapon_ActiveUses | ProtoItem
Weapon_Aim_F | ProtoItem
Weapon_Aim_S | ProtoItem
Weapon_Aim_T | ProtoItem
Weapon_Anim1 | ProtoItem
Weapon_Anim2_F | ProtoItem
Weapon_Anim2_S | ProtoItem
Weapon_Anim2_T | ProtoItem
Weapon_ApCost_0 | ProtoItem
Weapon_ApCost_1 | ProtoItem
Weapon_ApCost_2 | ProtoItem
Weapon_Caliber | ProtoItem
Weapon_CriticalFailture | ProtoItem
Weapon_DefaultAmmoPid | ProtoItem
Weapon_DmgMax_F | ProtoItem
Weapon_DmgMax_S | ProtoItem
Weapon_DmgMax_T | ProtoItem
Weapon_DmgMin_F | ProtoItem
Weapon_DmgMin_S | ProtoItem
Weapon_DmgMin_T | ProtoItem
Weapon_DmgType_F | ProtoItem
Weapon_DmgType_S | ProtoItem
Weapon_DmgType_T | ProtoItem
Weapon_IsUnarmed | ProtoItem
Weapon_MaxAmmoCount | ProtoItem
Weapon_MaxDist_0 | ProtoItem
Weapon_MaxDist_1 | ProtoItem
Weapon_MaxDist_2 | ProtoItem
Weapon_MinStrength | ProtoItem
Weapon_Perk | ProtoItem
Weapon_PicUse_0 | ProtoItem
Weapon_PicUse_1 | ProtoItem
Weapon_PicUse_2 | ProtoItem
Weapon_Remove_F | ProtoItem
Weapon_Remove_S | ProtoItem
Weapon_Remove_T | ProtoItem
Weapon_Round_0 | ProtoItem
Weapon_Round_1 | ProtoItem
Weapon_Round_2 | ProtoItem
Weapon_SetUse(uint8 use) | ProtoItem
Weapon_Skill_0 | ProtoItem
Weapon_Skill_1 | ProtoItem
Weapon_Skill_2 | ProtoItem
Weapon_SoundId_0 | ProtoItem
Weapon_SoundId_1 | ProtoItem
Weapon_SoundId_2 | ProtoItem
Weapon_UnarmedMinAgility | ProtoItem
Weapon_UnarmedMinLevel | ProtoItem
Weapon_UnarmedMinUnarmed | ProtoItem
Weapon_UnarmedPriority | ProtoItem
Weapon_UnarmedTree | ProtoItem
Weapon_VolumeHolder | ProtoItem
Weight | ProtoItem
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Cписок членов класса

  • Алфавитный указатель классов
  • Члены классов
Scenery Cписок членов класса

Полный список членов класса Scenery, включая наследуемые из базового класса

CallSceneryFunction(Critter &cr, int skill, Item @item) | Scenery
HexX | Scenery
HexY | Scenery
ProtoId | Scenery
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Cписок членов класса

  • Алфавитный указатель классов
  • Члены классов
dictionary Cписок членов класса

Полный список членов класса dictionary, включая наследуемые из базового класса

delete(const string &in key) | dictionary | private
deleteAll() | dictionary | private
exists(const string &in key) const | dictionary | private
get(const string &in key,?&out value) const | dictionary | private
get(const string &in key, int64 &out value) const | dictionary | private
get(const string &in key, double &out value) const | dictionary | private
getSize() const | dictionary | private
isEmpty() const | dictionary | private
keys(string @[]@keys) const | dictionary | private
set(const string &in key,?&in value) | dictionary | private
set(const string &in key, int64 &in value) | dictionary | private
set(const string &in key, double &in value) | dictionary | private
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:04. Создано системой doxygen 1.8.3.1


FOnline: Cписок членов класса

  • Алфавитный указатель классов
  • Члены классов
file Cписок членов класса

Полный список членов класса file, включая наследуемые из базового класса

close() | file | private
getPos() const | file | private
getSize() const | file | private
isEndOfFile() const | file | private
movePos(int delta) | file | private
open(const string &in filename, const string &in mode) | file | private
readData(uint count, uint8[]&data) | file | private
readLine(string &out str) | file | private
readNumber() | file | private
readString(uint length, string &out str) | file | private
readUint16() | file | private
readUint32() | file | private
readUint64() | file | private
readUint8() | file | private
readWord() | file | private
setPos(int pos) | file | private
writeData(uint8[]&data, uint count) | file | private
writeString(const string &in string) | file | private
writeUint16(uint16 data) | file | private
writeUint32(uint32 data) | file | private
writeUint64(uint64 data) | file | private
writeUint8(uint8 data) | file | private
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Cписок членов класса

  • Алфавитный указатель классов
  • Члены классов
string Cписок членов класса

Полный список членов класса string, включая наследуемые из базового класса

length() const | string | private
opAdd(const string &in right) const | string | private
opAdd(double val) const | string | private
opAdd(float val) const | string | private
opAdd(int val) const | string | private
opAdd(uint val) const | string | private
opAdd_r(double val) const | string | private
opAdd_r(float val) const | string | private
opAdd_r(int val) const | string | private
opAdd_r(uint val) const | string | private
opAddAssign(const string &in other) | string | private
opAddAssign(double val) | string | private
opAddAssign(float val) | string | private
opAddAssign(int val) | string | private
opAddAssign(uint val) | string | private
opAssign(const string &in other) | string | private
opAssign(double val) | string | private
opAssign(float val) | string | private
opAssign(int val) | string | private
opAssign(uint val) | string | private
opCmp(const string &in right) const | string | private
opEquals(const string &in right) const | string | private
string() | string | private
string(const string &in other) | string | private
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Описания

Описания
Полный список дополнительных описаний.
[detail level 1234]
o Учебник | Подразделы:
| o Описание |
| o GUI сервера |
| o Термины |
| o Инструментарий |
| o Базовые команды серверу |
| o Скрипты |
| | o Стандарты оформления скриптов |
| | o Типы данных |
| | o Оформление специализированных функций |
| | o Препроцессор | Прежде чем подвергать компиляции исходный код скрипта, скрипт передается на обработку встроенному препроцессору
| | o Временные события |
| | o Временные события персонажей |
| | o События |
| | o Взаимодействие между персонажами |
| | \ Работа с диалогом |
| o Контент |
| | o Файлы конфигурации | Клиент, сервер и инструментарий, входящие в состав SDK, используют .cfg файлы для хранения своих настроек
| | | o FOnline.cfg | Настройки клиента
| | | o FOnlineServer.cfg | Настройки сервера
| | | o DataFiles.cfg | Архивы с ресурсами игры
| | | o DialogEditor.cfg | Настройки редактора диалогов
| | | o Mapper.cfg | Настройки редактора диалогов
| | | o MrFixit.cfg | Настройки редактора крафта
| | | \ ObjectEditor.cfg | Настройки редактора крафта
| | o Форматы файлов |
| | | o Dat-файлы | Файлы с расширением .dat являются обыкновенными архивами с особым форматом
| | | o Формат fo3d |
| | | \ Формат fofnt | Спецификация .fofont
| | o Кэш-файл клиента | В папке Data клиента существует файл dafault.cache, так же, в процессе соединения с сервером, появляются дополнительные файлы с именем в формате:
| | o Типы персонажей (CritterTypes.cfg) | Типы персонажей задаются в файле Data\CritterTypes.cfg, находящемся в папке сервера
| | o Locations.cfg | В данном файле находится список всех локаций в игре
| | o GenerateWorld.cfg | GenerateWorld.cfg - список локаций, создаваемых при генерации мира (происходит при первом запуске сервера)
| | o Сумки | Термин Сумка - другое название инвентаря NPC
| | o MSG файлы | Данные файлы содержат различную текстовую информацию, разделенную на различные категории
| | | o FOCOMBAT.MSG | FOCRAFT.MSG - файл, в который занесены все тексты, используемые в боевке, в том числе: описание частей тела разлизных типов существ; сообщения, появляющиеся при различных событиях в окне статуса; "боевые кличи" НПЦ и фразы, которые они произносят при ранениях
| | | o FOCRAFT.MSG | FOCRAFT.MSG - файл, в котором кодируется все необходимое для работы фикс-боя
| | | o FODLG.MSG | В файле FODLG.MSG содержится описание NPC по умолчанию, то есть тех, кому не присвоен свой уникальный диалог с описаниями
| | | o FOGAME.MSG | FOGAME.MSG - файл cодержит строки общего назначения, читайте комментарии в самом файле
| | | o FOGM.MSG | FOGM.MSG - файл, в котором содержатся описания для всего, что связано с картами, локациями и глобальной картой
| | | o FOHOLO.MSG | FOHOLO.MSG - файл cодержит тексты голодисков
| | | o FOINTERNAL.MSG | FOINTERNAL.MSG - используется для внутренних нужд движка
| | | o FOOBJ.MSG | Файл FOOBJ.MSG хранит описания всех предметов и объектов интерьера в игре
| | | \ FOQUEST.MSG | В данном файле содержится описание состояний квестовых переменных - аналог списка полученных квестов в оригинале
| | \ Прототипы |
| | o Прототипы персонажей | Прототипы персонажей хранятся в текстовом виде в файлах в директории Server/Proto/Critters/
| | \ Прототипы предметов | Прототипы предметов хранятся в текстовом виде в файлах в директории Server/Proto/Items/
| o Картография |
| | o Локальные карты | В данном документе описаны стандарты для локальных карт
| | o Специальные гексы | В маппере, в закладке "Fast", есть 16 объектов под названием "Специальные гексы"
| | o Locations.cfg | В данном файле находится список всех локаций в игре
| | o Глобальная карта | Глобальная карта состоит из изображения карты и маски рельефа
| | \ Случайные встречи | Механика случайных встреч находится в скрипте worldmap.fos, а описание самих встреч - в worldmap_init.fos (оба находятся в Server\scripts)
| o Диалогописание |
| | o Редактор диалогов | Общее описание возможностей и функций Редактор диалогов (DialogEditor) представляет собой программу для написания внутриигровых диалогов
| | \ Редактор переменных | Оформление переменных и их использование
| \ Пособия |
| o Написание диалога | Лучше всего начинать создание диалога с написания непосредственно фраз в Блокноте
| o Создание карт | Создаем первую карту
| o Создание локации | Создание локации
| o Изменение интерфейса | Простое изменение интерфейса
| \ Изменение интерфейса скриптами | Изменение интерфейса с помощью скриптов
\ Список задач |
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Cписок членов класса

  • Алфавитный указатель классов
  • Члены классов
MapperMap Cписок членов класса

Полный список членов класса MapperMap, включая наследуемые из базового класса

AddTile(uint16 hexX, uint16 hexY, int offsX, int offsY, int layer, bool roof, uint picHash) | MapperMap
DeleteTile(uint16 hexX, uint16 hexY, bool roof, uint index) | MapperMap
GetTile(uint16 hexX, uint16 hexY, bool roof, uint index) const | MapperMap
GetTilesCount(uint16 hexX, uint16 hexY, bool roof) const | MapperMap
Height | MapperMap
NoLogOut | MapperMap
ScriptFunc | MapperMap
ScriptModule | MapperMap
Time | MapperMap
Width | MapperMap
WorkHexX | MapperMap
WorkHexY | MapperMap
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1


FOnline: Cписок членов класса

  • Алфавитный указатель классов
  • Члены классов
MapperObject Cписок членов класса

Полный список членов класса MapperObject, включая наследуемые из базового класса

AnimStayBegin | MapperObject
AnimStayEnd | MapperObject
AnimWait | MapperObject
ContainerUID | MapperObject
Critter_Cond | MapperObject
Critter_CondExt | MapperObject
Critter_ParamIndex0 | MapperObject
Critter_ParamIndex1 | MapperObject
Critter_ParamIndex10 | MapperObject
Critter_ParamIndex11 | MapperObject
Critter_ParamIndex12 | MapperObject
Critter_ParamIndex13 | MapperObject
Critter_ParamIndex14 | MapperObject
Critter_ParamIndex2 | MapperObject
Critter_ParamIndex3 | MapperObject
Critter_ParamIndex4 | MapperObject
Critter_ParamIndex5 | MapperObject
Critter_ParamIndex6 | MapperObject
Critter_ParamIndex7 | MapperObject
Critter_ParamIndex8 | MapperObject
Critter_ParamIndex9 | MapperObject
Critter_ParamValue0 | MapperObject
Critter_ParamValue1 | MapperObject
Critter_ParamValue10 | MapperObject
Critter_ParamValue11 | MapperObject
Critter_ParamValue12 | MapperObject
Critter_ParamValue13 | MapperObject
Critter_ParamValue14 | MapperObject
Critter_ParamValue2 | MapperObject
Critter_ParamValue3 | MapperObject
Critter_ParamValue4 | MapperObject
Critter_ParamValue5 | MapperObject
Critter_ParamValue6 | MapperObject
Critter_ParamValue7 | MapperObject
Critter_ParamValue8 | MapperObject
Critter_ParamValue9 | MapperObject
Dir | MapperObject
FuncName | MapperObject
InfoOffset | MapperObject
Item_BrokenCount | MapperObject
Item_BrokenFlags | MapperObject
Item_Count | MapperObject
Item_Deterioration | MapperObject
Item_ItemSlot | MapperObject
Item_LockerComplexity | MapperObject
Item_LockerCondition | MapperObject
Item_LockerDoorId | MapperObject
Item_TrapValue | MapperObject
ITEM_TYPE_AMMOCount | MapperObject
ITEM_TYPE_AMMOPid | MapperObject
Item_Val0 | MapperObject
Item_Val1 | MapperObject
Item_Val2 | MapperObject
Item_Val3 | MapperObject
Item_Val4 | MapperObject
Item_Val5 | MapperObject
Item_Val6 | MapperObject
Item_Val7 | MapperObject
Item_Val8 | MapperObject
Item_Val9 | MapperObject
LightColor | MapperObject
LightDay | MapperObject
LightDirOff | MapperObject
LightIntensity | MapperObject
LightRadius | MapperObject
MapObjType | MapperObject
MapX | MapperObject
MapY | MapperObject
OffsetX | MapperObject
OffsetY | MapperObject
ParentChildIndex | MapperObject
ParentUID | MapperObject
PicInv | MapperObject
PicMap | MapperObject
ProtoId | MapperObject
Scenery_CanTalk | MapperObject
Scenery_CanUse | MapperObject
Scenery_Param0 | MapperObject
Scenery_Param1 | MapperObject
Scenery_Param2 | MapperObject
Scenery_Param3 | MapperObject
Scenery_Param4 | MapperObject
Scenery_ParamsCount | MapperObject
Scenery_SpriteCut | MapperObject
Scenery_ToDir | MapperObject
Scenery_ToEntire | MapperObject
Scenery_ToMapPid | MapperObject
Scenery_TriggerNum | MapperObject
ScriptName | MapperObject
UID | MapperObject
UserData0 | MapperObject
UserData1 | MapperObject
UserData2 | MapperObject
UserData3 | MapperObject
UserData4 | MapperObject
UserData5 | MapperObject
UserData6 | MapperObject
UserData7 | MapperObject
UserData8 | MapperObject
UserData9 | MapperObject
Документация по FOnline. Последние изменения: Вт 28 Май 2013 01:58:05. Создано системой doxygen 1.8.3.1