Using a tool to clone a Model onto the clicked position in Workspace

Inspired by the Airstrike gear,
I want to use a tool to clone a Model from ex. Lighting onto the position that got clicked (in workspace of course).

Well, I cant figure out how to do it.
I tried searching the forum, youtube tutorials, nothing.
All that came up was using a script to clone a part into workspace, without a tool, onto a set position.

Even tried to rewrite the original Airstrike radio scripts.

Any solutions?

1 Like

I’ve not tested this but you should use a remote event to send the mouse position and wanted model to the server and clone the model on the server. I would set a part in the model to be the PrimaryPart, then use SetPrimaryPartCFrame to move the model.

--//Local Script\\--
local ReplicatedStorage = game:GetService('ReplicatedStorage')
local RemoteEvent = ReplicatedStorage:WaitForChild('RemoteEvent ')

local player = game:GetService('Players').LocalPlayer
local Mouse = player:GetMouse()

Tool.Activated:Connect(function()
	local MousePos = Mouse.Hit.Position
	
	RemoteEvent:FireServer(MousePos)
end)

--//Server Script\\--
local ReplicatedStorage = game:GetService('ReplicatedStorage')
local RemoteEvent = ReplicatedStorage:FindFirstChild('RemoteEvent ')

RemoteEvent.OnServerEvent:Connect(function(player, MousePos, Model)
	local ModelClone = Models:FindFirstChild(Model):Clone()
	
	ModelClone:SetPrimaryPartCFrame(CFrame.new(MousePos))
end)
2 Likes

Hey, thank you for your help
I tried your method, it works, but it doesnt work at the same time.

Originally, I made the model first, animated it using the Roblox animator and playing around with the model.


For the tool, I followed the steps and made everything unanchored, so it’d appear where I clicked.

Now, the issue is that the Model spawns at the original location, but in the ground.
(In the attached SS is the original, workspace version)

1 Like

If the model is spawning in the ground you could either change the PrimaryPart position or mess around with the MousePos.Y. Ex.

	local PosX = MousePos.X
	local PosY = MousePos.Y --//You could add a number like 5 and it would spawn higher or -5 and it would spawn lower.
	local PosZ = MousePos.Z
	
	ModelClone:SetPrimaryPartCFrame(CFrame.new(PosX, PosY, PosZ))
1 Like

Not really the main issue, I meant that the model does not move from its original position it was in workspace, basically stays where it was.

1 Like

Ok, do you have a PrimaryPart set and is there a weld that is preventing it from moving?

2 Likes

Yes, the PrimaryPart is set and the only welds in the model are between parts that make up the plane, the full structure and the glass, and a Motor6D in the HumanoidRootPart connecting to the structure itself.
Tried to remove that, without any luck.

If you’re okay with it, I can create an empty baseplate with nothing but the plane, adding you to TeamCreate.

2 Likes

Sure I’m ok with that.

limit

Sent you a friend request, cant add you to studio unless we’re friended.

1 Like

For anyone wondering the fix was to Parent the clone to the workspace. (dumb mistake on my part).