Загрузка данных


local Players = game:GetService("Players")

local function onPlayerAdded(player)
	-- Создаем папку leaderstats (название должно быть точным)
	local leaderstats = Instance.new("Folder")
	leaderstats.Name = "leaderstats"
	leaderstats.Parent = player

	-- Создаем значение для Монет
	local coins = Instance.new("IntValue")
	coins.Name = "Coins" -- Имя отобразится в таблице
	coins.Value = 0     -- Начальное количество монет
	coins.Parent = leaderstats

	-- Создаем значение для Камней
	local gems = Instance.new("IntValue")
	gems.Name = "Rock"   -- Имя отобразится в таблице
	gems.Value = 0      -- Начальное количество камней
	gems.Parent = leaderstats
end

-- Подключаем функцию к событию входа игрока
Players.PlayerAdded:Connect(onPlayerAdded)




local part = script.Parent
local clickDetector = part:WaitForChild("ClickDetector")

-- Таблица для отслеживания кликов каждого игрока
local playerClicks = {}
-- Переменная, которая не дает кликать во время перезарядки блока
local isCooldown = false

local function onClick(player)
	-- Если блок уже "пропал", кликать нельзя
	if isCooldown then return end

	local leaderstats = player:FindFirstChild("leaderstats")
	if not leaderstats then return end

	local rock = leaderstats:FindFirstChild("Rock")
	if not rock then return end

	if not playerClicks[player] then
		playerClicks[player] = 0
	end

	playerClicks[player] = playerClicks[player] + 1

	-- Если набралось 5 кликов
	if playerClicks[player] >= 5 then
		rock.Value = rock.Value + 1   -- Выдаем 1 Rock
		playerClicks[player] = 0       -- Сбрасываем клики игрока

		-- Запускаем процесс исчезновения блока
		isCooldown = true
		clickDetector.MaxActivationDistance = 0 -- Отключаем клик-детектор
		part.Transparency = 1                   -- Делаем полностью невидимым
		part.CanCollide = false                 -- Отключаем физическое столкновение

		task.wait(3) -- Ждем 3 секунды

		-- Возвращаем блок назад
		part.Transparency = 0                   -- Делаем видимым
		part.CanCollide = true                  -- Включаем столкновения
		clickDetector.MaxActivationDistance = 32 -- Базовое расстояние для клика в Roblox
		isCooldown = false
	end
end

-- Очищаем память при выходе игрока
game:GetService("Players").PlayerRemoving:Connect(function(player)
	playerClicks[player] = nil
end)

clickDetector.MouseClick:Connect(onClick)