So basically you need to touch a coin then it replaces around the map on another place but nothing happens is this script correct? : local part = script.Parent
local cooldown = 0.3 -- prevents double touches
local Y = 3 -- height above Baseplate
local baseplateSize = 512 -- normal Baseplate size
local baseplateHalf = baseplateSize / 2
local minX, maxX = -baseplateHalf, baseplateHalf
local minZ, maxZ = -baseplateHalf, baseplateHalf
local coinValue
if part.Name == "5Coin" then
coinValue = 5
elseif part.Name == "25Coin" then
coinValue = 25
elseif part.Name == "50Coin" then
coinValue = 50
elseif part.Name == "100Coin" then
coinValue = 100
elseif part.Name == "500Coin" then
coinValue = 500
else
coinValue = 0
end
local debounce = false
part.Touched:Connect(function(hit)
local character = hit.Parent
local player = game.Players:GetPlayerFromCharacter(character)
if not player then return end
local moneyStat = player:FindFirstChild("leaderstats") and player.leaderstats:FindFirstChild("Money")
if not moneyStat then return end
if debounce then return end
debounce = true
moneyStat.Value += coinValue
if part.Name == "500Coin" then
part.Position = Vector3.new(0, -1000, 0)
delay(120, function()
local newX = math.random(minX, maxX)
local newZ = math.random(minZ, maxZ)
part.Position = Vector3.new(newX, Y, newZ)
end)
else
local newX = math.random(minX, maxX)
local newZ = math.random(minZ, maxZ)
part.Position = Vector3.new(newX, Y, newZ)
end
wait(cooldown)
debounce = false
end)
** You are now Level 1! **