← Wszystkie poradniki
Poradnik 3

Zbuduj swój pierwszy symulator

Klikaj kryształ, żeby zdobywać power, sprzedawaj power za coins i kupuj ulepszenia, które wzmacniają każde kliknięcie.

Za darmo50 minut · Dla początkujących · Roblox Studio
1
Krok 1 / 8

Przygotuj miejsce

  1. Otwórz Roblox Studio, kliknij New Experience i wybierz szablon Baseplate.
  2. Zbudujesz na podłodze trzy rzeczy: kryształ do klikania, pole do sprzedawania i pole do kupowania ulepszeń.
  3. Zostaw około 20 studs między nimi, żeby gracze musieli chodzić.

Więcej szczegółów

  • Szablon Baseplate jest na liście szablonów na ekranie startowym.
  • Pole Position w Properties pokazuje, gdzie stoi klocek. Dwa klocki, których pierwsze liczby różnią się o 20, stoją od siebie w odległości 20 studs.
  • Trzymaj te trzy rzeczy blisko SpawnLocation, platformy, na której pojawiają się gracze.
  • Na Mac używaj klawisza Cmd za każdym razem, gdy poradnik mówi Ctrl.
Wskazówka. Najpierw narysuj układ na kartce. Symulator jest przyjemny, gdy droga między klikaniem, sprzedawaniem i ulepszaniem jest krótka.
Ten krok mi nie działa

Najpierw sprawdź te trzy rzeczy

  • Nazwa każdego klocka i skryptu jest dokładnie taka jak w poradniku, z tymi samymi wielkimi literami.
  • Skrypt jest w odpowiednim obiekcie. Spójrz na podpis nad polem z kodem.
  • Otwórz okno Output z menu Window. Czerwony tekst pokazuje skrypt i linijkę, w której jest problem.

Nadal nie działa? Napisz do nas →

2
Krok 2 / 8

Stwórz statystyki gracza

  1. Najedź na ServerScriptService, kliknij + i dodaj Script. Nazwij go Stats.
  2. Usuń linijkę, która już tam jest, i wklej ten kod.
  3. Naciśnij Play. Na liście graczy widać Power 0 i Coins 0.
ServerScriptService > Stats
local Players = game:GetService("Players")

Players.PlayerAdded:Connect(function(player)
	local stats = Instance.new("Folder")
	stats.Name = "leaderstats"
	stats.Parent = player

	for _, name in ipairs({"Power", "Coins"}) do
		local value = Instance.new("IntValue")
		value.Name = name
		value.Parent = stats
	end

	local multiplier = Instance.new("IntValue")
	multiplier.Name = "Multiplier"
	multiplier.Value = 1
	multiplier.Parent = player
end)

Co robi każda część

  • Pętla tworzy dwie wartości jednym kawałkiem kodu: Power i Coins.
  • Multiplier mówi, ile power daje jedno kliknięcie. Zaczyna od 1.
  • Multiplier jest w graczu, a nie w leaderstats, więc jest ukryty na liście graczy.

Więcej szczegółów

  • Po kliknięciu + wpisz słowo Script, żeby szybko go znaleźć.
  • Skrypt otwiera się w nowej karcie. Kliknij w kodzie, naciśnij Ctrl+A, a potem Ctrl+V, żeby wszystko zastąpić.
  • Zmień nazwę skryptu w Explorer klawiszem F2. Nazwa jest tylko dla ciebie. Pomaga ci znaleźć skrypt później.
  • Lista graczy jest w prawym górnym rogu gry.
Ten krok mi nie działa

Najpierw sprawdź te trzy rzeczy

  • Nazwa każdego klocka i skryptu jest dokładnie taka jak w poradniku, z tymi samymi wielkimi literami.
  • Skrypt jest w odpowiednim obiekcie. Spójrz na podpis nad polem z kodem.
  • Otwórz okno Output z menu Window. Czerwony tekst pokazuje skrypt i linijkę, w której jest problem.

Nadal nie działa? Napisz do nas →

3
Krok 3 / 8

Zbuduj kryształ

  1. Dodaj Part. Ustaw Size na 6, 8, 6, włącz Anchored i nazwij go Crystal. Wybierz jasny kolor i ustaw Material na Neon.
  2. Najedź na Crystal, kliknij + i dodaj ClickDetector.
  3. Dodaj do Crystal Script i wklej ten kod.
  4. Naciśnij Play i kliknij kryształ. Power rośnie o 1 przy każdym kliknięciu.
Crystal > Script
local crystal = script.Parent
local clickDetector = crystal.ClickDetector

clickDetector.MouseClick:Connect(function(player)
	local power = player.leaderstats.Power
	power.Value += player.Multiplier.Value
end)

Co robi każda część

  • ClickDetector sprawia, że klocek można klikać. Działa też przy dotknięciu na telefonie.
  • MouseClick mówi skryptowi, który gracz kliknął.
  • Skrypt dodaje do Power wartość Multiplier gracza, więc ulepszenia wzmacniają każde kliknięcie.

Więcej szczegółów

  • Wpisz rozmiar w pole Size w Properties i naciśnij Enter. Potem podnieś kryształ narzędziem Move, aż stanie na podłodze.
  • Po kliknięciu + wpisz ClickDetector, żeby go znaleźć. W Explorer musi być o jeden krok w prawo, pod Crystal.
  • W grze wskaźnik myszy zmienia się w rączkę, gdy jest nad kryształem.
  • Musisz stać wystarczająco blisko. ClickDetector działa z odległości 32 studs lub mniej.
Częsty błąd. Po kliknięciu nic się nie dzieje: ClickDetector musi być bezpośrednio w Crystal, obok skryptu.
Ten krok mi nie działa

Najpierw sprawdź te trzy rzeczy

  • Nazwa każdego klocka i skryptu jest dokładnie taka jak w poradniku, z tymi samymi wielkimi literami.
  • Skrypt jest w odpowiednim obiekcie. Spójrz na podpis nad polem z kodem.
  • Otwórz okno Output z menu Window. Czerwony tekst pokazuje skrypt i linijkę, w której jest problem.

Nadal nie działa? Napisz do nas →

4
Krok 4 / 8

Dodaj pole sprzedaży

  1. Dodaj Part na podłodze. Ustaw Size na 8, 1, 8, włącz Anchored, zrób go żółtym i nazwij go Sell.
  2. Dodaj do Sell Script i wklej ten kod.
  3. Naciśnij Play, kliknij kryształ kilka razy i wejdź na pole. Power zamienia się w Coins.
Sell > Script
local Players = game:GetService("Players")
local pad = script.Parent

pad.Touched:Connect(function(hit)
	local player = Players:GetPlayerFromCharacter(hit.Parent)
	if not player then return end

	local stats = player.leaderstats
	if stats.Power.Value > 0 then
		stats.Coins.Value += stats.Power.Value
		stats.Power.Value = 0
	end
end)

Co robi każda część

  • GetPlayerFromCharacter znajduje gracza, który wszedł na pole.
  • Pole dodaje cały Power gracza do Coins, a potem ustawia Power z powrotem na 0.

Więcej szczegółów

  • Płyta to płaski klocek, na który wchodzą gracze.
  • Połóż płytę płasko na podłodze. Jeśli jest za wysoko, gracze nie mogą na nią wejść.
  • Wejście na płytę z 0 siły nic nie robi. To jest poprawne.
  • Test: kliknij kryształ 10 razy, wejdź na płytę, a lista graczy pokaże Power 0 i Coins 10.
Ten krok mi nie działa

Najpierw sprawdź te trzy rzeczy

  • Nazwa każdego klocka i skryptu jest dokładnie taka jak w poradniku, z tymi samymi wielkimi literami.
  • Skrypt jest w odpowiednim obiekcie. Spójrz na podpis nad polem z kodem.
  • Otwórz okno Output z menu Window. Czerwony tekst pokazuje skrypt i linijkę, w której jest problem.

Nadal nie działa? Napisz do nas →

5
Krok 5 / 8

Dodaj pole ulepszeń

  1. Dodaj kolejny Part na podłodze. Ustaw Size na 8, 1, 8, włącz Anchored, zrób go niebieskim i nazwij go Upgrade.
  2. Dodaj do Upgrade Script i wklej ten kod.
  3. Naciśnij Play, zdobądź 25 coins i wejdź na pole. Każde kliknięcie daje teraz 2 power.
Upgrade > Script
local Players = game:GetService("Players")
local pad = script.Parent
local waiting = {}

pad.Touched:Connect(function(hit)
	local player = Players:GetPlayerFromCharacter(hit.Parent)
	if not player or waiting[player] then return end

	local price = player.Multiplier.Value * 25
	local coins = player.leaderstats.Coins
	if coins.Value < price then return end

	waiting[player] = true
	coins.Value -= price
	player.Multiplier.Value += 1

	task.wait(1)
	waiting[player] = nil
end)

Co robi każda część

  • Cena to Multiplier gracza razy 25, więc każde ulepszenie kosztuje więcej niż poprzednie.
  • Tabela waiting nie pozwala, żeby jedno długie stanie na polu kupiło wiele ulepszeń naraz.
  • Po zakupie Multiplier rośnie o 1.

Więcej szczegółów

  • Połóż płytę kilka kroków od płyty sprzedaży, żeby gracze nie kupowali przez przypadek.
  • Pierwsze ulepszenie kosztuje 25 coins. Po nim Coins spada o 25, a jedno kliknięcie daje 2 siły.
  • Gdy masz mniej coins niż cena, płyta nic nie robi. Zejdź z niej, zarób więcej i wróć.
  • Pauza 1 sekundy sprawia, że stanie w miejscu na płycie kupuje tylko jedno ulepszenie naraz.
Ten krok mi nie działa

Najpierw sprawdź te trzy rzeczy

  • Nazwa każdego klocka i skryptu jest dokładnie taka jak w poradniku, z tymi samymi wielkimi literami.
  • Skrypt jest w odpowiednim obiekcie. Spójrz na podpis nad polem z kodem.
  • Otwórz okno Output z menu Window. Czerwony tekst pokazuje skrypt i linijkę, w której jest problem.

Nadal nie działa? Napisz do nas →

6
Krok 6 / 8

Podpisz pola

  1. Najedź na Sell, kliknij + i dodaj BillboardGui. Ustaw jego Size na {0, 200}, {0, 50}, a StudsOffset na 0, 4, 0.
  2. Dodaj TextLabel do BillboardGui. Ustaw jego Size na {1, 0}, {1, 0}, włącz TextScaled i wpisz ten tekst: SELL
  3. Zrób to samo dla Upgrade z tekstem: UPGRADE
  4. Zrób to samo dla Crystal z tekstem: CLICK ME. Użyj tam StudsOffset 0, 7, 0, żeby napis unosił się nad kryształem.

Więcej szczegółów

  • Przy Size i StudsOffset kliknij pole w Properties, wpisz liczby dokładnie tak, jak pokazano, z nawiasami i przecinkami, i naciśnij Enter.
  • Text to właściwość obiektu TextLabel. Kliknij pole Text, wpisz słowo i naciśnij Enter.
  • Szybszy sposób: kliknij gotowy BillboardGui w Explorer, naciśnij Ctrl+C, kliknij następny klocek i naciśnij Ctrl+Shift+V. Potem zmień tylko tekst.
  • Napisy pomagają nowym graczom zrozumieć grę bez żadnych wyjaśnień.
Wskazówka. BillboardGui zawsze obraca się w stronę kamery, więc gracze mogą go czytać z każdej strony.
Ten krok mi nie działa

Najpierw sprawdź te trzy rzeczy

  • Nazwa każdego klocka i skryptu jest dokładnie taka jak w poradniku, z tymi samymi wielkimi literami.
  • Skrypt jest w odpowiednim obiekcie. Spójrz na podpis nad polem z kodem.
  • Otwórz okno Output z menu Window. Czerwony tekst pokazuje skrypt i linijkę, w której jest problem.

Nadal nie działa? Napisz do nas →

7
Krok 7 / 8

Przetestuj pętlę

  1. Naciśnij F5. Klikaj, sprzedawaj, ulepszaj i powtarzaj.
  2. Sprawdź, czy cena ulepszenia rośnie: 25 coins, potem 50, potem 75.
  3. Naciśnij Shift+F5, żeby zatrzymać grę. Jeśli coś nie działa, otwórz okno Output z menu Window i przeczytaj czerwony tekst.

Więcej szczegółów

  • Policz swoje kliknięcia. Przy Multiplier 1 dziesięć kliknięć daje 10 siły.
  • Po pierwszym ulepszeniu dziesięć kliknięć daje 20 siły, a po drugim 30.
  • Zmiany zrobione, gdy gra działa, przepadają po zatrzymaniu. Najpierw naciśnij Shift+F5, a potem edytuj.
  • W oknie Output kliknij czerwoną linijkę, a Studio otworzy skrypt w miejscu błędu.
Częsty błąd. Pole nic nie kupuje: potrzebujesz co najmniej 25 Coins, a nie 25 Power. Najpierw sprzedaj.
Ten krok mi nie działa

Najpierw sprawdź te trzy rzeczy

  • Nazwa każdego klocka i skryptu jest dokładnie taka jak w poradniku, z tymi samymi wielkimi literami.
  • Skrypt jest w odpowiednim obiekcie. Spójrz na podpis nad polem z kodem.
  • Otwórz okno Output z menu Window. Czerwony tekst pokazuje skrypt i linijkę, w której jest problem.

Nadal nie działa? Napisz do nas →

8
Krok 8 / 8

Opublikuj grę

  1. Wybierz File → Publish to Roblox. Nadaj grze nazwę i krótki opis.
  2. Na stronie Creator Hub otwórz swoją grę i wypełnij ankietę Maturity.
  3. Ustaw grę jako Public i wyślij link koledze lub koleżance.

Więcej szczegółów

  • Gdy publikujesz pierwszy raz, Studio pyta o nazwę i opis. Kliknij Create.
  • Creator Hub to strona create.roblox.com. Zaloguj się na to samo konto i kliknij swoją grę na liście.
  • Roblox może poprosić o więcej, zanim gra będzie publiczna, na przykład o weryfikację wieku na koncie. Strona powie ci, czego brakuje.
  • Jeśli masz mniej niż 18 lat, zrób ten krok razem z rodzicem.
Wskazówka. Postępy nie są jeszcze zapisywane. Gdy gracz wychodzi, jego coins przepadają. Zapisywanie danych to zaawansowana lekcja.
Ten krok mi nie działa

Najpierw sprawdź te trzy rzeczy

  • Nazwa każdego klocka i skryptu jest dokładnie taka jak w poradniku, z tymi samymi wielkimi literami.
  • Skrypt jest w odpowiednim obiekcie. Spójrz na podpis nad polem z kodem.
  • Otwórz okno Output z menu Window. Czerwony tekst pokazuje skrypt i linijkę, w której jest problem.

Nadal nie działa? Napisz do nas →

Teraz zmień to sam

  • Dodaj drugi kryształ, który daje 5 power za kliknięcie, ale stoi daleko.
  • Spraw, żeby cena ulepszenia podwajała się za każdym razem. Podpowiedź: 25 * 2 ^ (player.Multiplier.Value - 1)
  • Spraw, żeby kryształ był trochę większy po każdym kliknięciu. Podpowiedź: zmień crystal.Size