Дзен Видео Downloader

Самый простой способ скачать Дзен видео, музыку, миниатюру без водяных знаков и логотипа.

Roblox Мастерская

1,2K 11 месяцев назад

Как сделать чекпоинты в игре Roblox Studio?

КОНЧИК! Щелкните правой кнопкой мыши и выберите "Save link as..." для загрузки.

Loading...
Делаем удобную систему активации чекпоинтов в игре для возрождения игроков на последнем достигнутом чекпоинте  
 
Видео с циклом «for»: https://dzen.ru/video/watch/651865b069319f27a43c6379

СКРИПТ:

local checkpointsFolder = game.Workspace.Checkpoints

-- Функция с событием захода игрока в игру: 
game.Players.PlayerAdded:Connect(function(player)
-- Выполнение одинаковых действий для всех чекпоинтов:
for i, checkpoint in pairs(checkpointsFolder:GetChildren()) do
local used = {}
-- Функция с событием прикосновения к чекпоинту:
checkpoint.Touched:Connect(function(object) 
-- если игрок дотронулся до чекпоинта, тогда активируем чекпоинт:
if object and object.Parent == player.Character and not used[i] then
used[i] = true
SetCheckpoint(object, checkpoint)
end
end)
end
end)

-- Функция для возрождения игрока на чекпоинте: 
function SetCheckpoint(whoToSave, checkpointPart)
-- сохранение модели игрока:
local player = game.Players:GetPlayerFromCharacter(whoToSave.Parent)
local checkpointData = game.ServerStorage:FindFirstChild("CheckpointData")
if not checkpointData then
checkpointData = Instance.new("Model", game.ServerStorage)
checkpointData.Name = "CheckpointData"
end
-- сохранение ID номера игрока: 
local checkpoint = checkpointData:FindFirstChild(tostring(player.userId))
if not checkpoint then
checkpoint = Instance.new("ObjectValue", checkpointData)
checkpoint.Name = tostring(player.userId)
-- возрождение игрока на чекпоинте: 
player.CharacterAdded:Connect(function(character)
wait()
character:WaitForChild("HumanoidRootPart").CFrame = game.ServerStorage.CheckpointData[tostring(player.userId)].Value.CFrame + Vector3.new(0, 4, 0)
end)
end
checkpoint.Value = checkpointPart
end