Skip to main content

Движок и ReHLDS

В отличие от «Геймплея» эти события не требуют ReGameDLL — работают и на ванильном mp.dll. Три из них (отмечены отдельно) требуют ReHLDS.

player:use

Игрок нажал +use на чём-то с обработчиком Use — кнопке, рычаге, multi_manager.

Поля события

Не отменяемое: к моменту события движковый DispatchUse уже отработал.

player:suicide

Игрок вот-вот покончит с собой командой kill из консоли.

Поля события

Отмена. e:cancel() — команда не срабатывает вообще, даже таймер повторного kill не сдвигается.

ents:should_collide

Движок решает, должны ли две сущности физически сталкиваться.

Поля события

Не через e:cancel() — здесь нет «отмены», это гейт с записываемым результатом: последний обработчик, тронувший e.collide, и решает. Молчание любого обработчика оставляет true — обычную физику. Единственная реализация этого хука в принципе: ReGameDLL сам его не предоставляет, так что тут нечего «оборачивать» — какой ответ дашь, такой и будет.

ents:free

Сущность вот-вот уничтожат — последняя точка, где её ещё можно прочитать.

Поля события

Не отменяемое: держать сущность после этого события всё равно нельзя, движок продолжит её разрушать сразу после.

player:cvar_value

Клиент ответил на запрос значения cvar — старый вариант API, без имени cvar и без id запроса.

Поля события

Плагин, который запрашивал значение, обязан сам помнить, о каком cvar шла речь — движок это не передаёт.

Смотри также

player:cvar_value2

То же самое, но новый вариант API: с именем cvar и id запроса, чтобы сверить ответ с тем, что спрашивали.

Поля события

Смотри также

server:cvar_change

Любой cvar вот-вот изменится — движковый, чужого плагина, свой.

Поля события

Отмена. e:cancel() — cvar остаётся со старым значением. Обработчик, который сам меняет cvar изнутри этого события, войдёт в него снова — не меняй здесь тот же cvar безусловно, иначе рекурсия не остановится.
Событие требует ReHLDS. На движке без него — тихо никогда не срабатывает, без ошибок и предупреждений.

server:precache_generic

Прекеширован generic-ресурс (не модель и не звук) — движком, игрой, другим плагином.

Поля события

Событие требует ReHLDS. На движке без него — тихо никогда не срабатывает, без ошибок и предупреждений.

client:bot_created

Подключился бот (fake client).

Поля события

Событие требует ReHLDS. На движке без него — тихо никогда не срабатывает, без ошибок и предупреждений.