Датчик пола: включаем свет
Когда игрок стоит на площадке, в комнате горит свет.
Площадка включает лампу только пока на ней находится игрок.
1. Подготовьте объект
Где разместить: Соберите объекты по схеме Explorer ниже.
Workspace
SensorPad (Part)
SensorScript (Script)
RoomLamp (Part)
PointLight- Создайте SensorPad с Anchored=true, CanTouch=true.
- Создайте RoomLamp и добавьте внутрь PointLight.
- Вставьте Script внутрь SensorPad, затем нажмите Play.
2. Вставьте код
local Players = game:GetService("Players")
local pad = script.Parent
local lamp = workspace:WaitForChild("RoomLamp"):WaitForChild("PointLight")
lamp.Enabled = false
while pad.Parent do
local pressed = false
for _, part in ipairs(workspace:GetPartsInPart(pad)) do
local character = part:FindFirstAncestorOfClass("Model")
local player = character and Players:GetPlayerFromCharacter(character)
local humanoid = character and character:FindFirstChildOfClass("Humanoid")
if player and humanoid and humanoid.Health > 0 then
pressed = true
break
end
end
lamp.Enabled = pressed
pad.Color = pressed and Color3.fromRGB(70, 230, 120)
or Color3.fromRGB(180, 180, 190)
task.wait(0.15)
end3. Проверьте в игре
Нажмите Play в Roblox Studio и проверьте действие механики. Если механика не работает, откройте окно Output и проверьте тип скрипта, его расположение и названия объектов.
Когда проверите механику в Roblox Studio, отметьте практику как выполненную. Отметка хранится только в этом браузере, не в личном кабинете.
Добавляйте механики по одной и проверяйте окно Output. Не создавайте несколько одинаковых систем монет или интерфейсов; скрипты, меняющие WalkSpeed, прыжок или освещение, могут влиять друг на друга.
Поменяйте цвет активной площадки.
Подключите к одной площадке несколько ламп.
Создайте загадку, где один игрок удерживает датчик, а другой проходит.
4. Проверьте себя
Почему здесь проверяется присутствие игрока в цикле?
Не отключайте CanQuery у площадки и убедитесь, что персонаж действительно касается её объёма.