Мини-проект: соберите три цвета
Найдите красный, синий и зелёный кристаллы, чтобы открыть дверь.
Задание на поиск трёх разных объектов и открытие двери с помощью ProximityPrompt.
1. Подготовьте объект
Где разместить: Несколько скриптов — смотрите инструкцию и отдельные блоки кода
Создайте в Workspace папку ColorCrystals с тремя Part по именам Red, Blue, Green. Установите Anchored=true и CanTouch=true.
Добавьте Part ColorDoor (Anchored=true, CanCollide=true).
Создайте Script ColorQuest в ServerScriptService и вставьте код.
Каждый игрок должен коснуться всех трёх кристаллов; затем он может нажать E рядом с дверью. Открытие общей двери временное.
Это пути для скриптов из блоков кода ниже. Остальные объекты создайте по инструкции.
└── ServerScriptService
└── ColorQuest (Script)2. Вставьте код
local Players = game:GetService("Players")
local folder = workspace:WaitForChild("ColorCrystals")
local door = workspace:WaitForChild("ColorDoor")
local required = {Red = true, Blue = true, Green = true}
local progress = {}
local prompt = Instance.new("ProximityPrompt")
prompt.ActionText = "Открыть дверь"
prompt.MaxActivationDistance = 10
prompt.Parent = door
local busy = false
for name in pairs(required) do
local crystal = folder:WaitForChild(name)
crystal.Touched:Connect(function(hit)
local model = hit:FindFirstAncestorOfClass("Model")
local player = model and Players:GetPlayerFromCharacter(model)
if not player then return end
progress[player] = progress[player] or {}
progress[player][name] = true
end)
end
prompt.Triggered:Connect(function(player)
if busy then return end
local found = progress[player] or {}
for name in pairs(required) do if not found[name] then return end end
busy = true
prompt.Enabled = false
progress[player] = {} -- одно выполнение на открытие
door.CanCollide = false
door.Transparency = 0.75
task.wait(6)
door.CanCollide = true
door.Transparency = 0
prompt.Enabled = true
busy = false
end)
Players.PlayerRemoving:Connect(function(player) progress[player] = nil end)3. Проверьте в игре
Нажмите Play в Roblox Studio и проверьте действие механики. Если механика не работает, откройте окно Output и проверьте тип скрипта, его расположение и названия объектов.
Когда проверите механику в Roblox Studio, отметьте практику как выполненную. Отметка хранится только в этом браузере, не в личном кабинете.
Добавляйте механики по одной и проверяйте окно Output. Не создавайте несколько одинаковых систем монет или интерфейсов; скрипты, меняющие WalkSpeed, прыжок или освещение, могут влиять друг на друга.
Измените время открытия с 6 до 12 секунд.
Разместите кристаллы на трёх разных платформах.
Придумайте поисковую игру с подсказками и несколькими дверями.
4. Проверьте себя
Что открывает дверь в проекте с тремя цветами?
Имена Red, Blue, Green должны совпадать точно. Прогресс хранится только в течение текущего посещения сервера.