Skip to content

Просветы

С обновлением 3.0.0 просвет (подсветка игроков сквозь стены) выделен в отдельную библиотеку — highlight.

Основные функции

highlight.ByDistance(ply, ent) SERVER

Автоматически просвечивает игроку ply всех выживших в радиусе, заданном консольной командой halo_radius. По умолчанию используется аниматрониками на бинд +RELOAD.

ПараметрТипОписание
plyPlayerИгрок, который просвечивает
entEntityЭнтити-модель аниматроника ply (нужно для звуков)
lua
hook.Add("KeyPress", "MyHighlight", function(ply, key)
    if key == IN_RELOAD and ply:IsAnimatronic() then
        local ent = pk_pills.getMappedEnt(ply)
        highlight.ByDistance(ply, ent)
    end
end)

highlight.Add(ply, players, duration) SERVER

Просвечивает указанных игроков для ply на заданное время.

ПараметрТипОписание
plyPlayerКто видит просвет
playersPlayer или table[Player]Кого просвечивает
durationfloatДлительность в секундах

Учтите

Эта функция не включает звуки оповещения о просвете. Используйте highlight.NotifyTarget() для оповещения.

Кулдауны

highlight.Cooldown(ply, duration) SERVER

Устанавливает игроку кулдаун на просвет и обновляет значение в интерфейсе.

lua
highlight.Cooldown(ply, 15)  -- 15 секунд КД

INFO

Если у аниматроника изначально не было способности «Просвет» в интерфейсе, она там не появится.

highlight.GetCooldown(ply) SERVER

Возвращает количество секунд до следующего использования просвета.

lua
if highlight.GetCooldown(ply) > 0 then
    ply:ChatPrint("Просвет ещё не готов!")
end

Звуки просвета

highlight.AddVisionSounds(name, snd_affected, snd_unaffected) SHARED

Регистрирует звуки просвета для конкретного аниматроника.

lua
highlight.AddVisionSounds(
    "pill_wgfreddy2",
    "sounds/my_anim/highlight_success.wav",
    "sounds/my_anim/highlight_fail.wav"
)

TIP

В путях звуков обязательно указывайте полное имя файла, включая расширение.

highlight.GetVisionSound(ent) SHARED

Возвращает таблицу со звуками: { affected = "...", unaffected = "..." }.

highlight.NotifyTarget(target, ent, isAffected) SERVER

Включает звук просвета и накладывает визуальный эффект на игрока.

ПараметрТипОписание
targetPlayerКого оповестить
entEntityМодель аниматроника, который просвечивает
isAffectedbooltrue — звук успеха, false — звук провала
lua
highlight.NotifyTarget(survivor, animEnt, true)