Ru:Events
Материал из Pocket Fallout для КПК на PDA PC PPC Mobile.
Содержание |
Для чего нужны предопределенные процедуры и функции (события)
Для обеспечения корректного реагирования скрипта на те или иные события в игре, в движке Pocket F.A.L.L.O.U.T. предназначены Предопределенные процедуры и функции они же События. Данные процедуры/функции вызывает сама система, при возникновении определенной ситуации (например - случайное действие карты, воровство, драки и т.п.).
Каждый скрипт (см. Типы скриптовых файлов ) имеет ряд таких специфических предопределенных процедур/функций. Они могут и не существовать, в случае отсутствия того или иного события, система попытается вызвать внутренний обработчик.
Список предопределенных процедур/функций (далее - событий) для каждого вида файлов модулей.
Общие события
Данные события могут существовать в любом модуле.
- Процедура OnInitialization - ее грузит движок игры в самом начале работы модуля
- Процедура OnConclusion - ее грузит движок игры перед тем, как уничтожить модуль
События для модуля global.pfs
- Функция OnUnitActionWithObject - вызывается тогда, когда юнит выполняет действие над юнитом/объектом;
- Функция OnUnitActionWithItem - вызывается тогда, когда юнит выполняет действие с вещью из инвентаря
- Функция OnExchange - вызывается при обмене вещей
- Процедура OnAfterFade - вызывается после завершения "затемнения" экрана
- Процедура OnBeginGame - вызывается перед загрузкой основного игрового меню
- Функция OnUnitGetTurn - вызывается тогда, когда объект получил ход (только во время боя). Вызывается после отработки одноименного события из unit_events.pfs
- Процедура OnUnitDeath - вызывается при смерти юнита. Вызывается после отработки одноименного события из unit_events.pfs
- Функция OnGetDamage - вызывается при расчете силы повреждения при атаке. Вызывается после УСПЕШНОЙ отработки одноименного события из unit_events.pfs
- Функция isDamageCritical - вызывается при расчете вероятности критического повреждения при атаке. Вызывается после УСПЕШНОЙ отработки одноименного события из unit_events.pfs
- Процедура OnUnitSkipTurn - вызывается, когда юнит пропускает свой ход. Вызывается после УСПЕШНОЙ отработки одноименного события из unit_events.pfs
- Процедура OnUnitBeforeAttack - НЕ обязательное предопределенное событие. Вызывается перед началом атаки юнитом
- Процедура OnUnitAfterAttack - НЕ обзязательное предопределенное событие. Вызывается после окончания атаки юнитом
- Процедура OnUnitSetItem - НЕ обязательное предопределенное событие. Вызывается после помещения вещи в активную руку юнита
- Процедура OnWeaponReload - НЕ обязательное предопределенное событие. Вызывается когда юнит перезаряжает оружие
События для модуля wmap_events.pfs
- Функция OnWorldMapToLevelMap - вызывается перед тем, как герой переходит с карты мира на карту уровня
- Функция OnGetRandomLocation - вызывается перед тем, как герой попадет на случайную локацию на карте мира
- Процедура OnLevelMapToWorldMap - событие, которое возникает тогда, когда герой переходит на карту мира с любой карты уровня
- Процедура OnGetUnitPath - вызывается перед тем, как рассчитать путь перемещения юнита по имени <имя_юнита> к мнимому тайлу с координатами (ex, ey)
- Процедура OnTurnToTarget - вызывается системой тогда, когда необходимо рассчитать правильное направление лица юнита по отношению к объекту
- Функция isNearObject - вызывается при определении значения : находится ли рядом с объектом <имя_объекта> объект <имя_цели> с радиусом расстояния <радиус>
События для модулей отдельных игровых уровней
Ниже перечислены все события, которые присущи только определенным файлам модулей игровых уровней.
События для модуля map_build.pfs
- Процедура BuildMap - вызывается системой при строительстве карты уровня (должна существовать всегда !).
- Процедура OnCreateInventory - вызывается системой при создании инвентаря для юнитов текущей карты
События для модуля map_events.pfs
- Функция OnMapExit - определяет, какую карту грузить, при выходе с текущей карты
- Процедура OnRandomMapAction - вызывается для определения текущего случайного действия на карте (проиграть звук, передвинуть юнитов и т.п)
- Процедура OnBeginFight - вызывается, когда начинается драка спровоцированная юнитом
- Процедура OnEndFight - вызывается, когда завершается драка по инициативе юнита
- Процедура OnAfterMapBuild - вызывается, когда завершается строительство текущей локации
- Процедура OnAfterFade - Вызывается после завершения процесса затемнения/рассвета экрана
События для модуля unit_events.pfs
- Функция OnUnitActionWithObject - вызывается тогда, когда юнит выполняет действие над юнитом/объектом (перед вызовом одноименного события из global.pfs);
- Функция OnUnitSkill - вызывается тогда, когда юнит выполняет умение над объектом
- Функция OnPutItem - вызывается тогда, когда юнит ложит вещь к себе в инвентарь, взятую из инвентаря другого объекта
- Функция OnUnitLook - вызывается тогда, когда юнит смотрит на другой объект
- Функция OnHeroAnswer - вызывается тогда, когда пользователь выбирает вариант ответа в окне разговора
- Процедура OnUnitTalk - вызывается тогда, когда формируется окно разговора с героем
- Функция OnUnitGetTurn - вызывается тогда, когда объект получил ход (только во время боя)
- Процедура OnUnitDeath - вызывается при смерти юнита
- Функция OnGetDamage - вызывается при расчете силы повреждения при атаке
- Функция isDamageCritical - вызывается при расчете вероятности критического повреждения при атаке. Вызывается системой после события OnGetDamage
- Процедура OnUnitSkipTurn - вызывается, когда юнит с именем <имя_юнита> пропускает свой ход
- Процедура OnAfterMapBuild - вызывается, когда завершается строительство текущей локации
- Процедура OnUnitStay - вызывается, когда юнит завершил свое предыдущие действие и остановился
- Процедура OnUnitBeforeAttack - НЕ обязательное предопределенное событие. Вызывается перед началом атаки юнитом
- Процедура OnUnitAfterAttack - НЕ обзязательное предопределенное событие. Вызывается после окончания атаки юнитом
- Процедура OnUnitSetItem - НЕ обязательное предопределенное событие. Вызывается после помещения вещи в активную руку юнита
- Процедура OnWeaponReload - НЕ обязательное предопределенное событие. Вызывается когда юнит перезаряжает оружие