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

Почему возникает ошибка в роблокс студио? (ответы чат gpt не принимаются)

Саня Фэдора Мастер (1121), на голосовании 3 месяца назад
Ошибка в output:
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)
Голосование за лучший ответ
[ ] [ ] Мастер (1471) 4 месяца назад
Unable to assign property Position. Vector3 expected, got Instance

Тебе машина твоя сказала почему
Саня ФэдораМастер (1121) 4 месяца назад
ну я понял что это за ошибка но я не понимаю почему она возникает и как её исправить
[ ] [ ] Мастер (1471) Саня Фэдора, если не понял почему она возникает, то значит ты не понял, что за ошибка. Эльфийским языком написано "Невозможно использовать свойство Position. Пропущен Vector3, инициализируйте"
Миша Лоскутов Ученик (156) 1 месяц назад
Ошибка, которую вы видите, возникает из-за неправильного использования свойства 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) перед установкой позиции, чтобы увидеть, что именно передаётся на сервер.

Если у вас возникнут дополнительные вопросы или понадобится помощь с другими аспектами, дайте знать!
Саня ФэдораМастер (1121) 1 месяц назад
Во первых чат gpt, во вторых вопрос давно закрыт
Похожие вопросы