FOnline
Макросы
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
Converted from CHM to HTML with chm2web Pro 2.85 (unicode)