Роблокс студио скрипты - Вопросы по сайтостроению

Вопрос Роблокс студио скрипты

zav

Capitan

zav

Capitan
Регистрация
17 Дек 2013
Сообщения
79
Репутация
0
Спасибо
0
Монет
0
как сделать чтобы мой персонаж шел по заданному маршруту от первого лица? то есть по типу сценки с анимацией? нейронка не помогла с этим вопросом
 
Регистрация
3 Июн 2013
Сообщения
91
Репутация
0
Спасибо
0
Монет
0
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:play()

-- Отключаем управление игроком (чтобы он не мог двигаться сам)
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:play()
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)
 
Регистрация
21 Ноя 2013
Сообщения
93
Репутация
0
Спасибо
0
Монет
0
чтобы персонаж шел по маршруту от первого лица сделай путь с помощью tweenservice и анимации
 
Сверху Снизу