Контрольные точки
Часть раздела Скриптинг игр в Roblox путешествия по Lua на Coddy. Урок 22 из 24.
Когда игрок терпит поражение, Roblox ждёт 5 секунд (Players.RespawnTime) и создаёт для него нового персонажа на SpawnLocation. Если в игровом месте есть несколько SpawnLocations, Roblox случайным образом выбирает одну из них, поэтому контрольная точка может случайно стать точкой старта.
У каждого игрока есть свойство RespawnLocation. Установи его в SpawnLocation, и игрок всегда будет возрождаться там. В обби это свойство используют дважды: когда игрок присоединяется, оно указывает на старт; когда игрок достигает контрольной точки, оно переключается на эту точку.
local Players = game:GetService("Players")
local camp = workspace.Camp
camp.Touched:Connect(function(hit)
local player = Players:GetPlayerFromCharacter(hit.Parent)
if player then
player.RespawnLocation = camp
end
end)RespawnLocation принадлежит каждому игроку, поэтому достижение одним игроком лагеря не перемещает остальных.
Задание
СреднеСерая площадка — это workspace.Start, а светящаяся синяя площадка — контрольная точка (обе являются SpawnLocations). Этот скрипт находится внутри контрольной точки.
- Когда игрок присоединяется, установи для его
RespawnLocationзначениеworkspace.Start. - Когда игрок касается контрольной точки, установи для его
RespawnLocationзначение, равное контрольной точке, и перекрась её в зелёный цвет:Color3.fromRGB(0, 255, 0).
Нажми Play, наступи на контрольную точку, затем зайди в лаву в дальнем конце: ты должен появиться снова на контрольной точке. Затем нажми Check.
Попробуйте сами
local Players = game:GetService("Players")
local checkpoint = script.Parent
Players.PlayerAdded:Connect(function(player)
-- Размещайте каждого игрока в workspace.Start при появлении
end)
checkpoint.Touched:Connect(function(hit)
local player = Players:GetPlayerFromCharacter(hit.Parent)
if player then
-- Теперь возрождайте этого игрока здесь
-- Сделайте контрольную точку зелёной
end
end)
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Скриптинг игр в Roblox
4Игровые механики
Платформа ускоренияПлатформа для прыжковНажми на меняДверь с кнопкойДвижущаяся платформаКонтрольные точкиФинишная линия2Циклы и функции
Ряд столбовСтроитель лестницСтроитель башенФабрика монетМигающий светИсчезающий мост5Ваша первая игра
Ваш первый оббиПотренируйтесь самостоятельно: Онлайн-компилятор Lua