Menu
CoddyTech

Дверь с монетой

Часть раздела Скриптинг игр в 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 не пройдёт проверку.

challenge icon

Задание

Средне

Справа парят три монеты, а деревянная дверь преграждает стену. Мир считает монеты за тебя. Этот скрипт находится в двери, и его функция Touched запускается, когда игрок наступает на синюю площадку перед ней.

  • Если у игрока есть 3 или больше монет Coins, открой дверь: CanCollide false и Transparency 0.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)
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Скриптинг игр в Roblox

Потренируйтесь самостоятельно: Онлайн-компилятор Lua