Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local player = game.Players.LocalPlayer -- odwołanie do lokalnego gracza
- local character = player.Character -- odwołanie do characteru
- local purchased = false -- zmienna logiczna czy zostało kupione
- local price = 0 -- cena przedmiotu
- -- zdarzenie do sprawdzenia pieniędzy gracza
- local checkMoney = game.ReplicatedStorage:WaitForChild("CheckMoney")
- -- nazwa przedmiotu
- local objectName = "Sword"
- -- jeżeli nie ma characteru lub nie został on przypisany do gry
- if not character or not character.Parent then
- -- czekamy, aż character zostanie dodany
- character = player.CharacterAdded:wait()
- end
- -- jeżeli przycisk został kliknięty
- script.Parent.MouseButton1Click:Connect(function()
- -- jeżeli jest dostępny character
- if player.Character then
- -- wyślij zdarzenie na serwer z ceną przedmiotu i nazwą obiektu, który chce kupić gracz
- checkMoney:FireServer(price, objectName)
- end
- end)
- -- funkcja z dwoma argumentami, czy możemy kupić oraz nazwą przedmiotu do zakupu
- function Buy(canBuy, name)
- -- jeżeli nazwa przesłana z serwera jest taka sama jak nazwa obiektu w tym skrypcie
- if name == objectName then
- -- jeżeli możemy kupić ten obiekt, ponieważ mamy wystarczająca ilość gotówki -- oraz nie został ten przedmiot kupiony przez gracza
- if canBuy and not purchased then
- -- wyślij zdarzenie na serwer ReduceMoney, spowoduje to zabranie gotówki -- graczowi, o wartość ceny przedmiotu
- game.ReplicatedStorage:WaitForChild("ReduceMoney"):FireServer(price)
- -- cena przedmiotu zmienia się na 0
- price = 0
- -- wyślij zdarzenie na serwer AddSword, spowoduje to dodanie miecza graczowi
- game.ReplicatedStorage:WaitForChild("AddSword"):FireServer(player)
- -- zmień kolor tekstu na zielony
- script.Parent.TextLabel.TextColor3 = Color3.new(0,1,0)
- -- zmień napis na PURCHASED
- script.Parent.TextLabel.Text = "PURCHASED"
- -- zmień wartość purchased na true (przedmiot został już zakupiony)
- purchased = true
- else -- w przeciwnym przypadku
- -- jeżeli nie zostało kupione
- if not purchased then
- -- zmień kolor tekstu na czerwony
- script.Parent.TextLabel.TextColor3 = Color3.new(1,0,0)
- -- poczekaj sekundę
- wait(1)
- -- zmień kolor tekstu na czarny
- script.Parent.TextLabel.TextColor3 = Color3.new(0,0,0)
- end
- end
- end
- end
- -- jeżeli serwer wywoła zdarzenie checkMoney na kliencie połącz się z funkcją Buy
- checkMoney.OnClientEvent:Connect(Buy)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement