I’ve tried to write a code out for this, however, it places it at the world origin. Any help?
local Player = game:GetService("Players").LocalPlayer
local Mouse = Player:GetMouse()
Mouse.Button1Up:Connect(function()
print("Mouse position is ", Mouse.Hit.p)
NewPart = Instance.new("Part", game.Workspace)
NewPart.Position = Vector3.new(Mouse.Hit.p)
end)
local Player = game:GetService("Players").LocalPlayer
local Mouse = Player:GetMouse()
Mouse.Button1Up:Connect(function()
local pos = Mouse.Hit.Position
print("Mouse position is ", pos)
local NewPart = Instance.new("Part", game.Workspace)
NewPart.Position = pos
end)
If you want this to replicate to the server, you can do so with RemoteEvents.
For my example, I made a RemoteEvent called ‘CreatePart’ in ReplicatedStorage.
-- local
local PS = game:GetService("Players")
local RS = game:GetService("ReplicatedStorage")
local createPart = RS.CreatePart
local player = PS.LocalPlayer
local char = player.Character or player.CharacterAdded:Wait()
local mouse = player:GetMouse()
mouse.Button1Down:Connect(function()
createPart:FireServer(mouse.Hit.Position)
end)
-- server
local RS = game:GetService("ReplicatedStorage")
local createPart = RS.CreatePart
createPart.OnServerEvent:Connect(function(player, pos)
local part = Instance.new("Part")
part.Position = pos
part.Parent = workspace
end)