I want a model to have a position. I tried to set a primary part cframe but it kept telling me it was wrong.
Cursor.Move:Connect(function() local CursorPosition = Cursor.Hit.p local TurretPosition = Turret:SetPrimaryPartCFrame() local LookVector = Vector3.new(CursorPosition.X,TurretPosition.Y,CursorPosition.Z) TurretPosition.CFrame = CFrame.new(Gun.Position, LookVector) end)
:SetPrimaryPartCFrame()
is a method of Instance that expects a modification argument so it can perform the adjustment accordingly. You're essentially calling a function within a variable that has a void
return, no only that but it is is missing it's argument; TurretPosition
becomes nil
. You need to call this function on the Instance when you're ready to modify the CFrame property.
Cursor.Move:Connect(function() local CursorPosition = Cursor.Hit.p local TurretPosition = Turret:GetPrimaryPartCFrame().p local LookVector = Vector3.new(CursorPosition.X,TurretPosition.Y,CursorPosition.Z) Turret:SetPrimaryPartCFrame(CFrame.new(TurretPosition, LookVector)) end)