Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите по роблокс студио

Егор Мальцев Ученик (34), на голосовании 1 неделю назад
Мне нужен скрипт которое будет перемещать модель из ServerStorage в Workspace перед игроком при нажатии кнопки гуи
Голосование за лучший ответ
Татьяна Просветленный (36344) 1 месяц назад
Вставьте модель, которую хотите перемещать, в 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)
Егор МальцевУченик (34) 1 месяц назад
Model:SetPrimaryPartCFrame() failed because no PrimaryPart has been set, or the PrimaryPart no longer exists. Please set Model.PrimaryPart before using this.
 Такая ошибка выходит 
Егор Мальцев, потому что это говнокод с чатгпт
Рустам Абдрашитов Мыслитель (8566) 1 месяц назад
 local player = game.Players.LocalPlayer 
local button = script.Parent -- Предполагается, что скрипт привязан к кнопке
local modelName = "ИмяВашейМодели" -- Замените на имя вашей модели

button.MouseButton1Click:Connect(function()
-- Проверка наличия персонажа и его корневой части
if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
local model = game.ServerStorage:FindFirstChild(modelName)

if model then
local clonedModel = model:Clone()
clonedModel.Parent = game.Workspace

-- Определяем позицию перед игроком
local playerPosition = player.Character.HumanoidRootPart.Position
local forwardDirection = player.Character.HumanoidRootPart.CFrame.LookVector

-- Перемещение модели на 5 единиц вперед от игрока
clonedModel:SetPrimaryPartCFrame(CFrame.new(playerPosition + forwardDirection * 5))
else
warn("Модель не найдена в ServerStorage: " .. modelName)
end
else
warn("Персонаж игрока не найден.")
end
end)
Похожие вопросы