Я пытаюсь запустить функцию для всех дочерних элементов модели, но функция по существу зацикливается бесконечно, предотвращая вызов следующего элемента в for
l oop, мне нужен либо лучший способ сделать это или обходной путь.
Основной код:
local wave = workspace["Wave model"]
local move = require(script.Parent.moveModule)
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function()
for _, child in ipairs(wave:GetChildren()) do
move.moveUp(child)
wait(math.random(0.1,0.3))
print("exec")
end
print("executed")
end)
Модуль, который я вызываю:
local functions = {}
function functions.callNext(part, which)
if which == "up" then
functions.moveUp(part)
else
functions.moveDown(part)
end
end
function functions.moveUp(part)
local Tween = game:GetService("TweenService")
local Objective = {}
Objective.Position = Vector3.new(part.Position.X, part.Position.Y + 10, part.Position.Z)
local tweenInfo = TweenInfo.new(5)
local tweenie = Tween:Create(part, tweenInfo, Objective)
print("played")
tweenie:Play()
print("done")
tweenie.Completed:Connect(function()
print("Fcuk")
end)
wait(5)
functions.callNext(part, "down")
end
function functions.moveDown(part)
local Tween = game:GetService("TweenService")
local Objective = {}
Objective.Position = Vector3.new(part.Position.X, part.Position.Y - 10, part.Position.Z)
local tweenInfo = TweenInfo.new(5)
local tweenie = Tween:Create(part, tweenInfo, Objective)
print("played")
tweenie:Play()
print("done")
wait(5)
functions.callNext(part, "up")
end
return functions
Есть идеи?