🎣 Hooks

Хуки - это удобный инструмент, позволяющий напрямую вклиниваться в работу программы (в нашем случае игры), получая ее среду, тем самым позволяя напрямую взаимодействовать с ее окружением и экземпляром

Класс hooks(Вынесено отдельно, доступа по классу hooks больше нет, теперь доступ осуществляется напрямую) предоставляет удобный интерфейс для работы с библиотекой в контексте Lua. Он позволяет создавать, применять и удалять хуки на методы .NET с использованием Lua-скриптов.

Метод hook

Описание: Метод hook позволяет установить хуки (перехватчики) на методы .NET-типов. Первая перегрузка метода принимает полное имя типа и имя метода, а также делегаты для префикса и постфикса.

Параметры:

  • type_fullname (string): Полное имя типа, метод которого нужно перехватить.

  • method_name (string): Имя метода, который нужно перехватить.

  • prefix (Delegate?): Делегат, который будет выполняться перед вызовом целевого метода.

  • postfix (Delegate?): Делегат, который будет выполняться после вызова целевого метода.

Возвращаемое значение:

  • bool: Возвращает true, если хук был успешно установлен, иначе выбрасывает исключение.

Пример использования:

hook("namespace.type", "method", function(data)

end,
function(data)

end);

Общие замечания

  • Все перегрузки метода hook используются для установки хуков на методы .NET-типов.

  • Если хук не может быть установлен, выбрасывается исключение ArgumentException.

ВАЖНО! Любые хуки помечены флагом unsafe, и не могут быть использованы в безопасной среде (Устанавливается в меню)

Посмотреть примеры хуков можно здесь.

Last updated