SHOW:
|
|
- or go back to the newest paste.
1 | local player = game.Players.LocalPlayer -- odwołanie do lokalnego gracza | |
2 | local character = player.Character -- odwołanie do characteru | |
3 | local purchased = false -- zmienna logiczna czy zostało kupione | |
4 | local price = 1000 -- cena przedmiotu | |
5 | -- zdarzenie do sprawdzenia pieniędzy gracza | |
6 | local checkMoney = game.ReplicatedStorage:WaitForChild("CheckMoney") | |
7 | -- nazwa przedmiotu | |
8 | local objectName = "Mjolnir" | |
9 | ||
10 | -- jeżeli nie ma characteru lub nie został on przypisany do gry | |
11 | if not character or not character.Parent then | |
12 | -- czekamy, aż character zostanie dodany | |
13 | character = player.CharacterAdded:wait() | |
14 | end | |
15 | ||
16 | -- jeżeli przycisk został kliknięty | |
17 | script.Parent.MouseButton1Click:Connect(function() | |
18 | -- jeżeli jest dostępny character | |
19 | if player.Character then | |
20 | -- wyślij zdarzenie na serwer z ceną przedmiotu i nazwą obiektu, który chce kupić gracz | |
21 | checkMoney:FireServer(price, objectName) | |
22 | end | |
23 | end) | |
24 | ||
25 | -- funkcja z dwoma argumentami, czy możemy kupić oraz nazwą przedmiotu do zakupu | |
26 | function Buy(canBuy, name) | |
27 | -- jeżeli nazwa przesłana z serwera jest taka sama jak nazwa obiektu w tym skrypcie | |
28 | if name == objectName then | |
29 | -- jeżeli możemy kupić ten obiekt, ponieważ mamy wystarczająca ilość gotówki -- oraz nie został ten przedmiot kupiony przez gracza | |
30 | if canBuy and not purchased then | |
31 | -- wyślij zdarzenie na serwer ReduceMoney, spowoduje to zabranie gotówki -- graczowi, o wartość ceny przedmiotu | |
32 | game.ReplicatedStorage:WaitForChild("ReduceMoney"):FireServer(price) | |
33 | -- cena przedmiotu zmienia się na 0 | |
34 | price = 0 | |
35 | -- wyślij zdarzenie na serwer AddMjolnir, spowoduje to dodanie mjolnira graczowi | |
36 | game.ReplicatedStorage:WaitForChild("AddMjolnir"):FireServer(player) | |
37 | -- zmień kolor tekstu na zielony | |
38 | script.Parent.TextLabel.TextColor3 = Color3.new(0,1,0) | |
39 | -- zmień napis na PURCHASED | |
40 | script.Parent.TextLabel.Text = "PURCHASED" | |
41 | -- zmień wartość purchased na true (przedmiot został już zakupiony) | |
42 | purchased = true | |
43 | else -- w przeciwnym przypadku | |
44 | ||
45 | -- jeżeli nie zostało kupione | |
46 | if not purchased then | |
47 | -- zmień kolor tekstu na czerwony | |
48 | script.Parent.TextLabel.TextColor3 = Color3.new(1,0,0) | |
49 | -- poczekaj sekundę | |
50 | wait(1) | |
51 | -- zmień kolor tekstu na czarny | |
52 | script.Parent.TextLabel.TextColor3 = Color3.new(0,0,0) | |
53 | end | |
54 | end | |
55 | end | |
56 | end | |
57 | -- jeżeli serwer wywoła zdarzenie checkMoney na kliencie połącz się z funkcją Buy | |
58 | checkMoney.OnClientEvent:Connect(Buy) |