Защитный щит: включить и выключить
Создайте защитное поле ForceField с переключением.
Первый блок создаёт щит ForceField, второй убирает его.
1. Подготовьте объект
Где разместить: Обычный Script в ServerScriptService
Создайте ShieldOn и ShieldOff — два Part в Workspace, включите Anchored.
В ServerScriptService вставьте обычный Script.
Проверьте защиту от урона через Humanoid:TakeDamage().
2. Вставьте код
local onPad = workspace:WaitForChild("ShieldOn")
local offPad = workspace:WaitForChild("ShieldOff")
local debounce = {}
local function setShield(hit, enabled)
local character = hit:FindFirstAncestorOfClass("Model")
local humanoid = character and character:FindFirstChildOfClass("Humanoid")
if not humanoid or humanoid.Health <= 0 or debounce[character] then return end
debounce[character] = true
local shield = character:FindFirstChild("IgroShield")
if enabled and not shield then
shield = Instance.new("ForceField")
shield.Name = "IgroShield"
shield.Visible = true
shield.Parent = character
elseif not enabled and shield then
shield:Destroy()
end
task.delay(0.8, function() debounce[character] = nil end)
end
onPad.Touched:Connect(function(hit) setShield(hit, true) end)
offPad.Touched:Connect(function(hit) setShield(hit, false) end)
3. Проверьте в игре
Нажмите Play в Roblox Studio и проверьте действие механики. Если механика не работает, откройте окно Output и проверьте тип скрипта, его расположение и названия объектов.
Когда проверите механику в Roblox Studio, отметьте практику как выполненную. Отметка хранится только в этом браузере, не в личном кабинете.
Добавляйте механики по одной и проверяйте окно Output. Не создавайте несколько одинаковых систем монет или интерфейсов; скрипты, меняющие WalkSpeed, прыжок или освещение, могут влиять друг на друга.
Выключите Visible у ForceField и проверьте защиту.
Добавьте эффект свечения к площадке со щитом.
Сделайте арену, где щит можно получить лишь на специальном острове.
4. Проверьте себя
Какой объект Roblox обеспечивает защитный щит?
ForceField защищает от Humanoid:TakeDamage(), но не от прямого изменения Humanoid.Health в чужих скриптах.