local Players = game:GetService("Players"
local TweenService = game:GetService("TweenService"
-- Укажите точки маршрута
local points = {
workspace.Point1.Position,
workspace.Point2.Position,
workspace.Point3.Position,
-- Добавьте больше точек по необходимости
}
-- ID анимации ходьбы
local walkAnimationId = "rbxassetid://1234567890" -- Замените на ваш ID анимации
-- Функция для движения персонажа
local function moveCharacter(player)
local character = player.Character
if not character then return end
local humanoid = character:FindFirstChild("Humanoid"
local rootPart = character:FindFirstChild("HumanoidRootPart"
if not humanoid or not rootPart then return end
-- Загружаем и воспроизводим анимацию ходьбы
local animation = Instance.new("Animation"
animation.AnimationId = walkAnimationId
local animationTrack = humanoid:LoadAnimation(animation)
animationTrack

lay()
-- Отключаем управление игроком (чтобы он не мог двигаться сам)
humanoid.WalkSpeed = 0
humanoid.JumpPower = 0
-- Перемещаем персонажа по точкам маршрута
for i, point in ipairs(points) do
-- Создаем плавное движение (Tween)
local tweenInfo = TweenInfo.new(
(rootPart.Position - point).Magnitude / 16, -- Время зависит от расстояния (скорость 16)
Enum.EasingStyle.Linear,
Enum.EasingDirection.InOut
)
local tween = TweenService:Create(rootPart, tweenInfo, {CFrame = CFrame.new(point)})
tween

lay()
tween.Completed:Wait() -- Ждем завершения движения
end
-- Останавливаем анимацию и возвращаем управление игроку
animationTrack:Stop()
humanoid.WalkSpeed = 16 -- Возвращаем стандартную скорость
humanoid.JumpPower = 50 -- Возвращаем стандартную высоту прыжка
end
-- Запускаем движение для каждого игрока, который заходит в игру
Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function()
wait(1) -- Небольшая задержка, чтобы персонаж загрузился
moveCharacter(player)
end)
end)