local ToolFolder = game:GetService("ServerStorage"):FindFirstChild("Tool")
local DataStoreService = game:GetService("DataStoreService")
local SaveData = DataStoreService:GetDataStore("SaveData")
game.Players.PlayerAdded:Connect(function(Player)
local ToolData = SaveData:GetAsync(Player.UserId)
local Backpack = Player:WaitForChild("Backpack")
if ToolData ~= nil then
print("ToolData загружены:", ToolData)
for i, v in pairs(ToolData) do
if ToolFolder:FindFirstChild(v) and game.StarterPack:FindFirstChild(v) == nil then
ToolFolder[v]:Clone().Parent = Backpack
end
end
else
print("ToolData не найдено для игрока:", Player.UserId)
end
Player.CharacterRemoving:Connect(function(Character)
local humanoid = Character:FindFirstChild("Humanoid")
if humanoid then
humanoid:UnequipTools()
end
end)
end)
game.Players.PlayerRemoving:Connect(function(Player)
local ToolTable = {}
local char = Player.Character
if char then
for i, v in pairs(char:GetChildren()) do
if v:IsA("Tool") then
table.insert(ToolTable, v.Name)
end
end
end
for i, v in pairs(Player.Backpack:GetChildren()) do
table.insert(ToolTable, v.Name)
end
if #ToolTable > 0 then
local success, errorMessage = pcall(function()
SaveData:SetAsync(Player.UserId, ToolTable)
end)
if not success then
warn("Ошибка сохранения данных:", errorMessage)
end
end
end)
local DataStoreService = game:GetService("DataStoreService")
local SaveData = DataStoreService:GetDataStore("SaveData")
game.Players.PlayerAdded:Connect(function(Player)
local ToolData = SaveData:GetAsync(Player.UserId)
local Backpack = Player:WaitForChild("Backpack")
-- local StarterGear = Player:WaitForChild("StarterGear")
if ToolData ~= nil then
for i, v in pairs(ToolData) do
if ToolFolder:FindFirstChild(v) and game.StarterPack:FindFirstChild(v) == nil then --and StarterGear:FindFirstChild(v) == nil and then--and Backpack:FindFirstChild(v) == nil then
ToolFolder[v]:Clone().Parent = Backpack
--ToolFolder[v]:Clone().Parent = StarterGear
end
end
end
Player.CharacterRemoving:Connect(function(Character)
Character:FindFirstChild("Humanoid"):UnequipTools()
end)
end)
game.Players.PlayerRemoving:Connect(function(Player)
local ToolTable = {}
local char = Player.Character
if char then
for i, v in pairs(char:GetChildren()) do
if v:IsA("Tool") then
table.insert(ToolTable, v.Name )
end
end
end
for i, v in pairs(Player.Backpack:GetChildren()) do
table.insert(ToolTable, v.Name )
end
if ToolTable ~= nil then
SaveData:SetAsync(Player.UserId, ToolTable)
end
end)