I've made a brick that when being touched, clones the player's character on command.
The cloning part worked successfully, but it won't stop cloning once it's first clone. I plan to only made one clone.
I used a normal script parented by the part that does the function.
script.Parent.Touched:Connect(function(hit)
local db = false
local plr = hit.Parent
local hum = plr:FindFirstChildWhichIsA('Humanoid')
plr.Archivable = true
if ( hum ) and not db then
db = true
print("hi")
local clone = plr:Clone()
clone.Parent = workspace
wait(7)
db = false
clone:Destroy()
end
end)
I have used some guidance from the wiki.

2 comments
So instead of checking the term 'Humanoid' is present. The client variable finds for the player touching the brick instead of other object, I didn't really consider that.
The code worked completely fine and smooth. Thanks!