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