local DataStoreService = game:GetService("DataStoreService")
local playerDataStore = DataStoreService:GetDataStore("PlayerBlobStore")
-- Функция для сохранения состояния
local function saveBlobState(player, blobName, isOpen)
local success, errorMessage = pcall(function()
playerDataStore:SetAsync(player.UserId .. "_" .. blobName, isOpen)
end)
if not success then
warn("Ошибка при сохранении состояния: " .. errorMessage)
end
end
-- Функция для загрузки состояния
local function loadBlobState(player, blobName)
local success, result = pcall(function()
return playerDataStore:GetAsync(player.UserId .. "_" .. blobName)
end)
if success then
return result
else
warn("Ошибка при загрузке состояния: " .. result)
return false -- Если ошибка, считаем, что колобок закрыт
end
end
-- Слушаем события, когда игрок заходит в игру
game.Players.PlayerAdded:Connect(function(player)
-- В данном примере мы будем хранить состояние одного колобка
local blobName = "colobok1" -- Поменяйте на реальное имя вашего колобка
local isOpen = loadBlobState(player, blobName)
-- Например, показываем состояние колобка в GUI
local gui = player:WaitForChild("PlayerGui"):WaitForChild("YourGui") -- Замените на ваш GUI
local blobButton = gui:WaitForChild("ColobokButton") -- Замените на кнопку вашего колобка
if isOpen then
blobButton.Text = "Open"
else
blobButton.Text = "No open"
end
-- Слушаем нажатие кнопки
blobButton.MouseButton1Click:Connect(function()
-- Меняем состояние колобка
isOpen = not isOpen
saveBlobState(player, blobName, isOpen)
if isOpen then
blobButton.Text = "Open"
else
blobButton.Text = "No open"
end
end)
end)
-- Когда игрок покидает игру, его данные сохраняются автоматически
game.Players.PlayerRemoving:Connect(function(player)
-- Дополнительное сохранение может быть выполнено здесь (если требуется)
end)