Ru:Events

Материал из Pocket Fallout для КПК на PDA PC PPC Mobile.

Содержание

Для чего нужны предопределенные процедуры и функции (события)

Для обеспечения корректного реагирования скрипта на те или иные события в игре, в движке Pocket F.A.L.L.O.U.T. предназначены Предопределенные процедуры и функции они же События. Данные процедуры/функции вызывает сама система, при возникновении определенной ситуации (например - случайное действие карты, воровство, драки и т.п.). Каждый скрипт (см. Типы скриптовых файлов ) имеет ряд таких специфических предопределенных процедур/функций. Они могут и не существовать, в случае отсутствия того или иного события, система попытается вызвать внутренний обработчик.
Список предопределенных процедур/функций (далее - событий) для каждого вида файлов модулей.

Общие события

Данные события могут существовать в любом модуле.

  1. Процедура OnInitialization - ее грузит движок игры в самом начале работы модуля
  2. Процедура OnConclusion - ее грузит движок игры перед тем, как уничтожить модуль

События для модуля global.pfs

  1. Функция OnUnitActionWithObject - вызывается тогда, когда юнит выполняет действие над юнитом/объектом;
  2. Функция OnUnitActionWithItem - вызывается тогда, когда юнит выполняет действие с вещью из инвентаря
  3. Функция OnExchange - вызывается при обмене вещей
  4. Процедура OnAfterFade - вызывается после завершения "затемнения" экрана
  5. Процедура OnBeginGame - вызывается перед загрузкой основного игрового меню
  6. Функция OnUnitGetTurn - вызывается тогда, когда объект получил ход (только во время боя). Вызывается после отработки одноименного события из unit_events.pfs
  7. Процедура OnUnitDeath - вызывается при смерти юнита. Вызывается после отработки одноименного события из unit_events.pfs
  8. Функция OnGetDamage - вызывается при расчете силы повреждения при атаке. Вызывается после УСПЕШНОЙ отработки одноименного события из unit_events.pfs
  9. Функция isDamageCritical - вызывается при расчете вероятности критического повреждения при атаке. Вызывается после УСПЕШНОЙ отработки одноименного события из unit_events.pfs
  10. Процедура OnUnitSkipTurn - вызывается, когда юнит пропускает свой ход. Вызывается после УСПЕШНОЙ отработки одноименного события из unit_events.pfs
  11. Процедура OnUnitBeforeAttack - НЕ обязательное предопределенное событие. Вызывается перед началом атаки юнитом
  12. Процедура OnUnitAfterAttack - НЕ обзязательное предопределенное событие. Вызывается после окончания атаки юнитом
  13. Процедура OnUnitSetItem - НЕ обязательное предопределенное событие. Вызывается после помещения вещи в активную руку юнита
  14. Процедура OnWeaponReload - НЕ обязательное предопределенное событие. Вызывается когда юнит перезаряжает оружие

События для модуля wmap_events.pfs

  1. Функция OnWorldMapToLevelMap - вызывается перед тем, как герой переходит с карты мира на карту уровня
  2. Функция OnGetRandomLocation - вызывается перед тем, как герой попадет на случайную локацию на карте мира
  3. Процедура OnLevelMapToWorldMap - событие, которое возникает тогда, когда герой переходит на карту мира с любой карты уровня
  4. Процедура OnGetUnitPath - вызывается перед тем, как рассчитать путь перемещения юнита по имени <имя_юнита> к мнимому тайлу с координатами (ex, ey)
  5. Процедура OnTurnToTarget - вызывается системой тогда, когда необходимо рассчитать правильное направление лица юнита по отношению к объекту
  6. Функция isNearObject - вызывается при определении значения : находится ли рядом с объектом <имя_объекта> объект <имя_цели> с радиусом расстояния <радиус>

События для модулей отдельных игровых уровней

Ниже перечислены все события, которые присущи только определенным файлам модулей игровых уровней.

События для модуля map_build.pfs

  1. Процедура BuildMap - вызывается системой при строительстве карты уровня (должна существовать всегда !).
  2. Процедура OnCreateInventory - вызывается системой при создании инвентаря для юнитов текущей карты

События для модуля map_events.pfs

  1. Функция OnMapExit - определяет, какую карту грузить, при выходе с текущей карты
  2. Процедура OnRandomMapAction - вызывается для определения текущего случайного действия на карте (проиграть звук, передвинуть юнитов и т.п)
  3. Процедура OnBeginFight - вызывается, когда начинается драка спровоцированная юнитом
  4. Процедура OnEndFight - вызывается, когда завершается драка по инициативе юнита
  5. Процедура OnAfterMapBuild - вызывается, когда завершается строительство текущей локации
  6. Процедура OnAfterFade - Вызывается после завершения процесса затемнения/рассвета экрана

События для модуля unit_events.pfs

  1. Функция OnUnitActionWithObject - вызывается тогда, когда юнит выполняет действие над юнитом/объектом (перед вызовом одноименного события из global.pfs);
  2. Функция OnUnitSkill - вызывается тогда, когда юнит выполняет умение над объектом
  3. Функция OnPutItem - вызывается тогда, когда юнит ложит вещь к себе в инвентарь, взятую из инвентаря другого объекта
  4. Функция OnUnitLook - вызывается тогда, когда юнит смотрит на другой объект
  5. Функция OnHeroAnswer - вызывается тогда, когда пользователь выбирает вариант ответа в окне разговора
  6. Процедура OnUnitTalk - вызывается тогда, когда формируется окно разговора с героем
  7. Функция OnUnitGetTurn - вызывается тогда, когда объект получил ход (только во время боя)
  8. Процедура OnUnitDeath - вызывается при смерти юнита
  9. Функция OnGetDamage - вызывается при расчете силы повреждения при атаке
  10. Функция isDamageCritical - вызывается при расчете вероятности критического повреждения при атаке. Вызывается системой после события OnGetDamage
  11. Процедура OnUnitSkipTurn - вызывается, когда юнит с именем <имя_юнита> пропускает свой ход
  12. Процедура OnAfterMapBuild - вызывается, когда завершается строительство текущей локации
  13. Процедура OnUnitStay - вызывается, когда юнит завершил свое предыдущие действие и остановился
  14. Процедура OnUnitBeforeAttack - НЕ обязательное предопределенное событие. Вызывается перед началом атаки юнитом
  15. Процедура OnUnitAfterAttack - НЕ обзязательное предопределенное событие. Вызывается после окончания атаки юнитом
  16. Процедура OnUnitSetItem - НЕ обязательное предопределенное событие. Вызывается после помещения вещи в активную руку юнита
  17. Процедура OnWeaponReload - НЕ обязательное предопределенное событие. Вызывается когда юнит перезаряжает оружие
Личные инструменты