Untitled
unknown
lua
3 years ago
2.9 kB
9
Indexable
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 zakup = magazyn[nazwa]
if zakup then
zakup.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
game.Players.PlayerAdded:Connect(function(gracz)
local kasa = Bank:GetAsync(gracz.UserId) or 0
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
for i, przycisk in pairs(przyciski:GetChildren()) do
nowyPrzycisk(przycisk)
end
gracz:LoadCharacter()
kasaNaSerwerze.Changed:Connect(function(liczba)
kasaLokalnie.Value = liczba
end)
script.Parent.Podstawowe.Zbieracz.Touched:Connect(function(obiekt)
if obiekt and obiekt:FindFirstChild("Kasa") then
script.Skarbiec.Value += obiekt.Kasa.Value
obiekt:Destroy()
end
end)
-- W momencie, kiedy obiekt Zbieracz zostanie dotknięty połącz się z funkcją
script.Parent.Podstawowe.Zbieracz.Touched:Connect(function(obiekt)
-- Sprawdź czy jest jakiś obiekt i czy posiada w sobie element Kasa
if obiekt and obiekt:FindFirstChild("Kasa") then
-- Dodajemy kasę do skarbca, wartość kasy jest uzależniona od wartości bloczku
script.Skarbiec.Value += obiekt.Kasa.Value
-- Zniszcz ten obiekt
obiekt:Destroy()
end
end)
while true do
Bank:SetAsync(gracz.UserId, kasaNaSerwerze.Value)
print("Kasa zapisana!")
wait(10)
end
end)
Editor is loading...