FOnline
|
Используются только в скрипте 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) |
Вызывается перед каждым новым раундом в
пошаговом бое. Подробнее... |
|
Сервер |
|
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) |
Функция, устанавливающая стартовое время
сервера. Подробнее... |
|
Глобальная карта |
|
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) |
Вызывается, когда группа криттеров заходит
на энкаутер. Подробнее... |
|
Карты |
|
void | map_critter_in (Map &map, Critter &cr) |
Вызывается при заходе криттера на карту.
Подробнее... |
|
void | map_critter_out (Map &map, Critter &cr) |
Вызывается при выходе криттера с карты.
Подробнее... |
|
Криттеры |
|
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
вызывается сразу. Каким образом показать сообщение лидеру см. в
Примечаниях. |
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 | Начальное направление криттеров на карте. |
Вызывается при заходе криттера на карту.
map | Карта, на которую осуществляется вход. |
cr | Игрок, который входит. |
Вызывается при выходе криттера с карты.
map | Карта, с которой осуществляется выход. |
cr | Игрок, который выходит. |
void critter_init | ( | Critter & | cr, |
bool | registration | ||
) |
Вызывается при регистрации/логине игрока или создании/загрузке NPC.
cr | Игрок. |
registration | При логине равен false ; при регистрации (первом
входе) – true . |
void critter_idle | ( | Critter & | cr | ) |
Вызывается при простое криттера.
Периодичность вызова определяется глобальной переменной __CritterIdleTick.
cr | Криттер, для которого вызывается функция. |
void critter_finish | ( | Critter & | cr | ) |
Вызывается при выходе криттера из игры.
cr | Криттер, для которого вызывается функция. |
Вызывается при смерти любого криттера.
cr | Убитый или погибший криттер. |
killer | Указатель на криттера-убийцу. |
void critter_respawn | ( | Critter & | cr | ) |
Вызывается при респауне криттера.
cr | Криттер, для которого вызывается событие. |
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 | Используемая амуниция. |
Глобальный обработчик атаки, который вызывается каждый раз при атаке одного криттера другим.
cr | Атакуемый криттер. |
attacker | Атакующий криттер. |
Глобальный обработчик попытки воровства.
cr | Обворовываемый криттер. |
thief | Вор. |
item | Воруемый предмет. |
count | Количество воруемых предметов. |
bool critter_use_item | ( | Critter & | cr, |
Item & | item, | ||
Critter @ | targetCr, | ||
Item @ | targetItem, | ||
Scenery @ | targetScen, | ||
uint | param | ||
) |
Глобальный обработчик использования предметов.
cr | Криттер, который использует предмет. |
item | Используемый предмет. |
targetCr | Указатель на криттера, на котором используется предмет. |
targetItem | Указатель на предмет, на котором используется предмет. |
targetScen | Указатель на сценери, на котором используется предмет. |
param | (?). |
true
, если обработка полностью выполнена скриптом;
false
, если обработка должна быть выполнена
движком.bool critter_use_skill | ( | Critter & | cr, |
int | skill, | ||
Critter @ | targetCr, | ||
Item @ | targetItem, | ||
Scenery @ | targetScen | ||
) |
Глобальный обработчик использования скиллов.
cr | Криттер, использующий скилл. |
skill | Используемый скилл (см. Навыки и Special Skill Values). |
targetCr | Указатель на криттера, на котором используется скилл. |
targetItem | Указатель на предмет, на котором используется скилл. |
targetScen | Указатель на сценери, на котором используется скилл. |
true
, если обработка полностью выполнена скриптом;
false
, если обработка должна быть выполнена
движком.Глобальный обработчик, вызываемый при смене криттером предмета в активном слоте (в руках и при смене брони).
cr | Криттер, меняющий предмет. |
item | Предмет. |
fromSlot | Слот (см. Slots). |
Вызывается при перезарядке или разрядке оружия криттером.
cr | Криттер, который выполняет перезарядку. |
weapon | Оружие. |
ammo | Указатель на предмет, представляющий патроны. Если передан
null , то это значит, что криттер разряжает
оружие. |
Вызызывается при смене предмета в активном слоте (того, что в руках или смене брони) у криттера.
cr | Криттер, который меняет предмет. |
item | Предмет, который меняется. |
fromSlot | Слот, из которого берется предмет. |
Вызызывается перед каждым перемещением предмета у криттера.
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. |
Вызывается при смене кармы одним игроком другому.
crFrom | Игрок, меняющий карму. |
crTo | Игрок, которому меняется карма. |
valUp | Повышается ли карма (true ) или понижается
(false ). |
Обработчик, позволяющий проверять в скрипте видимость одного криттера другим.
Чтобы эта функция использовалась при расчётах видимости,
установите флаг LOOK_CHECK_SCRIPT
глобальной
переменной
__LookChecks.
cr | Криттер, относительно которого определяется видимость другого криттера. |
opponent | Криттер, видимость которого проверяется. |
true
, в случае, если один криттер видит другого;
false
– в противном случае.CRITTER_EVENT_SHOW_CRITTER_X
и
CRITTER_EVENT_HIDE_CRITTER_X
при этом не
вызываются.Обработчик, позволяющий проверять в скрипте видимость предмета криттером.
Чтобы эта функция использовалась при расчётах видимости,
установите флаг LOOK_CHECK_ITEM_SCRIPT
глобальной
переменной
__LookChecks.
map | Карта, на которой проверяется видимость. |
cr | Криттер, относительно которого определяется видимость предмета. |
item | Предмет, видимость которого проверяется. |
true
, в случае, если один криттер видит другого;
false
– в противном случае.Обработчик, позволяющий определять в скрипте цену предметов.
Чтобы эта функция использовалась при расчётах цен предметов,
необходимо установить глобальной переменной
__CustomItemCost значение true
.
item | Предмет, для которого определяется цена. |
cr | Игрок, участвующий в обмене. |
npc | NPC, участвующий в обмене. |
sell | Указывает, продается ли (true ) предмет игроком или
покупается (false ). |
Вызывается при крафте игроком новых предметов.
items | Созданные предметы. |
itemsCount | Количество созданных предметов (для определения количества группируемых предметов). |
resources | Предметы-ресурсы. |
crafter | Игрок, скрафтивший предметы. |
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 | ||
) |
Вызывается перед каждым новым раундом в пошаговом бое.
map | Карта боя. |
critters | Все игроки с карты. |
firstTurnCrit | Игрок, который ходит первым. Данный аргумент берется из Map::BeginTurnBased. |
Converted from CHM to HTML with chm2web Pro 2.85 (unicode) |