Полоса препятствий с лавой, контрольными точками, исчезающей платформой и финишной линией.
Бесплатно45 минут · Для новичков · Roblox Studio
1
Шаг 1 / 10
Создай новое место
Открой Roblox Studio и войди в аккаунт.
Нажми New Experience и выбери шаблон Baseplate.
Теперь у тебя есть плоский серый пол. На нём будет стоять твоя трасса.
Подробнее
Roblox Studio является бесплатной программой для Windows и Mac. Если она ещё не установлена, скачай её с create.roblox.com и войди в свой аккаунт Roblox.
Шаблон Baseplate есть в списке шаблонов на стартовом экране. Это тот, что показывает пустой серый пол.
Место открывается во вкладке. Название вкладки является названием твоего места.
На Mac каждый раз, когда в уроке написано Ctrl, нажимай клавишу Cmd.
Совет. Сохраняй почаще через File → Save to Roblox. Studio хранит старые версии, поэтому ты всегда сможешь вернуться назад.
У меня не получается этот шаг
Сначала проверь эти три вещи
Название каждой детали и каждого скрипта точно такое же, как в уроке, с теми же заглавными буквами.
Скрипт лежит в нужном объекте. Посмотри на подпись над блоком с кодом.
Открой окно Output через меню Window. Красный текст показывает скрипт и строку, в которой есть проблема.
Выбери Start и нажми Ctrl+D, чтобы сделать копию. Оттащи копию вперёд инструментом Move (Ctrl+2).
Сделай её меньше инструментом Scale (Ctrl+3). Хорошо подходит размер 6, 1, 6.
Оставляй между платформами промежуток от 5 до 7 studs. Повторяй, пока не получится от 6 до 8 платформ.
Подними некоторые платформы чуть выше, чтобы трасса шла вверх.
Подробнее
Копия появляется точно поверх оригинала, поэтому кажется, что ничего не произошло. Потяни синюю или красную стрелку инструмента Move, и копия выедет в сторону.
Инструментом Scale потяни за один из маленьких шариков на детали, чтобы изменить её размер. Размер можно также ввести в Properties.
Поле Position в Properties показывает, где стоит деталь. Сравни числа двух платформ, чтобы измерить промежуток между ними.
Каждая платформа должна быть Anchored. Копии закреплённой детали тоже закреплены, поэтому проверяй это только для деталей, которые ты создал заново.
Нажми F5, чтобы самому попробовать прыжки, и Shift+F5, чтобы остановить. Делай так после каждых двух-трёх платформ.
Совет. Обычный персонаж прыгает на 7.2 studs в высоту и пролетает вперёд около 8 studs. Промежутки больше 8 studs почти невозможно перепрыгнуть.
У меня не получается этот шаг
Сначала проверь эти три вещи
Название каждой детали и каждого скрипта точно такое же, как в уроке, с теми же заглавными буквами.
Скрипт лежит в нужном объекте. Посмотри на подпись над блоком с кодом.
Открой окно Output через меню Window. Красный текст показывает скрипт и строку, в которой есть проблема.
Добавь новую деталь Part между двумя платформами. Сделай её красной, задай Material равным Neon, включи Anchored и назови её Lava.
В Explorer наведи курсор на Lava, нажми кнопку + и выбери Script.
Удали строку, которая там уже есть, и вставь этот код.
Lava > Script
local lava = script.Parent
lava.Touched:Connect(function(hit)
local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid.Health = 0
end
end)
Что делает каждая часть
script.Parent это деталь, в которой лежит скрипт. Здесь это лава.
Touched срабатывает каждый раз, когда что-то касается детали. hit это то, что коснулось, например ступня.
hit.Parent это весь персонаж. Если у него есть Humanoid, значит это игрок, и скрипт ставит Health равным 0.
Подробнее
Material является списком в Properties. Щёлкни его и выбери Neon. Neon заставляет деталь светиться.
Когда ты добавляешь Script, он открывается в новой вкладке с одной строкой кода. Щёлкни внутри кода, нажми Ctrl+A, чтобы выделить всё, и Ctrl+V, чтобы вставить поверх.
Вернись в свой мир, щёлкнув вкладку с названием твоего места.
Чтобы проверить: нажми F5 и зайди в лаву. Твой персонаж рассыплется и вернётся на старт.
Сделай лаву широкой и плоской, например Size 12, 1, 6, и поставь её чуть ниже платформ, чтобы неудачный прыжок заканчивался в ней.
У меня не получается этот шаг
Сначала проверь эти три вещи
Название каждой детали и каждого скрипта точно такое же, как в уроке, с теми же заглавными буквами.
Скрипт лежит в нужном объекте. Посмотри на подпись над блоком с кодом.
Открой окно Output через меню Window. Красный текст показывает скрипт и строку, в которой есть проблема.
В Explorer наведи курсор на Workspace, нажми + и добавь Folder. Назови её Checkpoints.
Расставь вдоль трассы три закреплённые детали и перетащи их в папку. Назови их 1, 2 и 3. Деталь 1 стоит на стартовой платформе.
Наведи курсор на ServerScriptService, нажми + и добавь Script. Вставь этот код.
ServerScriptService > Script
local Players = game:GetService("Players")
local checkpoints = workspace:WaitForChild("Checkpoints")
Players.PlayerAdded:Connect(function(player)
local stats = Instance.new("Folder")
stats.Name = "leaderstats"
stats.Parent = player
local stage = Instance.new("IntValue")
stage.Name = "Stage"
stage.Value = 1
stage.Parent = stats
player.CharacterAdded:Connect(function(character)
local root = character:WaitForChild("HumanoidRootPart")
local point = checkpoints:FindFirstChild(tostring(stage.Value))
if point then
task.wait(0.1)
root.CFrame = point.CFrame + Vector3.new(0, 4, 0)
end
end)
end)
for _, point in ipairs(checkpoints:GetChildren()) do
point.Touched:Connect(function(hit)
local player = Players:GetPlayerFromCharacter(hit.Parent)
local stats = player and player:FindFirstChild("leaderstats")
if not stats then return end
local number = tonumber(point.Name)
if number == stats.Stage.Value + 1 then
stats.Stage.Value = number
end
end)
end
Что делает каждая часть
leaderstats это особое имя папки. Значения внутри неё показываются в списке игроков, поэтому все видят чужой Stage.
Когда персонаж появляется, скрипт переносит его к контрольной точке, имя которой равно Stage игрока.
Касание контрольной точки увеличивает Stage, только если это следующая точка. Так игроки не могут перескакивать вперёд.
Подробнее
Folder содержит другие объекты, как папка на компьютере. Сама по себе в игре она ничего не делает.
Чтобы перетащить деталь в папку, потяни её название в Explorer на название Checkpoints и отпусти. Тогда деталь будет стоять на один шаг правее, под папкой.
Сделай детали-чекпоинты тонкими и широкими, например Size 6, 0.4, 6, и положи их на платформы. Другой цвет поможет игрокам их заметить.
Чтобы проверить: нажми F5 и посмотри на список игроков в правом верхнем углу. Там написано Stage 1. Коснись чекпоинта 2, и там появится 2.
Чекпоинтов нужно касаться по порядку. Если коснуться 3 раньше 2, ничего не произойдёт.
Частая ошибка. Назвать детали Checkpoint1 или One. Скрипт ищет точные имена 1, 2 и 3.
У меня не получается этот шаг
Сначала проверь эти три вещи
Название каждой детали и каждого скрипта точно такое же, как в уроке, с теми же заглавными буквами.
Скрипт лежит в нужном объекте. Посмотри на подпись над блоком с кодом.
Открой окно Output через меню Window. Красный текст показывает скрипт и строку, в которой есть проблема.
Поставь в конце большую закреплённую деталь и назови её Finish. Сделай её золотой, чтобы игроки видели цель.
Добавь в Finish Script и вставь этот код.
Finish > Script
local Players = game:GetService("Players")
local finish = script.Parent
local cooldown = {}
finish.Touched:Connect(function(hit)
local player = Players:GetPlayerFromCharacter(hit.Parent)
local stats = player and player:FindFirstChild("leaderstats")
if not stats or cooldown[player] then return end
cooldown[player] = true
stats.Stage.Value = 1
player:LoadCharacter()
task.wait(2)
cooldown[player] = nil
end)
Что делает каждая часть
GetPlayerFromCharacter находит, какой игрок коснулся финиша.
Таблица cooldown не даёт коду сработать много раз за одну секунду.
Stage возвращается к 1, а LoadCharacter отправляет игрока на старт для нового забега.
Подробнее
Чтобы сделать её золотой, щёлкни поле Color в Properties и выбери жёлтый. Material Neon заставляет её сиять.
Size 12, 1, 12 хорошо подходит для финиша. Поставь её после последнего прыжка, чуть выше остальных.
Чтобы проверить: нажми F5, пройди трассу и встань на золотую деталь. Ты вернёшься на старт, а Stage снова покажет 1.
Пауза в 2 секунды нужна, потому что один шаг касается детали много раз.
У меня не получается этот шаг
Сначала проверь эти три вещи
Название каждой детали и каждого скрипта точно такое же, как в уроке, с теми же заглавными буквами.
Скрипт лежит в нужном объекте. Посмотри на подпись над блоком с кодом.
Открой окно Output через меню Window. Красный текст показывает скрипт и строку, в которой есть проблема.
Нажми F5, чтобы начать игру. Пройди всю трассу от старта до финиша.
Специально упади в лаву. Ты должен вернуться на последнюю контрольную точку.
Нажми Shift+F5, чтобы остановить игру.
Открой окно Output в меню Window. Красный текст значит, что в скрипте есть ошибка, и там указан номер строки.
Подробнее
F5 запускает игру с твоим персонажем в ней. Пока игра идёт, панель инструментов меняется.
Изменения, которые ты вносишь, пока игра идёт, пропадают, когда ты её останавливаешь. Всегда сначала нажимай Shift+F5, а потом редактируй.
В окне Output щёлкни красную строку, и Studio откроет скрипт на строке с ошибкой.
Когда что-то не работает, проверь три вещи: название детали, где лежит скрипт и включён ли Anchored.
Частая ошибка. Платформа падает, когда игра начинается: значит, Anchored выключен. Ничего не происходит, когда ты касаешься детали: скрипт лежит не в том объекте или в имени опечатка.
У меня не получается этот шаг
Сначала проверь эти три вещи
Название каждой детали и каждого скрипта точно такое же, как в уроке, с теми же заглавными буквами.
Скрипт лежит в нужном объекте. Посмотри на подпись над блоком с кодом.
Открой окно Output через меню Window. Красный текст показывает скрипт и строку, в которой есть проблема.
Выбери File → Publish to Roblox. Придумай игре название и короткое описание.
На сайте Creator Hub открой свою игру и ответь на вопросы анкеты Maturity. Без неё Roblox не даст другим людям играть.
Поставь игре статус Public и отправь ссылку другу.
Подробнее
Когда ты публикуешь впервые, Studio просит название и описание. Нажми Create. После этого File → Publish to Roblox отправляет твои новейшие изменения.
Creator Hub является сайтом create.roblox.com. Войди с тем же аккаунтом и щёлкни свою игру в списке.
Анкета Maturity спрашивает, что есть в твоей игре. Отвечай честно. В таком обби, как это, нет насилия и ничего страшного.
Прежде чем игру можно сделать публичной, Roblox может попросить что-то ещё, например проверку возраста на аккаунте. Страница подскажет, чего не хватает.
Если тебе ещё нет 18, выполняй этот шаг вместе с кем-то из родителей.
Совет. Попроси друга поиграть, пока ты смотришь. Места, где он застревает, надо исправлять в первую очередь.
У меня не получается этот шаг
Сначала проверь эти три вещи
Название каждой детали и каждого скрипта точно такое же, как в уроке, с теми же заглавными буквами.
Скрипт лежит в нужном объекте. Посмотри на подпись над блоком с кодом.
Открой окно Output через меню Window. Красный текст показывает скрипт и строку, в которой есть проблема.