Пол из лавы
Часть раздела Скриптинг игр в Roblox путешествия по Lua на Coddy. Урок 12 из 24.
По сенсорной площадке ты знаешь, что hit — это часть тела. Его Parent — это персонаж, модель, содержащая все части тела. В персонаже также есть Humanoid, которому принадлежит Health.
FindFirstChild ищет дочерний объект по имени и возвращает nil (ничего), если такого объекта нет:
local humanoid = hit.Parent:FindFirstChild("Humanoid")
if humanoid then
print(humanoid.Health)
endif пропускает свой блок, когда humanoid равен nil. У падающего мяча нет Humanoid, а использование nil как будто это Humanoid вызывает ошибку в Output каждый раз, когда к детали прикасается что-то, кроме игрока.
Humanoid, чей показатель Health достигает 0, побеждён, и игрок возрождается через несколько секунд.
Задание
СреднеСветящаяся оранжевая полоса — это лава, и этот скрипт находится внутри неё. Когда что-то касается лавы, найди Humanoid в hit.Parent и, если он есть, установи его Health в 0.
Убедись, что скрипт работает и с объектами, которые не являются игроками: одна из проверок сбрасывает на лаву шар.
Нажми Play и зайди в лаву (ты возродишься через 5 секунд), затем нажми Check.
Попробуйте сами
local lava = script.Parent
lava.Touched:Connect(function(hit)
end)
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Скриптинг игр в Roblox
2Циклы и функции
Ряд столбовСтроитель лестницСтроитель башенФабрика монетМигающий светИсчезающий мост5Ваша первая игра
Ваш первый обби3События и игроки
Сенсорная панельПол из лавыLeaderstatsКто это коснулся?Сборщик монетДверь с монетойПотренируйтесь самостоятельно: Онлайн-компилятор Lua