✓ Accepted answer
Problem
You're only cloning your object once. You want to clone a new instance of the object every time your onActivated function is called.
Clean up
You should also use variables for anything you'll end up using more than once, or for anything that acts as a container for other objects. Here's an example:
local serverStorage = game:GetService("ServerStorage")
local tool = script.Parent
local handle = tool:WaitForChild("Handle")
local readyVal = handle:WaitForChild("ready")
local partClass = serverStorage:WaitForChild("fastpart")
tool.Activated:Connect(function()
if readyVal.Value then
readyVal.Value = false
local fastPart = partClass:Clone()
fastPart.Parent = workspace
fastPart.CFrame = CFrame.new(handle.CFrame.p)
wait(10)
fastPart:Destroy()
readyVal.Value = false
end
end)
So there would be a slightly cleaner approach to your attempt. If you have any questions about anything mentioned in the commented text, just let me know and I'll get back to you as soon as possible.