Skip to content

Раунды

Система раундов — ядро Fazbear's Hunt. С обновлением 3.0.0 создание собственных типов раундов стало значительно проще.

Регистрация типа раунда

fh.RegisterRoundType(name, id, func, [weight], [minPlayers], [maxPlayers]) SERVER

Регистрирует новый тип раунда. Возвращает ID и Техническое имя раунда.

Параметры:

ИмяТипОписание
namestringТехническое имя раунда на английском
idint / stringID раунда. Если строка — автоматически конвертируется в число
funcfunctionФункция, выполняемая при начале раунда
weightint (опц.)Шанс выпадения (0–100)
minPlayersint (опц.)Минимальное число игроков
maxPlayersint (опц.)Максимальное число игроков

Пример:

lua
local id, name = fh.RegisterRoundType("springtrap_madness", "spring_mad", function()
    -- Раздаём всем по Спрингтрапу!
    for _, ply in player.Iterator() do
        giveKiller(ply, "pill_springtrap", true)
    end
end, 5, 4, 16)  -- 5% шанс, 4–16 игроков

print(id, name) -- 43700	springtrap_madness

Управление раундами

fh.SetRoundTypeBlocked(id, block) SERVER

Блокирует раунд по ID, и не даёт игре его выбрать.

lua
-- Блокируем раунд со Спрингтрапом
fh.SetRoundTypeBlocked(1, true)

Получение информации о раундах

fh.SetRoundType(number) SERVER

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

Аккуратно

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

fh.GetRoundType() SERVER

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

ЗначениеТип раунда
0Обычный
1Со Спрингтрапом
2Бонни-Тег
3Раунд-Заражение с Bear5

fh.GetRoundTypes() SERVER

Возвращает таблицу со всеми ID зарегистрированных раундов.

lua
local all = fh.GetRoundTypes()
PrintTable(all)

fh.GetRoundTypeByName(name) SERVER

Возвращает ID раунда по его техническому имени.

lua
local id = fh.GetRoundTypeByName("springtrap_madness")
print(id)  -- 12345 (например)

fh.GetRoundTypeNameByNumber(id) SERVER

Обратная функция — возвращает имя по ID.

lua
local name = fh.GetRoundTypeNameByNumber(1)
print(name)  -- "springtrap"

Музыка раунда

fh.AddRoundMusic(num, music) SERVER

Добавляет музыкальную тему для начала конкретного типа раунда.

Замена недоступна

Заменить уже зарегистрированную музыку нельзя.

lua
fh.AddRoundMusic(
    fh.GetRoundTypeByName("springtrap_madness"),
    "music/my_addon/madness_theme.mp3"
)

fh.GetRoundMusic(num) SERVER

Возвращает путь к музыке начала раунда. Если для указанного типа музыка не найдена — возвращается музыка обычного раунда.

Связанные хуки

См. также: Хуки раунда →