

Помогите хочу сделать скрипт в roblox studio
хочу сделать чтобы появилась первая платформа после того как наступишь на нее появится ещё одна а прошлая удалится но создаётся только первая платформа скажите что добавить чтобы скрипт работал
-- Параметры для создания платформ
local platformHeight = 10 -- Высота каждой платформы
local platformSpacing = 15 -- Вертикальное расстояние между платформами
-- Создаем список для хранения платформ
local platforms = {}
-- Получаем базовую платформу (baseplate), на которой будем создавать платформы
local baseplate = game.Workspace.Baseplate
-- Функция для создания новой платформы
local function createPlatform()
local platform = Instance.new ("Part")
platform.Size = Vector3.new (10, 1, 10) -- Устанавливаем размер платформы
-- Рандомно устанавливаем позицию платформы
local randomX = math.random(-50, 50) -- Случайная позиция по X
local randomZ = math.random(-50, 50) -- Случайная позиция по Z
platform.Position = Vector3.new (randomX, baseplate.Size.Y, randomZ)
platform.Anchored = true -- Закрепляем платформу, чтобы она не падала
platform.Parent = baseplate -- Устанавливаем родителя для платформы (baseplate)
-- Настраиваем внешний вид платформы (по желанию)
platform.BrickColor = BrickColor.new ("Bright blue")
platform.Material = Enum.Material.SmoothPlastic
return platform
end
-- Создаем первую платформу
local currentPlatform = createPlatform()
table.insert(platforms, currentPlatform)
-- Бесконечный цикл для обработки движения персонажа
while true do
local character = game.Players.LocalPlayer.Character
local humanoid = character:FindFirstChild("Humanoid")
if humanoid then
-- Если персонаж наступил на текущую платформу, создаем следующую
if humanoid:GetState() == Enum.HumanoidStateType.Freefall and humanoid:GetState() ~= Enum.HumanoidStateType.Seated then
local nextPlatform = createPlatform()
table.insert(platforms, nextPlatform)
-- Удаляем предыдущую платформу (если есть)
if #platforms > 1 then
local previousPlatform = table.remove(platforms, 1)
previousPlatform:Destroy()
end
end
end
wait(0.1) -- Ждем некоторое время перед следующей проверкой
end
-- Бесконечный цикл для обработки движения персонажа
while true do
local character = game.Players.LocalPlayer.Character
local humanoid = character:FindFirstChild("Humanoid")
if humanoid then
-- Если персонаж наступил на текущую платформу, создаем следующую
if humanoid:GetState() == Enum.HumanoidStateType.Landed then
local nextPlatform = createPlatform()
table.insert(platforms, nextPlatform)
-- Удаляем предыдущую платформу (если есть)
if #platforms > 1 then
local previousPlatform = table.remove(platforms, 1)
previousPlatform:Destroy()
end
end
end
wait(0.1) -- Ждем некоторое время перед следующей проверкой
end
Я плохо понял но давай так:
Добавьте следующий код перед циклом while true do:
local character = game.Players.LocalPlayer.Character
local humanoid = character:FindFirstChild("Humanoid")
Этот код получает игрока и гуманоида, что позволит вам проверить, находится ли игрок в состоянии свободного падения, как указано в if humanoid:GetState() == Enum.HumanoidStateType.Freefall.
много хочешь