Advertisement
drakon-firestone

DataServer - końcówka

May 10th, 2023
812
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.37 KB | None | 0 0
  1. -- Funkcja 'SaveData', która zapisuje dane gracza na serwerze
  2. local function SaveData(player)
  3.     -- Definiujemy zmienną 'data' i
  4.     -- przeglądamy wszystkie dzieci gracza, zapisując ich wartości do zmiennej 'data'
  5.     local data = {}
  6.     local success, errorMsg = pcall(function()
  7.         for i, folder in pairs(player:GetChildren()) do
  8.             data[folder.Name] = {}
  9.             for i, item in pairs(folder:GetChildren()) do
  10.                 data[folder.Name][item.Name] = item.Value
  11.             end
  12.         end
  13.         -- Wywołujemy funkcję 'SetAsync' na obiekcie 'dataStore', zapisując dane gracza
  14.         dataStore:SetAsync(player.UserId .. key, data)
  15.     end)
  16.     -- Jeżeli wykonanie zadania nie udało się, wyświetlamy błąd i ponownie zapisujemy dane
  17.     if not success then
  18.         warn(errorMsg)
  19.         wait(5)
  20.         SaveData(player)
  21.     end
  22.  
  23.     print("Saved data")
  24.     print(data)
  25. end
  26. -- Podpinamy funkcje 'LoadData' i 'SaveData' do eventów 'PlayerAdded' i 'PlayerRemoving'
  27. players.PlayerAdded:Connect(LoadData)
  28. players.PlayerRemoving:Connect(SaveData)
  29. -- Podpinamy funkcję do eventu 'OnServerEvent' na obiekcie 'bank',
  30. -- umożliwiającej graczom dodawanie środków do konta
  31. bank.OnServerEvent:Connect(function(player, action, currency, amount)
  32.     if action == "+" then
  33.         if currency == "Coins" then
  34.             player.leaderstats.Coins.Value += amount
  35.         elseif currency == "Diamonds" then
  36.             player.leaderstats.Diamonds.Value += amount
  37.         end
  38.     end
  39. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement