local przyciski = script.Parent.Przyciski local zakupy = script.Parent.Zakupy local magazyn = {} local DSS = game:GetService("DataStoreService") local Bank = DSS:GetDataStore("Kasa") local function ukryjPrzycisk(przycisk) przycisk.CanTouch = false przycisk.Transparency = 1 przycisk.Tablica.Enabled = false end local function odkryjPrzycisk(przycisk) przycisk.CanTouch = true przycisk.Transparency = 0 przycisk.Tablica.Enabled = true end local function nowyPrzycisk(przycisk) local zakup local nazwa = przycisk.Name if zakupy:FindFirstChild(nazwa) then zakup = zakupy[nazwa] magazyn[nazwa] = zakup:Clone() zakup:Destroy() else warn("Brakuje zakupu: " .. nazwa) end if not (nazwa == "1") then ukryjPrzycisk(przycisk) end przycisk.Touched:Connect(function(hit) local player = game.Players:FindFirstChild(hit.Parent.Name) if player then local zakupZMagazynu = magazyn[nazwa] if zakupZMagazynu then zakupZMagazynu.Parent = zakupy end for i, element in pairs(przycisk:GetChildren()) do if element.Name == "Kolejny" then local przyciskDoOdkrycia = przyciski:FindFirstChild(element.Value) if przyciskDoOdkrycia then odkryjPrzycisk(przyciskDoOdkrycia) else warn("Brakuje przycisku: " .. element.Value) end end end przycisk:Destroy() end end) end for i, przycisk in pairs(przyciski:GetChildren()) do nowyPrzycisk(przycisk) end game.Players.PlayerAdded:Connect(function(gracz) local sukces, kasa = pcall(function() return Bank:GetAsync(gracz.UserId) end) if not sukces or not kasa then kasa = 0 end local tablicaNaSerwerze = Instance.new("Folder", game.ServerStorage) tablicaNaSerwerze.Name = gracz.Name local kasaNaSerwerze = Instance.new("NumberValue", tablicaNaSerwerze) kasaNaSerwerze.Name = "Kasa" kasaNaSerwerze.Value = kasa local tablicaLokalnie = Instance.new("Folder", gracz) tablicaLokalnie.Name = "leaderstats" local kasaLokalnie = Instance.new("NumberValue", tablicaLokalnie) kasaLokalnie.Name = "Kasa" kasaLokalnie.Value = kasa gracz:LoadCharacter() kasaNaSerwerze.Changed:Connect(function(liczba) kasaLokalnie.Value = liczba end) task.spawn(function() while gracz.Parent do task.wait(30) pcall(function() Bank:SetAsync(gracz.UserId, kasaNaSerwerze.Value) end) print("Kasa zapisana dla: " .. gracz.Name) end end) end) game.Players.PlayerRemoving:Connect(function(gracz) local tablicaNaSerwerze = game.ServerStorage:FindFirstChild(gracz.Name) if tablicaNaSerwerze and tablicaNaSerwerze:FindFirstChild("Kasa") then pcall(function() Bank:SetAsync(gracz.UserId, tablicaNaSerwerze.Kasa.Value) end) tablicaNaSerwerze:Destroy() -- SprzÄ…tanie po graczu end end)