Line 5 of your code has two reasons that will get you an error.
The first case is that you misspelled "Position" property for your Part/Object. This'll throw a not a valid member of part.
The second is that you're setting nil values to a property. Since Position takes a Vector3 you'll need to use Vector3.new() to actually create a new position.
Vector3.new() takes only 3 values; an X, Y and a Z. In your code you have 4 for some reason. The line should look something like:
Object.Position = Vector3.new(num2, 1, num)
The above line creates a Vector3 at two random X and Z values using the math.random. It also sets the Y value to 1 so all parts should be leveled at 1. The new position for the cloned objects should be in between your given radius.
local coin = workspace.Coin
while true do
local num = math.random(-57,294)
local num2 = math.random(72,-310)
local Object = coin:Clone()
Object.Position = Vector3.new(num2, 1, num)
wait(5)
end
On another note, using a while true do loop will infinitely create parts. You'll want to set a condition for this to stop or use a break at some point.
I recommend using a counting for loop that lets you control how many parts you want created:
local coin = workspace.Coin
for i = 1, 10 do
local num = math.random(-57,294)
local num2 = math.random(72,-310)
local Object = coin:Clone()
Object.Position = Vector3.new(num2, 1, num)
wait(5)
end
This creates 10 coins instead of an infinite number of them. It reads better than a messy while loop with if-checks.
2 comments
When troubleshooting the first thing you should do is add a print statement to see if your code is even running.
Vector3.new(X, Y, Z)?