Как сделать спавн и чекпоинты в Roblox (SpawnLocation), чтобы возрождаться?
Делаю паркур. Хочу, чтобы при падении игрок возрождался не в начале, а на последнем пройденном чекпоинте. Как это устроить?
2 ответа
В Roblox для этого есть готовый объект SpawnLocation (вставляется через Home → Spawn). Игрок появляется на нём. Хитрость с чекпоинтами — в свойстве TeamColor или через сохранение последнего касания.
Самый простой подход без команд — запоминать последний чекпоинт у игрока:
-- на каждом чекпоинте (это SpawnLocation) повесь касание
checkpoint.Touched:Connect(function(hit)
local player = game.Players:GetPlayerFromCharacter(hit.Parent)
if player then
player.RespawnLocation = checkpoint -- тут будет возрождаться
end
end)
player.RespawnLocation — встроенное свойство: указываешь, на каком SpawnLocation воскрешать этого игрока. Коснулся нового чекпоинта — теперь возрождение тут.
Чтобы игрок не появлялся сразу на всех чекпоинтах подряд, у дальних SpawnLocation сними галочку Enabled в Properties (или в коде checkpoint.Enabled = false) — тогда они работают только как точки сохранения, а не как стартовые. Стартовым оставь первый.