Nice.
I just don't get it what's the trick? What makes it more smooth? ( But it still not perfect, don't know why )
Mine script works as well, but just not as smooth but both use :to() function
i would just add somewhere
game.GameUsedItem:getName() ~= game.CurrentObject:getName()
Because i'm covering the dragged item with a black tile. So i guess into the 19 line?