Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Odwołanie do folderu z przyciskami do Tycoona
- local przyciski = script.Parent.Przyciski
- -- Odwołanie do folderu z zakupami do Tycoona
- local zakupy = script.Parent.Zakupy
- -- Utworzenie magazynu do przechowywania
- -- niezakupionych elementów do Tycoona
- -- Tego rodzaju tablicę, można wyobrazić sobie
- -- jako pudełko z szufladkami, do którego można
- -- umieszczać elementy, a następnie gdy ich potrzebujemy
- -- wyciągać za pomocą polecenia: magazyn[nazwa]
- local magazyn = {}
- -- Funkcja, która ukrywa podany przycisk
- local function ukryjPrzycisk(przycisk)
- -- Wyłączenie opcji wykrywania dotknięcia
- przycisk.CanTouch = false
- -- Ustawienie przezroczystości na 1
- przycisk.Transparency = 1
- end
- -- Funkcja, która odkrywa podany przycisk
- local function odkryjPrzycisk(przycisk)
- -- Włączenie opcji wykrywania dotknięcia
- przycisk.CanTouch = true
- -- Ustawienie przezroczystości na 0
- przycisk.Transparency = 0
- end
- -- Funkcja, która ustawia nowy przycisk
- local function nowyPrzycisk(przycisk)
- -- Tworzymy zmienną do przechowywania tymczasowo zakupu
- local zakup
- -- Zmienna nazwa będzie przechowywać nazwę przycisku
- local nazwa = przycisk.Name
- -- Jeżeli w folderze zakupy zostanie znaleziony element,
- -- który będzie miał taką samą nazwę jak nazwa przycisku, wtedy
- if zakupy:FindFirstChild(nazwa) then
- -- Do zmiennej zakup przypisujemy element z folderu zakupy
- zakup = zakupy[nazwa]
- -- Następnie do magazynu wędruje klon elementu zakup
- magazyn[nazwa] = zakup:Clone()
- -- Zakup zostaje zniszczony, co spowoduje, że nie będzie
- -- widoczny w naszym Tycoonie, tylko ukryty w magazynie
- zakup:Destroy()
- else -- W przeciwnym wypadku, jeżeli wybrany zakup nie zostanie znaleziony
- -- W oknie output pojawi się ostrzeżenie, że np. Brakuje zakupu: 5
- warn("Brakuje zakupu: " .. nazwa)
- end
- -- Jeżeli nazwa przycisku nie jest 1 to ukrywamy podany przycisk
- -- Ta instrukcja warunkowa pozwoli pokazać pierwszy przycisk
- -- od którego gracz będzie zaczynał swoją rozgrywkę
- if not (nazwa == "1") then
- ukryjPrzycisk(przycisk)
- end
- -- Aktywacja zdarzenia dotknięcia innego obiektu z przyciskiem
- -- hit - jest to element, który dotknie przycisk
- przycisk.Touched:Connect(function(hit)
- -- może to być każda część występująca na świecie
- -- dlatego poniżej szukamy gracza po jego nazwie
- -- czyli rodzica obiektu, który dotknął przycisk
- -- ponieważ dzieci modelu postaci mogą dotknąć przycisk,
- -- a rodzic tych części czyli model postaci zawiera nazwę gracza
- local player = game.Players:FindFirstChild(hit.Parent.Name)
- -- Jeżeli gracz został znaleziony, co oznacza, że to on dotknął przycisk
- if player then
- -- Tworzymy kolejną zmienną zakup,
- -- do której wrzucamy element do zakupu z magazynu
- local zakup = magazyn[nazwa]
- -- Jeżeli zakup został prawidłowo znaleziony w magazynie
- if zakup then
- -- Ustawiamy rodzina zakupu na folder zakupy,
- -- co spowoduje, że dany zakup pojawi się w grze
- zakup.Parent = zakupy
- end
- -- Tworzymy pętle for, która wykona się tyle razy
- -- ile będzie znajdowało się elementów w przycisku
- for i, element in pairs(przycisk:GetChildren()) do
- -- Jeżeli element ma nazwę Kolejny
- -- to oznacza, że po tym przycisku ma się pojawić kolejny przycisk
- if element.Name == "Kolejny" then
- -- informacja o nazwie przycisku, który odkrywamy
- -- znajduje się w wartości obiektu element pod nazwą Kolejny
- local przyciskDoOdkrycia = przyciski:FindFirstChild(element.Value)
- -- Jeżeli przycisk do odkrycia został znaleziony
- if przyciskDoOdkrycia then
- -- Uruchamiamy funkcję odkryjPrzycisk
- odkryjPrzycisk(przyciskDoOdkrycia)
- else -- w przeciwnym razie
- -- W oknie output pojawi się ostrzeżenie, że np. Brakuje przycisku: 3
- warn("Brakuje przycisku: " .. element.Value)
- end
- end
- end
- -- W tym miejscu usuwamy dany przycisk z gry
- przycisk:Destroy()
- end
- end)
- end
- -- Kiedy gracz zostanie dodany wykonaj funkcję
- game.Players.PlayerAdded:Connect(function(gracz)
- -- Tworzymy pętle for, która wykona się tyle razy
- -- ile będzie znajdowało się przycisków w folderze z przyciskami
- for i, przycisk in pairs(przyciski:GetChildren()) do
- -- Uruchamiamy funkcję nowyPrzycisk
- nowyPrzycisk(przycisk)
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement