Помогите со скриптом для роблокс студио
Напишите скрипт для ServerScriptService для роблокс студио чтобы модель Rocket1 ждала 15 секунд потом двигалась на 20 единиц вниз за 5 секунд потом поворачивалась на 90 градусов против часовой стрелки за 2 секунды потом пролетала на 30 единиц вперёд за 3 секунды и к началу цикла
-- Разместите этот скрипт в ServerScriptService
local rocket = workspace:WaitForChild("Rocket1") -- Убедитесь, что модель называется "Rocket1"
local function moveRocket(targetPosition, duration)
local startPosition = rocket.PrimaryPart.Position
local tweenInfo = TweenInfo.new(
duration, -- Duration in seconds
Enum.EasingStyle.Linear, -- EasingStyle (можно изменить)
Enum.EasingDirection.Out, -- EasingDirection (можно изменить)
0, -- RepeatCount (0 для одного раза)
false, -- Reverses (false для одного раза)
0 -- DelayTime
)
local tween = game:GetService("TweenService"):Create(rocket.PrimaryPart, tweenInfo, {Position = targetPosition})
tween:Play()
tween.Completed:Wait()
end
local function rotateRocket(angle, duration)
local startOrientation = rocket.PrimaryPart.CFrame
local tweenInfo = TweenInfo.new(
duration, -- Duration in seconds
Enum.EasingStyle.Linear, -- EasingStyle (можно изменить)
Enum.EasingDirection.Out, -- EasingDirection (можно изменить)
0, -- RepeatCount (0 для одного раза)
false, -- Reverses (false для одного раза)
0 -- DelayTime
)
local targetCFrame = startOrientation * CFrame.Angles(0, math.rad(angle), 0) -- Поворот по оси Y (в радианах)
local tween = game:GetService("TweenService"):Create(rocket.PrimaryPart, tweenInfo, {CFrame = targetCFrame})
tween:Play()
tween:Completed:Wait()
end
local function moveRocketForward(distance, duration)
local startPosition = rocket.PrimaryPart.Position
local currentCFrame = rocket.PrimaryPart.CFrame
local targetPosition = startPosition + currentCFrame.lookVector * distance
local tweenInfo = TweenInfo.new(
duration, -- Duration in seconds
Enum.EasingStyle.Linear, -- EasingStyle (можно изменить)
Enum.EasingDirection.Out, -- EasingDirection (можно изменить)
0, -- RepeatCount (0 для одного раза)
false, -- Reverses (false для одного раза)
0 -- DelayTime
)
local tween = game:GetService("TweenService"):Create(rocket.PrimaryPart, tweenInfo, {Position = targetPosition})
tween:Play()
tween:Completed:Wait()
end
while true do
wait(15)
-- Двигаемся на 20 единиц вниз за 5 секунд
moveRocket(rocket.PrimaryPart.Position - Vector3.new(0, 20, 0), 5)
-- Поворачиваемся на 90 градусов против часовой стрелки за 2 секунды
rotateRocket(90, 2)
-- Пролетаем на 30 единиц вперёд за 3 секунды
moveRocketForward(30, 3)
end
Как использовать скрипт:
Создайте модель “Rocket1”: В Roblox Studio создайте модель и назовите ее “Rocket1”.
Установите PrimaryPart: Внутри модели выберите любую деталь (part) и в свойствах модели укажите ее как PrimaryPart (Обязательно!). Это очень важно для правильной работы TweenService.
Разместите детали: Убедитесь, что все детали модели надежно соединены (например, с помощью WeldConstraint), чтобы они двигались вместе.
Создайте скрипт: В Explorer создайте новый Script в ServerScriptService.
Скопируйте код: Скопируйте код, приведенный выше, и вставьте его в новый скрипт.
помог