Вставьте модель, которую хотите перемещать, в ServerStorage.
Создайте кнопку в ScreenGui в StarterGui.
Привяжите скрипт к кнопке.
Скрипт
Вставьте следующий скрипт в LocalScript, который находится внутри кнопки GUI:
local button = script.Parent -- ссылка на кнопку
local player = game.Players.LocalPlayer -- текущий игрок
button.MouseButton1Click:Connect(function()
-- Запрашиваем сервер переместить модель
game.ReplicatedStorage.MoveModel:FireServer()
end)
Вставьте следующий скрипт в Script, который находится в ServerScriptService:
local replicatedStorage = game:GetService("ReplicatedStorage")
local serverStorage = game:GetService("ServerStorage")
-- Создаем удаленное событие для перемещения модели
local moveModelEvent = Instance.new("RemoteEvent")
moveModelEvent.Name = "MoveModel"
moveModelEvent.Parent = replicatedStorage
moveModelEvent.OnServerEvent:Connect(function(player)
-- Модель в ServerStorage
local model = serverStorage:FindFirstChild("YourModelName")
if model then
-- Клонируем модель
local newModel = model:Clone()
-- Получаем положение перед игроком
local character = player.Character
if character and character:FindFirstChild("HumanoidRootPart") then
local rootPart = character.HumanoidRootPart
local newPosition = rootPart.Position + rootPart.CFrame.LookVector * 5 -- Позиция перед игроком (5 единиц вперед)
-- Перемещаем модель
newModel:SetPrimaryPartCFrame(CFrame.new(newPosition))
newModel.Parent = game.Workspace
end
end
end)