View difference between Paste ID: wLR1FXfL and nUmyDxAM
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)