
В Roblox Studio дети могут создавать 3D-игры различных жанров. Один из самых популярных режимов — хорроры: комнаты испытаний, страшные лабиринты, тауэры, ловушки и другие ужастики. В этой инструкции мы хотим рассказать, как создать карту с опасным лифтом.
Урок подготовлен онлайн-школой программирования для детей Pixel. В конце материала мы оставим видеоролик, который поможет лучше разобраться в туториале.
Если вы только начинаете освоение Roblox Studio и языка Lua, посмотрите серию видеоуроков для новичков. Ролики помогут установить приложения на ПК, понять устройство программы и принцип написания скриптов.

Начало: создаем лифт в Roblox Studio — суть игры
Данная игра представляет собой набор страшных уровней, между которыми игрок перемещается на лифте. Пользователю на нашей карте предстоит собирать предметы, которые будут добавлять ему очки счета, и ключи, которые будут открывать лифт на новые локации. Давайте научимся делать лифт и необходимые для игры предметы.
Программирование счета
Создадим счет игрока, для этого в папке ServerScriptService добавим следующий скрипт:


Рассмотрим его подробнее: при событии добавления игрока будет срабатывать наша функция, которой мы передаем объект игрока. Создаются 3 переменные: Папка leaderstats, 2 числовых значения score и keys.
Данный скрипт позволит отображать накопленные баллы и собранные ключи.
Создание объектов и скрипты: ключ, монета
Давайте создадим объекты, которые будет собирать игрок. Начнем с ключа.
Будем использовать инструменты твердотельного моделирования для формирования кольца ключа. Создадим 2 цилиндра: малый будет находиться внутри большого, его мы сделаем отрицательной частью, нажав на соответствующую кнопку в разделе Model. После объединения инструментом Union отрицательная часть внутри исчезнет и у нас получится кольцо. Остальные части ключа можно также соединить с помощью Union.


Добавим на наш ключ следующий скрипт:

Разберем суть кода: при соприкосновении с объектом вызовем функцию, в которую передадим соприкосновение. Найдем соответствующего игрока и в условной конструкции проверим, есть ли он, и в таком случае к счету ключей прибавим единицу, после чего удалим объект.
Далее найдем меш-модель монеты и добавим ей аналогичный скрипт, но в нем мы будем пополнять уже счет, а не количество ключей.


Создание лифта
Пришло время добавить главный элемент — лифт. Для начала сделаем кабину подъемного устройства с помощью твердотельного моделирования. Аналогично кольцу в ключе сделаем полость в парте (Part):


Из двух партов построим двери.

Объединим данные блоки в модель. Обязательно переименуем составные части: кабина — Сabin, левая дверь — Door1, правая дверь — Door2. Не забудем назвать модель Elevator и добавить в нее скрипт.

Наш лифт должен ждать нас и отвозить на следующий этаж только после того, как мы набрали определенное количество баллов. Давайте подробнее рассмотрим скрипт лифта.

-
В самом начале определим переменные для кабины и двух дверей. После этого создадим функцию openDoors(). В ней мы с помощью цикла будем двигать одну дверь в левую сторону, а другую — в правую. Аналогично работает функция closeDoors(), только в ней мы двигаем двери в обратную сторону, чтобы их закрыть.
-
Создаем локальную переменную isOpen. Изначально она устанавливается как true — это означает, что двери открыты. Затем открываем дверь к кабине и подписываем на событие Touched нашу функцию, передавая в нее игрока. Проверяем, есть ли игрок. Если двери открыты и у игрока три или больше ключей, то устанавливаем переменную isOpen в false, чтобы лифт больше не открывался. Затем ждем одну секунду, закрываем дверь и с помощью цикла двигаем наше подъемное устройство вверх. После этого снова открываем дверь.
Теперь мы можем менять высоту движения лифта, изменяя число итераций в цикле для подъема. А также менять условие проверки на количество ключей. С помощью данных объектов и лифтов можно сделать хоррор-игру, в которой игрок будет перемещаться на лифте, собирая очки и ключи для лифта.
Если удалось выполнить все шаги в инструкции и создать лифт, присылайте ссылки на свои карты в комментариях, а мы оценим их.
Видео: как сделать страшный лифт в Роблокс
Посмотрите инструкцию, чтобы увидеть проект в действии, и послушайте объяснения преподавателя.
***
Материал подготовлен детской IT-школой Pixel. Если вы хотите узнать больше о программировании в Roblox, заглядывайте на наш онлайн-курс для школьников 9-14 лет. А также смотрите бесплатные видеоуроки на любых площадках: RuTube, YouTube, ВК, Дзен.
Автор: zubkovase