Coins = 100
Level = 1local Players = game:GetService("Players")
local DataStoreService = game:GetService("DataStoreService")
local playerDataStore = DataStoreService:GetDataStore("PlayerData")Players.PlayerAdded:Connect(function(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local coins = Instance.new("IntValue")
coins.Name = "Coins"
coins.Value = 100
coins.Parent = leaderstats
local level = Instance.new("IntValue")
level.Name = "Level"
level.Value = 1
level.Parent = leaderstats
end)local function savePlayerData(player)
local leaderstats = player:FindFirstChild("leaderstats")
if not leaderstats then
return
end
local coins = leaderstats:FindFirstChild("Coins")
local level = leaderstats:FindFirstChild("Level")
if not coins or not level then
return
end
local data = {
Coins = coins.Value,
Level = level.Value
}
local key = "Player_" .. player.UserId
local success, err = pcall(function()
playerDataStore:SetAsync(key, data)
end)
if success then
print("Данные сохранены:", player.Name)
else
warn("Ошибка сохранения:", err)
end
endwhile true do
task.wait(120)
for _, player in ipairs(Players:GetPlayers()) do
savePlayerData(player)
end
endPlayers:GetPlayers()for _, player in ipairs(Players:GetPlayers()) doPlayers.PlayerRemoving:Connect(function(player)
savePlayerData(player)
end)local Players = game:GetService("Players")
local DataStoreService = game:GetService("DataStoreService")
local playerDataStore = DataStoreService:GetDataStore("PlayerData")
local function savePlayerData(player)
local leaderstats = player:FindFirstChild("leaderstats")
if not leaderstats then
return
end
local coins = leaderstats:FindFirstChild("Coins")
local level = leaderstats:FindFirstChild("Level")
if not coins or not level then
return
end
local data = {
Coins = coins.Value,
Level = level.Value
}
local key = "Player_" .. player.UserId
local success, err = pcall(function()
playerDataStore:SetAsync(key, data)
end)
if success then
print("Данные сохранены:", player.Name)
else
warn("Ошибка сохранения:", err)
end
end
Players.PlayerAdded:Connect(function(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local coins = Instance.new("IntValue")
coins.Name = "Coins"
coins.Value = 100
coins.Parent = leaderstats
local level = Instance.new("IntValue")
level.Name = "Level"
level.Value = 1
level.Parent = leaderstats
end)
Players.PlayerRemoving:Connect(function(player)
savePlayerData(player)
end)
while true do
task.wait(120)
for _, player in ipairs(Players:GetPlayers()) do
savePlayerData(player)
end
endlocal key = "Player_" .. player.UserId
local success, data = pcall(function()
return playerDataStore:GetAsync(key)
end)
if success and data then
coins.Value = data.Coins or 100
level.Value = data.Level or 1
endlocal success, err = pcall(function()
playerDataStore:SetAsync(key, data)
end)task.wait(1)task.wait(120)coins.Value += 1if not success then
warn("Не удалось сохранить данные:", err)
endlocal data = {
Coins = coins.Value,
Level = level.Value,
XP = xp.Value
}