Skip to content

Функции FH

Глобальные функции гейммода. Используйте для модификации поведения раундов, аниматроников и подарков.

Управление аниматрониками

giveKiller(ply, killer, [force]) SERVER

Назначает игрока аниматроником.

ПараметрТипОписание
plyPlayerКому выдать
killerstringТехническое имя (например, "pill_wfreddy2")
forcebool (опц.)Если true — выдаст даже если такой же уже есть
lua
giveKiller(ply, "pill_wspringtrap2", true)

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

TaseAnimatronic(ply) SERVER

Если игрок — аниматроник, бьёт его током (как Шокер).

lua
TaseAnimatronic(ply)

restoreAnimatronics() SERVER

Снимает роль аниматроника со всех текущих аниматроников.


Подарки

doGiftSpawning() SERVER

Включает появление подарков на карте.

disableGiftSpawning() SERVER

Отключает появление подарков.


Информация о раунде

fh.GetRoundCount() SHARED

Возвращает номер текущего раунда (целое число).

fh.GetEarnedKillers(players) SERVER

Возвращает таблицу игроков, "заслуживших" быть аниматроником в этом раунде. Также запоминает их на несколько раундов.

Внимание

Если вы вызвали эту функцию — ОБЯЗАТЕЛЬНО выдайте этим игрокам аниматроника. Иначе они «застрянут» в запоминании, и в следующие раунды их не выберут.

lua
local candidates = fh.GetEarnedKillers(player.GetAll())
for _, ply in ipairs(candidates) do
    giveKiller(ply, "pill_wfreddy2")
end

fh.SetRoundType(number) SERVER

Устанавливает тип раунда. Режим вызывает это сам в начале раунда.

Аккуратно

Используйте только если точно знаете, что делаете.

fh.GetRoundType() SHARED

Возвращает текущий тип раунда.

ЗначениеТип раунда
0Обычный
1Со Спрингтрапом

fh.GetActiveUsedKiller(killer) SHARED

Возвращает true, если указанный аниматроник присутствует на карте сейчас.

lua
if fh.GetActiveUsedKiller("pill_wbonnie2") then
    print("Бонни уже в игре!")
end

Способности аниматроников

Где использовать

Эти функции предназначены для использования внутри пилл-паков аниматроников или своих хуков, расширяющих их.

jumpscareEvent(ply, ent, target, [dist]) SERVER

Замораживает игрока-жертву в скримере. Вызывайте после проигрывания анимации.

ПараметрТипОписание
plyPlayerАниматроник
entEntityМодель аниматроника (см. pk_pills.getMappedEnt(ply))
targetPlayerЖертва
distfloat (опц.)Дистанция между аниматроником и жертвой

HighlightPlayers(ply, ent) SERVER

Используется всеми аниматрониками (кроме Плюштрапа) на бинд +reload. Просвечивает игроков в радиусе halo_radius.

takePlayer(ply, ent) SERVER

Используется Эндоскелетом для захвата игрока. Автоматически ищет цель поблизости.

endoRelease(ply) SERVER

Заставляет аниматроника отпустить ранее схваченного игрока.


Поиск целей

FindNearestPlayer(origin, radius, ignorePlayer, fov) SERVER

Ищет ближайшего игрока в радиусе.

ПараметрТипОписание
originVectorТочка поиска
radiusnumberРадиус
ignorePlayerPlayerКого игнорировать
fovnumberЕсли указано вместе с ignorePlayer — поиск только в конусе обзора

Идеально подходит для выбора цели атаки.

fh_get_nearest_players(origin, radius, ignorePlayer) SERVER

Возвращает таблицу игроков в радиусе. Используется Клоуном при ударе молотом.

fh_get_nearest_props(origin, radius) SERVER

Возвращает таблицу пропов в радиусе.


Управление списками аниматроников

killers.getAllSolos() SHARED

Аниматроники без вторичности. ⚠ Не проверяет играбельность.

killers.getAllPreferables(secondaries) SHARED

Все играбельные аниматроники. Если secondaries = true — включает и вторичных.

killers.getAllNonPreferables() SHARED

Все неиграбельные аниматроники.

killers.getAllSecondaries() SHARED

Все вторичные аниматроники.

killers.getAll() SHARED

Все зарегистрированные аниматроники.

pill_makePreferable(anim, bool) SHARED

Делает аниматроника играбельным или убирает из списка играбельных.

lua
pill_makePreferable("pill_wfreddy2", true)

pill_makeSecondary(anim, bool) SHARED

Добавляет/убирает аниматроника из списка вторичных.

lua
pill_makeSecondary("pill_wbonnie2", true)