Проблема в вашем скрипте заключается в том, что вы устанавливаете позицию клонированной модели не у объекта, а у её родителя. В Roblox модели имеют свойство Position, но оно не применяется ко всем типам объектов. Вам нужно установить позицию для конкретной части внутри модели.
Вот исправленный вариант вашего скрипта, который устанавливает позицию для конкретной части модели:
local ClonePart = script.Parent
local PositionPart = ClonePart.Position
function CloneModel()
local ServerModel =
game.ServerStorage.Game _Models.Model1:Clone()
ServerModel.Parent = game.Workspace
-- Перебираем все части в клонированной модели и устанавливаем позицию
for _, part in ipairs(ServerModel:GetDescendants()) do
if part:IsA("BasePart") then
part.Position = PositionPart
end
end
wait(60)
ServerModel:Destroy()
end
CloneModel()
Объяснение изменений:
Цикл по частям: Мы перебираем все потомки модели с помощью GetDescendants(), и если объект является частью (проверка с IsA("BasePart")), устанавливаем его позицию.
Установка позиции для всех частей: Если ваша модель состоит из нескольких частей, теперь каждая часть будет установлена в нужную позицию.
Таким образом, модель будет клонирована и установлена в нужном месте, как вы и планировали.
local ClonePart=script.Parent
local PositionPart=script.Parent.Position
function CloneModel()
local ServerModel= game.ServerStorage.Game _Models.Model1:Clone()
ServerModel.Parent=game.Workspace
ServerModel.Position=PositionPart
wait(60)
ServerModel:Destroy()
end
CloneModel()