Дверь с монетой
Часть раздела Скриптинг игр в Roblox путешествия по Lua на Coddy. Урок 16 из 24.
if может делать больше, чем просто проверять на nil. Он может сравнивать числа, а блок else выполняется, когда сравнение ложно:
local score = player.leaderstats.Score.Value
if score >= 10 then
print("You win!")
else
print("Keep going")
endОператоры сравнения: == (равно), ~= (не равно), <, >, <= и >=. Обрати внимание на двойной ==: одиночный = присваивает значение переменной, а не сравнивает.
>= 3 означает «3 или больше»; > 3 означает «больше 3», поэтому ровно 3 не пройдёт проверку.
Задание
СреднеСправа парят три монеты, а деревянная дверь преграждает стену. Мир считает монеты за тебя. Этот скрипт находится в двери, и его функция Touched запускается, когда игрок наступает на синюю площадку перед ней.
- Если у игрока есть
3или больше монет Coins, открой дверь:CanCollidefalseиTransparency0.5. - В противном случае выведи в точности
You need 3 coins.
Нажми Играть, сначала попробуй наступить на площадку, собери монеты и попробуй снова. Затем нажми Проверить.
Попробуйте сами
local Players = game:GetService("Players")
local door = script.Parent
local pad = workspace.DoorPad
pad.Touched:Connect(function(hit)
local player = Players:GetPlayerFromCharacter(hit.Parent)
if player then
local coins = player.leaderstats.Coins.Value
-- 3 монеты или больше: открой дверь
-- иначе: выведи "You need 3 coins"
end
end)
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Скриптинг игр в Roblox
2Циклы и функции
Ряд столбовСтроитель лестницСтроитель башенФабрика монетМигающий светИсчезающий мост5Ваша первая игра
Ваш первый обби3События и игроки
Сенсорная панельПол из лавыLeaderstatsКто это коснулся?Сборщик монетДверь с монетойПотренируйтесь самостоятельно: Онлайн-компилятор Lua