Menu
CoddyTech

Контрольные точки

Часть раздела Скриптинг игр в 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 принадлежит каждому игроку, поэтому достижение одним игроком лагеря не перемещает остальных.

challenge icon

Задание

Средне

Серая площадка — это workspace.Start, а светящаяся синяя площадка — контрольная точка (обе являются SpawnLocations). Этот скрипт находится внутри контрольной точки.

  1. Когда игрок присоединяется, установи для его RespawnLocation значение workspace.Start.
  2. Когда игрок касается контрольной точки, установи для его 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)
quiz iconПроверьте себя

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

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

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