Link Search Menu Expand Document

Hooks

Скрипты крючки - это специально скрипты, которые запускаются в sfall в определенных точках игровой механике, чтобы позволить модам переопределять жестко запрограммированное поведение движка, более гибким способом, чем через обычную конфигурацию ini файлов sfall.

В дополнение к коду скрипта который он переопределяет, скрипт будет запускаться каждый раз при начале игры, а также при каждой загрузке сохранения игры, чтобы обеспечить настройку необхоимыъх параметров скрипта. Hook скрипты имеют доступ к набору аргументов, предоставленных sfall, но вам не обязательно использовать их все. Скрипты также возвращают одно или несколько значений в код игрового движка, но опять же это необязательно, вам нужно возвращать значение только в том случае, если вы хотите переопределить значение по умолчанию.

Смотрите типы крючков и функции крючков для детальной информации.

Hooks совметисость

Чтобы обеспечить совместимость с модами, избегайте использования скриптов hs_xxx.int. Вместо этого рекомендуется использовать обычный глобальный скрипт в сочетании с функциями register_hook_proc или register_hook.

Пример реализации кода скрипта-крючка для мода:

procedure tohit_hook_handler begin
   display_msg("Modifying hit_hook " + get_sfall_arg);
   set_hit_chance_max(100);
   set_sfall_return(100);
end

procedure start begin
   if game_loaded then begin
      register_hook_proc(HOOK_TOHIT, tohit_hook_handler);
   end
end

Table of contents