Hello, i am trying to make something that allows a player to move parts around with just moving their mouse, but when i do this the part that they move does not interact correctly. I have been getting the size of the part they are touching but this does not always work. How can i make this better.
v.MouseButton1Click:connect(function()
if not activated2 then
activated2 = true
local clicked = false
local tag = nil
local untag = nil
if tag == nil then
model = Instance.new("Model")
model.Name = v.Name model.Parent = game.Workspace
clone = game.ReplicatedStorage.CopyItems:FindFirstChild(v.Name):Clone()
clone.Parent = model
end
tag = model
repeat
wait(.1)
if mouse.Target ~= nil and clone:IsA("Part") then
tag.PrimaryPart = clone
elseif mouse.Target ~= nil and clone:IsA("Model") then
tag.PrimaryPart = clone:FindFirstChild("Base")
end
if mouse.Target ~=nil then
tag:SetPrimaryPartCFrame(CFrame.new(math.ceil(mouse.Hit.X -tag.PrimaryPart.Size.X),math.ceil(mouse.Target.Position.Y + tag.PrimaryPart.Size.Y/2 + 1),math.ceil(mouse.Hit.Z +tag.PrimaryPart.Size.Z-.5)))
end
mouse.Button1Down:connect(function()
if not activated then
activated = true
local Item = nil
if P:WaitForChild("Inventory"):FindFirstChild(v.Name) ~= nil then
local Item = P:WaitForChild("Inventory"):FindFirstChild(v.Name)
Item.Value = Item.Value -1
if v:FindFirstChild("Valued") ~= nil then
v.Valued.Text = Item.Value
end
if Item.Value < 0 then
v:Destroy()
model:Destroy()
end
if Item.Value == 0 then
v:Destroy()
Item:Destroy()
end
activated2 = false
clicked = true
end
local Item = nil
wait(.25)
activated = false
end
end)
until clicked == true
clicked = false
end
end)
