Ошибка, которую вы видите, возникает из-за неправильного использования свойства Position. Ваша ошибка говорит о том, что ожидается значение типа Vector3, но вместо этого передаётся объект типа Instance.
Давайте разберёмся с вашим кодом и исправим его.
Проблема:
Ваша строка, где вы пытаетесь установить позицию объекта Delpotom, выглядит так:
game.Workspace.Delpotom.Position = MPos
Убедитесь, что MPos действительно является Vector3. В вашем случае, если MPos не является Vector3, это может быть причиной ошибки.
Исправленный код:
Локальный скрипт (в StarterPlayerScripts):
script.Parent.Activated:Connect(function()
local plr = game.Players.LocalPlayer
local mouse = plr:GetMouse()
local MPos = mouse.Hit.Position -- Это должно возвращать Vector3
script.Parent.RE .PosOfMouse:FireServer(MPos)
end)
Серверный скрипт:
script.Parent.OnServerEvent:Connect(function(MPos)
if typeof(MPos) == "Vector3" then -- Проверяем, что MPos - это Vector3
game.Workspace.Delpotom.Position = MPos
else
warn("MPos не является Vector3!")
end
end)
Что делать дальше:
Проверка типа: В серверном скрипте добавлена проверка типа для MPos, чтобы убедиться, что это действительно Vector3. Если это не так, вы получите предупреждение в консоли.
Проверка mouse.Hit: Убедитесь, что курсор мыши действительно попадает на объект в мире, когда вы вызываете mouse.Hit.Position. Если курсор не находится над чем-то, это может вызвать проблемы.
Проверьте правильность имен: Убедитесь, что все имена объектов (например, Delpotom и RE) указаны правильно и существуют в вашей иерархии объектов.
Отладка: Если ошибка продолжает возникать, попробуйте добавить print(MPos) перед установкой позиции, чтобы увидеть, что именно передаётся на сервер.
Если у вас возникнут дополнительные вопросы или понадобится помощь с другими аспектами, дайте знать!
Unable to assign property Position. Vector3 expected, got Instance
Stack Begin
Script 'Players.alex221fs.Backpack.Portal Gun.RE .PosOfMouse.Script', Line 2
Stack End
вот код локального скрипта
script.Parent.Activated:Connect(function()
local plr = game.Players.LocalPlayer
local mouse = plr:GetMouse()
local MPos = mouse.Hit.Position
script.Parent.RE .PosOfMouse:FireServer(MPos)
end)
вот код серверного скрипта
script.Parent.OnServerEvent:Connect(function(MPos)
game.Workspace.Delpotom.Position = MPos
end)