SHOW:
|
|
- or go back to the newest paste.
1 | local przyciski = script.Parent.Przyciski | |
2 | local zakupy = script.Parent.Zakupy | |
3 | ||
4 | local magazyn = {} | |
5 | ||
6 | -- tworzymy odwołanie do DataStoreService | |
7 | local DSS = game:GetService("DataStoreService") | |
8 | -- pobranie magazynu danych (Kasa) do tworzonej zmiennej Bank | |
9 | local Bank = DSS:GetDataStore("Kasa") | |
10 | ||
11 | local function ukryjPrzycisk(przycisk) | |
12 | przycisk.CanTouch = false | |
13 | przycisk.Transparency = 1 | |
14 | przycisk.Tablica.Enabled = false | |
15 | end | |
16 | ||
17 | local function odkryjPrzycisk(przycisk) | |
18 | przycisk.CanTouch = true | |
19 | przycisk.Transparency = 0 | |
20 | przycisk.Tablica.Enabled = true | |
21 | end | |
22 | ||
23 | local function nowyPrzycisk(przycisk) | |
24 | local zakup | |
25 | local nazwa = przycisk.Name | |
26 | ||
27 | if zakupy:FindFirstChild(nazwa) then | |
28 | zakup = zakupy[nazwa] | |
29 | magazyn[nazwa] = zakup:Clone() | |
30 | zakup:Destroy() | |
31 | else | |
32 | warn("Brakuje zakupu: " .. nazwa) | |
33 | end | |
34 | ||
35 | if not (nazwa == "1") then | |
36 | ukryjPrzycisk(przycisk) | |
37 | end | |
38 | ||
39 | przycisk.Touched:Connect(function(hit) | |
40 | local player = game.Players:FindFirstChild(hit.Parent.Name) | |
41 | ||
42 | if player then | |
43 | ||
44 | local zakup = magazyn[nazwa] | |
45 | ||
46 | if zakup then | |
47 | zakup.Parent = zakupy | |
48 | end | |
49 | ||
50 | for i, element in pairs(przycisk:GetChildren()) do | |
51 | if element.Name == "Kolejny" then | |
52 | ||
53 | local przyciskDoOdkrycia = przyciski:FindFirstChild(element.Value) | |
54 | ||
55 | if przyciskDoOdkrycia then | |
56 | odkryjPrzycisk(przyciskDoOdkrycia) | |
57 | else | |
58 | warn("Brakuje przycisku: " .. element.Value) | |
59 | end | |
60 | ||
61 | end | |
62 | end | |
63 | ||
64 | przycisk:Destroy() | |
65 | ||
66 | end | |
67 | end) | |
68 | end | |
69 | ||
70 | ||
71 | game.Players.PlayerAdded:Connect(function(gracz) | |
72 | ||
73 | -- pobranie danych z serwera danego gracza, jeżeli ich brak ustaw wartość na 0 | |
74 | local kasa = Bank:GetAsync(gracz.UserId) or 0 | |
75 | ||
76 | -- stwórz nowy folder i do ServerStorage | |
77 | local tablicaNaSerwerze = Instance.new("Folder", game.ServerStorage) | |
78 | -- nazwanie folderu nazwą gracza | |
79 | tablicaNaSerwerze.Name = gracz.Name | |
80 | ||
81 | -- stwórz nowy obiekt NumberValue i przypisz go do tablicy na serwerze | |
82 | local kasaNaSerwerze = Instance.new("NumberValue", tablicaNaSerwerze) | |
83 | -- nazwanie obiektu NumberValue nazwą gracza | |
84 | kasaNaSerwerze.Name = "Kasa" | |
85 | -- ustawienie ilości pieniędzy z banku do zmiennej kasy znajdującej się na serwerze | |
86 | kasaNaSerwerze.Value = kasa | |
87 | ||
88 | -- stwórz nowy folder i przypisz go do gracza | |
89 | local tablicaLokalnie = Instance.new("Folder", gracz) | |
90 | -- nazwanie folderu "leaderstats" pozwala na wyświetlenie tabeli wyników | |
91 | -- w prawym górnym rogu ekranu gry | |
92 | tablicaLokalnie.Name = "leaderstats" | |
93 | ||
94 | -- stwórz nowy obiekt NumberValue i przypisz go do lokalnej tablicy | |
95 | local kasaLokalnie = Instance.new("NumberValue", tablicaLokalnie) | |
96 | -- nazwanie obiektu NumberValue (Kasa) | |
97 | - | while true do |
97 | + | |
98 | -- ustawienie lokalnej wartości kasy na wartość pobraną z serwera | |
99 | kasaLokalnie.Value = kasa | |
100 | ||
101 | ||
102 | for i, przycisk in pairs(przyciski:GetChildren()) do | |
103 | nowyPrzycisk(przycisk) | |
104 | end | |
105 | ||
106 | -- po pobraniu danych ładujemy (Character) model gracza do gry. | |
107 | gracz:LoadCharacter() | |
108 | ||
109 | -- jeżeli wartość kasy na serwerze danego gracza zostanie zmieniona | |
110 | kasaNaSerwerze.Changed:Connect(function(liczba) | |
111 | -- ustaw lokalną wartość kasy na wartość pobraną z serwera | |
112 | kasaLokalnie.Value = liczba | |
113 | end) | |
114 | ||
115 | ||
116 | while true do | |
117 | -- zapisz ilość kasy danego gracza na serwerze | |
118 | Bank:SetAsync(gracz.UserId, kasaNaSerwerze.Value) | |
119 | -- wyświetl komunikat | |
120 | print("Kasa zapisana!") | |
121 | -- czekaj 10 sekund | |
122 | wait(10) | |
123 | end | |
124 | ||
125 | end) |