drakon-firestone

ServerScript

Jun 18th, 2021
848
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local RemoteEvent = Instance.new("RemoteEvent", game.ReplicatedStorage)
  2. RemoteEvent.Name = "ChangeOwner"
  3.  
  4. local function ChangeTycoonOwner(player)
  5.     game.Workspace.Tycoon.TycoonInfo.Owner.Value = player
  6. end
  7.  
  8. RemoteEvent.OnServerEvent:Connect(ChangeTycoonOwner)
  9.  
  10. -- odwołanie do serwisu DataStoreService
  11. local DSS = game:GetService("DataStoreService")
  12. -- odwołanie do danych pod nazwą Money
  13. local MoneyData = DSS:GetDataStore("Money")
  14.  
  15. -- kiedy gracz zostanie dodany połącz się z funkcją
  16. game.Players.PlayerAdded:Connect(function(player)
  17.  
  18.     -- stwórz nowy folder i przypisz go do gracza
  19.     local board = Instance.new("Folder", player)
  20.     -- nazwanie folderu "leaderstats"
  21.     board.Name = "leaderstats"
  22.  
  23.     -- stwórz nowy obiekt NumberValue i przypisz go do board
  24.     local displayMoney = Instance.new("NumberValue", board)
  25.     -- nazwanie obiektu NumberValue "Money"
  26.     displayMoney.Name = "Money"
  27.  
  28.     -- stwórz nowy obiekt NumberValue i przypisz go do PlayersMoney
  29.     local serverMoney = Instance.new("NumberValue", game.ServerStorage.PlayersMoney)
  30.     -- nazwanie obiektu NumberValue nazwą gracza
  31.     serverMoney.Name = player.Name
  32.     -- pobranie danych z serwera, jeżeli ich brak ustaw wartość na 0
  33.     serverMoney.Value = MoneyData:GetAsync(player.UserId) or 0
  34.     -- ustawienie ilości pieniędzy z serwera do lokalnego wyświetlenia ilości gotówki
  35.     displayMoney.Value = serverMoney.Value
  36.  
  37.     -- jeżeli wartość pieniędzy serwerowych danego gracza
  38.     -- zostanie zmieniona
  39.     serverMoney.Changed:connect(function(value)
  40.         -- ustaw wartość serwerowych pieniędzy na wyświetlaną ilość pieniędzy
  41.         displayMoney.Value = value
  42.     end)
  43.  
  44.     -- kiedy gracz opuszcza grę połącz z funkcją
  45.     game.Players.PlayerRemoving:Connect(function(player)
  46.         -- napisz w konsoli "nazwa gracza" removing!        
  47.         print(player.Name .. " removing!")
  48.         -- zapisz ilość pieniędzy danego gracza na serwerze
  49.         MoneyData:SetAsync(player.UserId, game.ServerStorage.PlayersMoney[player.Name].Value)
  50.         -- wyświetl komunikat
  51.         print(player.Name .. ": " .. game.ServerStorage.PlayersMoney[player.Name].Value .. " money saved!")
  52.     end)
  53.  
  54.     -- jeżeli gracz jest przypisany do gry pętla będzie działać
  55.     while player.Parent do
  56.         -- zapisz ilość pieniędzy danego gracza na serwerze
  57.         MoneyData:SetAsync(player.UserId, game.ServerStorage.PlayersMoney[player.Name].Value)
  58.         -- wyświetl komunikat
  59.         print(player.Name .. ": " .. game.ServerStorage.PlayersMoney[player.Name].Value .. " money saved!")
  60.         -- czekaj 10 sekund
  61.         wait(10)
  62.     end
  63.  
  64. end)
RAW Paste Data