-server script
newPart.Parent = script.Parent
--local script
local MH = Vector3.new( ( math.floor(mouse.Hit.X+0.5)),( math.floor(mouse.Hit.Y+0.5)),( math.floor(mouse.Hit.Z+0.5)))
local Part = script.Parent:WaitForChild("Part",100)
Part.Parent = workspace
Part.Position = (MH)
ive made a part using a remoteevent on a server script using the client to server script here https://developer.roblox.com/en-us/articles/Remote-Functions-and-Events
both the local and server script are under a tool that activates the local script when used, the server script then makes the part under the tool. The local script is waiting for a part under the tool so that it can do the script above to it,
the part made is a local part when it should be global because it's from a server script and appears to goes to the right place but it goes to 0,0,0 instantly after being spawned

3 comments
Could you be a bit more descriptive?
It might be colliding with an instance, try using
CFramerather thanPosition;.CFrame = CFrame.new(MH)what do you mean by colliding with an instance, i tried doing that but it still didn't work