Callback функции
Материал из MODFAQ.RU — моддинг классического S.T.A.L.K.E.R., TES и Fallout
Callback функции | |
Автор | aka_sektor |
Дополнили | Overf1rst, Graff46, Charsi |
Тип статьи | справка |
Актуальность | ТЧ, ЧН, ЗП |
Callback[1] — это скриптовая функция, привязанная к движковому событию.
Событие регистрируется в скриптовом классе строчкой, к примеру, следующего вида:
self.object:set_callback(callback.inventory_info, self.info_callback, self)
Где:
inventory_info
— название движкового события.
info_callback
— название регистрируемой callback функции.
self
— какому скриптовому классу принадлежит (в данном случае: actor_binder
)
Callback функция пишется как actor_binder:info_callback
— это означает, что она является методом класса actor_binder
.
Событие | Описание | Платформа / Скрипт | Метод / Callback функция |
---|---|---|---|
inventory_info
|
Выдача инфопорции владельцу инвентаря | ТЧ/ЧН/ЗП: bind_stalker.script | actor_binder:info_callback(npc, info_id)
|
article_info
|
Получение статьи в Энциклопедию | ТЧ/ЧН: bind_stalker.script | actor_binder:article_callback(npc, group, name)
|
on_item_take
|
Взятие предмета (попадание в инвентарь) | ТЧ/ЧН/ЗП: bind_stalker.script | actor_binder:on_item_take (obj)
|
on_item_drop
|
Выкидывание предмета (исчезновение из инвентаря) | ТЧ/ЧН/ЗП: bind_stalker.script | actor_binder:on_item_drop (obj)
|
trade_sell_buy_item
|
Подтверждение торговли | ТЧ/ЧН/ЗП: bind_stalker.script | actor_binder:on_trade (item, sell_bye, money)
|
task_state
|
Выдача задания или изменение состояния заданий или подзаданий | ТЧ/ЧН/ЗП: bind_stalker.script | ТЧ: actor_binder:task_callback(_task, _objective, _state) ЧН/ЗП: actor_binder:task_callback(_task, _state)
|
level_border_enter
|
Вход на разрешенную территорию уровня | ТЧ/ЧН: bind_stalker.script | actor_binder:level_border_enter(npc, info_id)
|
level_border_exit
|
Выход за разрешенную границу уровня | ТЧ/ЧН: bind_stalker.script | actor_binder:level_border_exit(npc, info_id)
|
take_item_from_box
|
Взятие предмета из объекта с классом S_INVBOX | ТЧ/ЧН/ЗП: bind_stalker.script | actor_binder:take_item_from_box(box, item)
|
use_object
|
1. Съедание инвентарного предмета в инвентаре |
ТЧ/ЧН: ph_gate.script ЧН: mob_trader.script ЗП: bind_stalker.script bind_door_labx8.script |
ТЧ/ЧН: action_gate:use_callback(obj, who) ЧН: mob_trader:use_callback() ЗП: actor_binder:use_inventory_item(obj) door_binder_labx8:use_callback(obj)
|
helicopter_on_point
|
Достижение точки патрульного пути вертолётом | ТЧ/ЧН/ЗП: bind_heli.script | heli_binder:on_point( distance, position, path_idx )
|
helicopter_on_hit
|
Вертолет получает урон | ТЧ/ЧН/ЗП: bind_heli.script | heli_binder:on_hit( power, impulse, hit_type, enemy_id )
|
patrol_path_in_point
|
Достижение точки при ходьбе по путям | ТЧ/ЧН/ЗП: bind_monster.script move_mgr.script |
generic_object_binder:waypoint_callback(obj, action_type, index) move_mgr:waypoint_callback(obj, action_type, index)
|
hit
|
Получение урона | ТЧ/ЧН/ЗП: bind_monster.script ТЧ/ЧН: ph_gate.script |
ТЧ/ЧН/ЗП: generic_object_binder:hit_callback(obj, amount, local_direction, who, bone_index) ТЧ/ЧН: action_gate:hit_callback(obj, amount, local_direction, who, bone_index)
|
death
|
Смерть | ТЧ/ЧН/ЗП: bind_monster.script ЧН/ЗП: bind_crow.script |
ТЧ/ЧН/ЗП: generic_object_binder:death_callback(victim, who) ЧН/ЗП: crow_binder:death_callback(victim, who)
|
trader_global_anim_request
|
ТЧ/ЧН: mob_trader.script | mob_trader:on_global_anim_request()
| |
trader_head_anim_request
|
ТЧ/ЧН: mob_trader.script | mob_trader:on_head_anim_request()
| |
trader_sound_end
|
ТЧ/ЧН: mob_trader.script | mob_trader:on_sound_end()
| |
zone_enter
|
ТЧ/ЧН/ЗП: xr_zones.script | arena_zone_binder:on_enter(zone, obj)
| |
zone_exit
|
ТЧ/ЧН/ЗП: xr_zones.script | arena_zone_binder:on_exit(zone, obj)
| |
script_animation
|
Окончание анимации | ЧН: bind_agru_door.script bind_red_forest_bridge.script ЗП: bind_door_labx8 |
ЧН: agru_door_binder:animation_end_callback(is_end) bridge_binder:animation_end_callback( is_end ) ЗП: door_binder_labx8:animation_end_callback(is_end)
|
sound
|
Услышан звук | ЗП: bind_monster.script | generic_object_binder:hear_callback(self, who_id, sound_type, sound_position, sound_power)
|
Использование callback функций
- Выберите нужную вам функцию
- Откройте соответствующий ей скрипт
- Найдите в нём соответствующий метод
- Допишите в него нужный вам код
[+] Выдача инфопорции |
---|
[+] Вызов функции |
---|