Drop, pick up and move item

I am trying to pick up an item, drop it, make sure its anchored, but then if I need to move it again it can be done so by me or another player. My problem is when I pick up my item and drop it, it will not allow me to pick it up again. This is what I have done:

I put a part and called it “Key”, with a click detector and script

script.Parent.ClickDetector.MouseClick:Connect(function(player)
local newkey = game.ReplicatedStorage.Key:Clone()
local oldkey = script.Parent
newkey.Parent = player.Backpack
oldkey:Destroy()
end)

I also copied the part, made a tool and called it “Key” and named the part Handle and dropped it in ReplicatedStorage. Can it be picked up again if I want it anchored?

Forgot to mention, when I pick up the “Key”, I can move around but when I equip it, it will teleport me to the original spot that I picked up the Key and I can’t move. I want to be able to place it in another location then pick it up and move it again but it needs to be anchored so that my NPC’s wont be able to knock it down or move it as they move into it.

You can enable and disable Align Position, This would prevent npcs from moving it (if you make it strong enough) and allow the player to pick it up by disabling it.

I’m not sure how to do that. Is that under properties?

AlignPosition is a constraint/Physics in the model tab at the top, You can edit its properties to stop aligning or align with an attachment of where the key is supposed to be

Hmmm, I’m not sure how to do that. Is there any way to do something like

if partDropped then
Key.Anchored = true
end

(that didnt work when I added it to my code). I need help coding that if it can be done that way.
Or is it easier to use the alignment? When I clicked on Align Tool I don’t know here to go from there.

I’m not great at scripting, I wouldn’t know. Im mainly a builder.

Does anyone know how to make it so that I can pick up my object, set it down anchored so my NPC’s won’t be able to move it and pick it up again?