![]()  | 
  
    FOnline
    
   | 
 
События для криттеров. Подробнее...
Общие | |
События, связанные с изменением состояния криттера. 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) | 
| Вызывается, когда криттер в области видимости уходит в нокаут.  Подробнее... | |
Планы | |
| 
 Срабатывают и для дочерних планов: 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) | 
| Вызывается в начале и конце хода какого-либо криттера в области видимости.  Подробнее... | |
События для криттеров.
| #define CRITTER_EVENT_IDLE (0) | 
Вызывается каждые 20 секунд простоя криттера.
Для изменения времени вызова события используйте метод Critter::Wait в обработчике.
| #define CRITTER_EVENT_FINISH (1) | 
Вызывается при удалении криттера из игры.
| deleted | @с true - функция вызвана перед полным удалением криттера, @с false - функция вызвана остановкой сервера. | 
| #define CRITTER_EVENT_DEAD (2) | 
Вызывается при смерти криттера перед глобальным обработчиком смертей critter_dead.
| killer | Если криттер был убит другим криттером, то аргумент содержит указатель на убившего криттера. | 
| #define CRITTER_EVENT_RESPAWN (3) | 
Вызывается при оживлении криттера после смерти (респауне).
| #define CRITTER_EVENT_KNOCKOUT (23) | 
Вызывается при уходе криттера в нокаут.
| faceUp | Показывает, упал ли криттер лицом вверх (true) или вниз (false).  | 
| lostAp | Количество очков действия, необходимых для поднятия с земли. | 
| knockDist | Количество гексов, на которое "отлетел" криттер. | 
| #define CRITTER_EVENT_ATTACK (15) | 
Вызывается при атаке криттером кого-либо.
| target | Атакуемый криттер. | 
true глобальный обработчик critter_attack не вызывается.| #define CRITTER_EVENT_ATTACKED (16) | 
Вызывается когда данного криттера атаковали.
| attacker | Атакующий криттер. | 
true глобальный обработчик critter_attacked не вызывается.| #define CRITTER_EVENT_STEALING (17) | 
Вызываетcя при попытке воровства у данного криттера.
| thief | Вор. | 
| success | Успешно ли произошло воровство, расчитанное в critter_stealing. | 
| item | Воруемый предмет. | 
| count | Количество воруемых предметов. | 
| #define CRITTER_EVENT_BARTER (36) | 
Вызывается когда с NPC начинается или заканчивается бартер.
| player | Игрок, начинающий или заканчивающий бартер. | 
| attach | Показывает, начинается (true) или заканчивается (false) бартер.  | 
| barterCount | Всего торгующих, включая новое присоединение/отсоединение. | 
true – бартер начинается; false – бартер не начинается. Актуально при attach == true.| #define CRITTER_EVENT_TALK (37) | 
Вызывается, когда с NPC начинают или заканчивают разговор.
| player | Игрок, начинающий или заканчивающий разговор. | 
| attach | Показывает, начинается (true) или заканчивается (false) разговор.  | 
| talkCount | Всего разговаривающих, включая новое присоединение/отсоединение. | 
true – диалог начинается; false – не начинается. Актуально при attach == true.| #define CRITTER_EVENT_USE_SKILL (21) | 
Вызывается при использовании навыка на что-либо.
| skill | Используемый скилл (см. Навыки и Special Skill Values). | 
| onCritter | Если предмет используется на криттере, то аргумент содержит указатель на этого криттера. | 
| onItem | Если предмет используется на другом предмете, то аргумент содержит указатель на этот (другой) предмет. | 
| onScenery | Если предмет используется на сценери, то аргумент содержит указатель на это сценери. | 
false вызывается глобальный обработчик critter_use_skill При true – выход.| #define CRITTER_EVENT_USE_SKILL_ON_ME (22) | 
Вызывается при использовании кем-то навыка на данном криттере.
| whoUse | Криттер использующий скилл | 
| skill | Используемый скилл (см. Навыки и Special Skill Values). | 
false вызывается глобальный обработчик critter_use_skill При true – выход. | #define CRITTER_EVENT_USE_ITEM (19) | 
Вызывается при использовании данными криттером какого-либо предмета.
| item | Используемый предмет. | 
| onCritter | Если предмет используется на криттере, то аргумент содержит указатель на этого криттера. | 
| onItem | Если предмет используется на другом предмете, то аргумент содержит указатель на этот (другой) предмет. | 
| onScenery | Если предмет используется на сценери, то аргумент содержит указатель на это сценери. | 
false вызывается глобальный обработчик critter_use_item. При true – выход.| #define CRITTER_EVENT_USE_ITEM_ON_ME (20) | 
Вызывается при использовании какого-либо предмета на данном криттере.
| whoUse | Криттер использовавший предмет. | 
| Item& | Используемый предмет. | 
false вызывается глобальный обработчик critter_use_item. При true – выход. | #define CRITTER_EVENT_SHOW_ITEM_ON_MAP (12) | 
Вызывается при появлении предмета в поле зрения.
| showItem | Появившийся предмет. | 
| added | true, если предмет появился при смене радиуса обзора криттера; false, если предмет появился в ином случае (например, если был выкинут другим криттером).  | 
| dropper | Если предмет был выкинут из инвентаря какого-либо криттера, то аргумент будет содержать указатель на этого криттера. В противном случае, null. | 
| #define CRITTER_EVENT_CHANGE_ITEM_ON_MAP (13) | 
Вызывается в том случае, если поменялся предмет в поле зрения.
Например, открылась или закрылась дверь (или контейнер).
| item | Изменившийся предмет. | 
| #define CRITTER_EVENT_HIDE_ITEM_ON_MAP (14) | 
Вызывается при исчезновении предмета из поля зрения.
| hidedItem | Исчезнувший предмет. | 
| removed | true, если предмет исчез при смене радиуса обзора криттера; false, если предмет исчез в рамках радиуса обзора (например, если был подобран другим криттером).  | 
| picker | Если предмет был подобран каким-либо криттером, то аргумент будет содержать указатель на этого криттера. В противном случае, null. | 
| #define CRITTER_EVENT_DROP_ITEM (21) | 
Вызывается при выкидывании криттером предмета из своего инвентаря.
| item | Выкидиваемый предмет. | 
| #define CRITTER_EVENT_MOVE_ITEM (24) | 
Вызывается при перемещении какого-либо предмета в инвентаре данного криттера.
| item | Перемещаемый предмет. | 
| fromSlot | Слот, в котором предмет находился до перемещения (см. Слоты инвентаря). | 
| #define CRITTER_EVENT_SHOW_CRITTER (4) | 
Вызывается при появлении нового криттера в поле зрения.
| showCr | Появившийся в поле зрения криттер. | 
| #define CRITTER_EVENT_SHOW_CRITTER_1 (5) | 
Вызывается при появлении нового криттера в поле зрения.
Радиус обнаружения регулируется с помощью поля Critter::ShowCritterDist1.
| showCr | Появившийся в поле зрения криттер. | 
| #define CRITTER_EVENT_SHOW_CRITTER_2 (6) | 
Вызывается при появлении нового криттера в поле зрения.
Радиус обнаружения регулируется с помощью поля Critter::ShowCritterDist2.
| showCr | Появившийся в поле зрения криттер. | 
| #define CRITTER_EVENT_SHOW_CRITTER_3 (7) | 
Вызывается при появлении нового криттера в поле зрения.
Радиус обнаружения регулируется с помощью поля Critter::ShowCritterDist3.
| showCr | Появившийся в поле зрения криттер. | 
| #define CRITTER_EVENT_HIDE_CRITTER (8) | 
Вызывается при пропаже криттера из поля зрения.
| hideCr | Исчезнувший из поля зрения криттера. | 
| #define CRITTER_EVENT_HIDE_CRITTER_1 (9) | 
Вызывается при пропаже криттера из поля зрения.
Радиус поля зрения определяется полем Critter::ShowCritterDist1.
| hideCr | Исчезнувший из поля зрения криттера. | 
| #define CRITTER_EVENT_HIDE_CRITTER_2 (10) | 
Вызывается при пропаже криттера из поля зрения.
Радиус поля зрения определяется полем Critter::ShowCritterDist2.
| hideCr | Исчезнувший из поля зрения криттера. | 
| #define CRITTER_EVENT_HIDE_CRITTER_3 (11) | 
Вызывается при пропаже криттера из поля зрения.
Радиус поля зрения определяется полем Critter::ShowCritterDist1.
| hideCr | Исчезнувший из поля зрения криттера. | 
| #define CRITTER_EVENT_MESSAGE (18) | 
Вызывается, когда приходит сообщение, отправленное с помощью метода Critter::SendMessage.
| fromCr | Криттер, отправивший сообщение. | 
| message | Номер сообщения. | 
| value | Переданное значение. | 
| #define CRITTER_EVENT_SMTH_DEAD (24) | 
Вызывается, когда криттер в области видимости умирает.
| fromCr | Умерший криттер. | 
| killer | Если криттер был убит другим криттером, то аргумент содержит указатель на убившего криттера. | 
| #define CRITTER_EVENT_SMTH_STEALING (25) | 
Вызывается, когда какой-либо криттер в области видимости подвергся краже.
| fromCr | Криттер, подвергшийся воровству. | 
| thief | Криттер, совершивший воровство. | 
| success | Успешно ли произошло воровство. | 
| item | Сворованный предмет. | 
| count | Количество сворованных предметов. | 
| #define CRITTER_EVENT_SMTH_ATTACK (26) | 
Вызывается, когда какой-либо криттер в области видимости атакует кого-либо.
| fromCr | Атаковавший криттер. | 
| target | Атакованный криттер. | 
| #define CRITTER_EVENT_SMTH_ATTACKED (27) | 
Вызывается, когда какой-либо криттер в области видимости атакован.
| fromCr | Атакованный криттер. | 
| attacker | Атаковаший криттер. | 
| #define CRITTER_EVENT_SMTH_USE_ITEM (28) | 
Вызывается, когда криттер в области видимости использует предмет на чем-либо.
| fromCr | Криттер использующий предмет. | 
| item | Используемый предмет. | 
| onCritter | Если предмет используется на криттере, то аргумент содержит указатель на этого криттера. | 
| onItem | Если предмет используется на другом предмете, то аргумент содержит указатель на этот (другой) предмет. | 
| onScenery | Если предмет используется на сценери, то аргумент содержит указатель на это сценери. | 
| #define CRITTER_EVENT_SMTH_USE_SKILL (29) | 
Вызывается, когда криттер в области видимости использует навык на чем-либо.
| fromCr | Криттер использующий навык. | 
| skill | Используемый скил. (см. Навыки и Special Skill Values). | 
| onCritter | Если предмет используется на криттере, то аргумент содержит указатель на этого криттера. | 
| onItem | Если предмет используется на другом предмете, то аргумент содержит указатель на этот (другой) предмет. | 
| onScenery | Если предмет используется на сценери, то аргумент содержит указатель на это сценери. | 
| #define CRITTER_EVENT_SMTH_DROP_ITEM (30) | 
Вызывается, когда криттер в области видимости выкидывает предмет.
| fromCr | Криттер выкинувший итем | 
| item | Выкидиваемый предмет. | 
| #define CRITTER_EVENT_SMTH_MOVE_ITEM (31) | 
Вызывается, когда криттер в области видимости меняет местоположение предмета.
| fromCr | Криттер поменявший у итема место | 
| item | Перемещаемый предмет. | 
| fromSlot | Слот, в котором предмет находился до перемещения (см. Слоты инвентаря). | 
| #define CRITTER_EVENT_SMTH_KNOCKOUT (32) | 
Вызывается, когда криттер в области видимости уходит в нокаут.
| fromCr | Ушедший в нокаут криттер. | 
| faceUp | Показывает, упал ли криттер лицом вверх (true) или вниз (false).  | 
| lostAp | Количество очков действия, необходимых для поднятия с земли. | 
| knockDist | Количество гексов, на которое "отлетел" криттер. | 
| #define CRITTER_EVENT_PLANE_BEGIN (33) | 
Вызывается перед добавлением плана (которого еще нет в списках у NPC).
| plane | План. | 
| childIndex | Номер плана в качестве наследника, если 0, значит план базовый. | 
| reason | Указывает причину начала плана (см. Plane begin reasons). | 
| someCr | В некоторых случаях хранит указатель на персонажа (см. Работа с планами ). | 
| someItem | В некоторых случаях хранит указатель на предмет (см. Работа с планами ). | 
| #define CRITTER_EVENT_PLANE_END (34) | 
Вызывается перед удалением плана (который ещё присутствует в списках планов).
| plane | План. | 
| childIndex | Номер плана в качестве наследника, если 0, значит план базовый. | 
| reason | Указывает причину завершения плана (см. Plane end reasons). | 
| someCr | В некоторых случаях хранит указатель на персонажа (см. Работа с планами ). | 
| someItem | В некоторых случаях хранит указатель на предмет (см. Работа с планами ). | 
| #define CRITTER_EVENT_PLANE_RUN (35) | 
Вызывается во время выполнения некоторых планов.
| plane | План, для которого вызвано событие. | 
| childIndex | Номер плана в цепочке наследников. | 
| reason | Причина, по которой было вызвано событие. От неё зависит интерпретация остальных аргументов. | 
На данный момент событие вызываются для обработки следующих действий:
| [in] | r0 | Идентификатор криттера-цели. | 
| [in] | r1,r2 | Не используются. | 
| [out] | r0 | Идентификатор выбранного для атаки предмета-оружия. | 
| [out] | r1 | Номер, обозначающий способ использования оружия (см. ProtoItem::Weapon_SetUse). | 
| [out] | r2 | Идентификатор тмпа рукопашной атаки (учитывается, если r0 == 0) (?). | 
| [in] | r0 | Идентификатор криттера-цели. | 
| [in] | r1 | NPC не может двигаться при r1 != 0.  | 
| [in] | r2 | Минимальное количество HP (из AI.TXT). | 
| [out] | r0 | Лучшая дистанция. | 
| [out] | r1 | Минимальная дистанция. | 
| [out] | r2 | Максимальная дистанция. Если r2 == 0, то это означает, что нужно убегать. | 
| [in] | r0 | Идентификатор криттера-цели.. | 
| [in] | r1 | Не используется. | 
| [in] | r2 | Не используется. | 
| [out] | r0 | Номер, обозначающий способ использования оружия (см. ProtoItem::Weapon_SetUse). | 
| [out] | r1 | Цель (см. Hit Locations). | 
| [out] | r2 | Время (в мс), на которое нужно сделать паузу при атаке. | 
| #define CRITTER_EVENT_GLOBAL_PROCESS (38) | 
Вызывается при событиях на глобальной карте.
Позволяет обрабатывать события от глобальной карты индивидуально для любого криттера.
| type | Тип события (см. Global Map Events); | 
| group | Указатели на криттеров в группе, если она сформирована; | 
| car | Указатель на машину, если она имеется; | 
| x | Текущая координата X группы на глобальной карте; | 
| y | Текущая координата Y группы на глобальной карте; | 
| toX | Координата X конечной точки движения; | 
| toY | Координата Y конечной точки движения; | 
| speed | Скорость движения в данной точке (зависит от маски глобальной карты); | 
| encounterDescriptor | Уникальный идентификатор энкаунтера; | 
| waitForAnswer | Ожидание ответа лидера группы. | 
true - глобальный обработчик global_process не запускается; false - запуск глобального обработчика.| #define CRITTER_EVENT_GLOBAL_INVITE (39) | 
Вызывается при переходе на карту на глобальной карте мира.
| 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 - запуск глобального обработчика.| #define CRITTER_EVENT_TURN_BASED_PROCESS (40) | 
| #define CRITTER_EVENT_SMTH_TURN_BASED_PROCESS (41) | 
Вызывается в начале и конце хода какого-либо криттера в области видимости.
| map | карта на которой зафиксировано событие; | 
| beginTurn | true - функция вызвана в начале хода, false - функция вызвана в конце хода.  |