PlayerMeta
Расширения мета-таблицы Player, добавляемые гейммодом Fazbear's Hunt.
Роль игрока SHARED
PLAYER:IsSurvivor()
Возвращает true, если игрок — выживший.
if ply:IsSurvivor() then
print(ply:Nick() .. " — выживший")
endPLAYER:IsAnimatronic()
Возвращает true, если игрок играет за аниматроника.
if ply:IsAnimatronic() then
ply:ChatPrint("Удачной охоты!")
endСпавн и позиция SERVER
PLAYER:ReturnToSpawn()
Меняет позицию игрока на точку спавна. В отличие от ENTITY:Spawn(), не пересоздаёт самого игрока — оружие, здоровье и т.д. сохраняются.
ply:ReturnToSpawn()PLAYER:SuppressRagdollSpawn(bool)
Позволяет отменить спавн посмертного регдолла. После одной попытки спавна автоматически сбрасывается в false.
hook.Add("DoPlayerDeath", "NoRagdoll", function(ply)
ply:SuppressRagdollSpawn(true)
end)Застревания SERVER
PLAYER:IsStuck()
Проверяет хитбокс игрока на застревание в геометрии или других сущностях. В отличие от ENTITY:IsInWorld(), учитывает хитбокс.
PLAYER:Unstuck()
Пытается телепортировать игрока в место, где он не застревает. Используйте вместе с IsStuck():
hook.Add("PlayerSpawn", "CheckStuck", function(ply)
timer.Simple(0.5, function()
if IsValid(ply) and ply:IsStuck() then
ply:Unstuck()
end
end)
end)Толкания SERVER
PLAYER:SetPushImmune(bool)
Установка иммунитета к отталкиванию другими игроками.
PLAYER:IsPushImmune()
Имеет ли игрок иммунитет к отталкиваниям?
PLAYER:SetPushBlocked(bool)
Может ли игрок толкать других?
PLAYER:IsPushBlocked()
Запрещено ли игроку толкать других?
-- Сделать аниматроника непробиваемой стеной
ply:SetPushImmune(true)
ply:SetPushBlocked(true)Голосовой чат SERVER
PLAYER:SetAudible(bool)
Слышен ли игрок другими игроками в голосовом чате?
PLAYER:GetAudible()
Возвращает текущий статус слышимости.
PLAYER:ForceListenPlayer(Player)
Принудительно заставить игрока слышать только указанного игрока (всех остальных — выключить).
PLAYER:ResetListenPlayer()
Сбросить принудительное прослушивание.
-- Заставить жертву слышать только аниматроника
victim:ForceListenPlayer(killer)
-- Через 10 секунд вернуть нормальное состояние
timer.Simple(10, function()
if IsValid(victim) then victim:ResetListenPlayer() end
end)Золотой Фредди SERVER
PLAYER:SetGFreddyImmune(bool)
Иммунитет к способности Золотого Фредди (Загранное Измерение).
PLAYER:GetGFreddyImmune()
Возвращает текущий статус иммунитета.
-- Все админы иммунны к Золотому Фредди
hook.Add("PlayerInitialSpawn", "AdminGFImmune", function(ply)
if ply:IsAdmin() then
ply:SetGFreddyImmune(true)
end
end)Подарки SERVER
Уже используется режимом
Эти функции применяются по умолчанию — игра не выдаёт второй подарок, пока не подобран первый.
PLAYER:SetGiftOwnership(bool)
Установить флаг владения подарком.
PLAYER:GetGiftOwnership()
Имеет ли игрок несобранный подарок?
if not ply:GetGiftOwnership() then
-- спавним новый подарок
end