I need help fixing my Tycoon’s data save script
Script
local Players = game:GetService("Players")
local DataStoreService = game:GetService("DataStoreService")
local dataStore = DataStoreService:GetDataStore("MyTycoonDataStore2")
local function saveData(player)
print("Сохранение данных для игрока " .. player.Name)
-- Находим Tycoon у игрока
local tycoon = player:FindFirstChild("TycoonOwned")
if not tycoon then
warn("Tycoon у игрока " .. player.Name .. " не найден.")
return
end
-- Находим модель Tycoon в Workspace
local tycoonModel = workspace.Tycoon:FindFirstChild(tycoon.Name)
if not tycoonModel then
warn("Модель Tycoon игрока " .. player.Name .. " не найдена в Workspace.")
return
end
-- Находим папку Purchases в модели Tycoon
local purchases = tycoonModel:FindFirstChild("Purchases")
if not purchases then
-- Если папка покупок не найдена, ждем ее появления
purchases = tycoonModel:WaitForChild("Purchases", 10) -- Максимум 10 секунд на ожидание
if not purchases then
warn("Папка покупок у Tycoon игрока " .. player.Name .. " не найдена.")
return
end
end
-- Собираем данные о покупках
local tycoonData = {}
for _, object in ipairs(purchases:GetChildren()) do
table.insert(tycoonData, object.Name)
end
-- Сохранение Cash
local successCash, errCash = pcall(function()
dataStore:SetAsync(player.UserId .. "-Cash", player.leaderstats.Cash.Value)
print("Cash успешно сохранен для игрока " .. player.Name)
end)
if not successCash then
warn("Ошибка при сохранении Cash для игрока " .. player.Name .. ": " .. errCash)
end
-- Сохранение данных Tycoon
local successTycoon, errTycoon = pcall(function()
dataStore:SetAsync(player.UserId, tycoonData)
print("Данные Tycoon успешно сохранены для игрока " .. player.Name)
end)
if not successTycoon then
warn("Ошибка при сохранении данных Tycoon для игрока " .. player.Name .. ": " .. errTycoon)
end
print("Данные успешно сохранены для игрока " .. player.Name)
end
-- Сохранение данных при выходе игрока
Players.PlayerRemoving:Connect(function(player)
saveData(player)
end)
-- Сохранение данных при закрытии игры
game:BindToClose(function()
for _, player in pairs(Players:GetPlayers()) do
saveData(player)
end
end)
PS: I’ am from Russia, sorry for my bad english and for Russian sentences in the script
I tried many versions of the code, but it still refuses to work, and besides, there are problems:
Tycoon duplication
And not actually saving data (although rather downloading, probably)
New contributor
SporkaPlay is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.