Untitled

mail@pastecode.io avatar
unknown
lua
a year ago
3.7 kB
8
Indexable
Never
local przyciski = script.Parent.Przyciski
local zakupy = script.Parent.Zakupy

local magazyn = {}

local DSS = game:GetService("DataStoreService")
local Bank = DSS:GetDataStore("Kasa")

local podstawowe = script.Parent.Podstawowe
local kierownik = script.Kierownik
local drzwi = podstawowe.Drzwi

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 and kierownik.Value == player and game.ServerStorage[player.Name].Kasa.Value >= przycisk.Cena.Value then          

			game.ServerStorage[player.Name].Kasa.Value -= przycisk.Cena.Value

			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

for i, przycisk in pairs(przyciski:GetChildren()) do
	nowyPrzycisk(przycisk)
end

-- game.Players.PlayerAdded:Connect(function(gracz)
local function nowyTycoon(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 -- usuwamy lub komentujemy
	--      nowyPrzycisk(przycisk) -- usuwamy lub komentujemy
	--  end -- usuwamy lub komentujemy

	--  gracz:LoadCharacter()  -- usuwamy lub komentujemy

	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)

	script.Parent.Podstawowe.Bank.Touched:Connect(function(obiekt)
		if obiekt.Parent == gracz.Character then
			kasaNaSerwerze.Value += script.Skarbiec.Value
			script.Skarbiec.Value = 0
		end
	end)

	while true do
		Bank:SetAsync(gracz.UserId, kasaNaSerwerze.Value)
		print("Kasa zapisana!")
		wait(10)
	end
end
-- ) usuwamy na końcu nawias

drzwi.Touched:Connect(function(part)

	if part.Parent:FindFirstChild("Humanoid") and kierownik.Value == nil then

		local gracz = game.Players:GetPlayerFromCharacter(part.Parent)

		local posiada = false

		for i, element in pairs(game.Workspace:GetDescendants()) do
			if element.Name == "System" then
				if element.Kierownik.Value == gracz then
					posiada = true
					print("Posiada")
				end
			end
		end

		if not posiada then
			kierownik.Value = game.Players:GetPlayerFromCharacter(part.Parent)  
			nowyTycoon(gracz)
		end
	end
end)