← Semua panduan
Panduan 3

Buat simulator pertamamu

Klik sebuah Crystal untuk mendapatkan power, jual power itu untuk coins, dan beli upgrade yang membuat setiap klik lebih kuat.

Gratis50 menit · Pemula · Roblox Studio
1
Langkah 1 / 8

Siapkan place-nya

  1. Buka Roblox Studio, klik New Experience dan pilih template Baseplate.
  2. Kamu akan membuat tiga hal di lantai: Crystal untuk diklik, pad untuk menjual, dan pad untuk membeli upgrade.
  3. Beri jarak sekitar 20 studs di antara ketiganya, supaya pemain harus berjalan.

Detail lengkap

  • Template Baseplate ada di daftar template di layar awal.
  • Kolom Position di Properties menunjukkan letak sebuah part. Dua part yang angka pertamanya selisih 20 berjarak 20 studs satu sama lain.
  • Taruh ketiga benda itu dekat SpawnLocation, platform tempat pemain muncul.
  • Di Mac, pakai tombol Cmd setiap kali panduan ini menyebut Ctrl.
Tips. Gambar tata letaknya di kertas dulu. Simulator terasa enak kalau jarak jalan antara klik, jual, dan upgrade pendek.
Langkah ini tidak berhasil di tempatku

Periksa tiga hal ini dulu

  • Nama setiap part dan script sama persis dengan di panduan, termasuk huruf besarnya.
  • Script ada di dalam objek yang benar. Lihat label di atas kotak kode.
  • Buka jendela Output dari menu Window. Teks merah menunjukkan script dan baris yang bermasalah.

Masih macet? Tulis ke kami →

2
Langkah 2 / 8

Buat statistik pemain

  1. Arahkan mouse ke ServerScriptService, klik + dan tambahkan Script. Beri nama Stats.
  2. Hapus baris yang sudah ada di dalamnya lalu tempel kode ini.
  3. Tekan Play. Daftar pemain menampilkan Power 0 dan 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)

Fungsi tiap bagian

  • Perulangan membuat dua nilai dengan satu potongan kode: Power dan Coins.
  • Multiplier adalah jumlah power yang didapat dari satu klik. Nilai awalnya 1.
  • Multiplier ada di pemain dan bukan di leaderstats, jadi ia tersembunyi dari daftar pemain.

Detail lengkap

  • Saat kamu mengklik +, ketik kata Script untuk menemukannya dengan cepat.
  • Script terbuka di tab baru. Klik di dalam kode, tekan Ctrl+A lalu Ctrl+V untuk mengganti semuanya.
  • Ganti nama script di Explorer dengan F2. Nama itu hanya untukmu. Nama itu membantumu menemukan script nanti.
  • Daftar pemain ada di pojok kanan atas game.
Langkah ini tidak berhasil di tempatku

Periksa tiga hal ini dulu

  • Nama setiap part dan script sama persis dengan di panduan, termasuk huruf besarnya.
  • Script ada di dalam objek yang benar. Lihat label di atas kotak kode.
  • Buka jendela Output dari menu Window. Teks merah menunjukkan script dan baris yang bermasalah.

Masih macet? Tulis ke kami →

3
Langkah 3 / 8

Buat Crystal

  1. Tambahkan Part. Atur Size ke 6, 8, 6, nyalakan Anchored, dan beri nama Crystal. Pilih warna yang cerah dan atur Material ke Neon.
  2. Arahkan mouse ke Crystal, klik + dan tambahkan ClickDetector.
  3. Tambahkan Script ke Crystal lalu tempel kode ini.
  4. Tekan Play lalu klik Crystal. Power naik 1 setiap klik.
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)

Fungsi tiap bagian

  • ClickDetector membuat Part bisa diklik. Ia juga berfungsi dengan ketukan di ponsel.
  • MouseClick memberi tahu script pemain mana yang mengklik.
  • Script menambahkan Multiplier pemain ke Power, jadi upgrade membuat setiap klik lebih kuat.

Detail lengkap

  • Ketik ukurannya di kolom Size di Properties lalu tekan Enter. Setelah itu angkat kristal dengan alat Move sampai berdiri di atas lantai.
  • Saat kamu mengklik +, ketik ClickDetector untuk menemukannya. Di Explorer, ia harus berada satu tingkat ke kanan, di bawah Crystal.
  • Di dalam game, penunjuk mouse berubah menjadi tangan saat berada di atas kristal.
  • Kamu harus berdiri cukup dekat. ClickDetector bekerja dari jarak 32 studs atau kurang.
Kesalahan umum. Tidak terjadi apa-apa saat diklik: ClickDetector harus berada langsung di dalam Crystal, bersebelahan dengan script.
Langkah ini tidak berhasil di tempatku

Periksa tiga hal ini dulu

  • Nama setiap part dan script sama persis dengan di panduan, termasuk huruf besarnya.
  • Script ada di dalam objek yang benar. Lihat label di atas kotak kode.
  • Buka jendela Output dari menu Window. Teks merah menunjukkan script dan baris yang bermasalah.

Masih macet? Tulis ke kami →

4
Langkah 4 / 8

Tambahkan pad jual

  1. Tambahkan Part di lantai. Atur Size ke 8, 1, 8, nyalakan Anchored, buat berwarna kuning, dan beri nama Sell.
  2. Tambahkan Script ke Sell lalu tempel kode ini.
  3. Tekan Play, klik Crystal beberapa kali lalu berjalanlah ke atas pad. Power berubah menjadi 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)

Fungsi tiap bagian

  • GetPlayerFromCharacter mencari pemain yang menginjak pad.
  • Pad menambahkan seluruh Power pemain ke Coins lalu mengatur Power kembali ke 0.

Detail lengkap

  • Pad adalah part datar tempat pemain berjalan ke atasnya.
  • Taruh pad rata di lantai. Kalau terlalu tinggi, pemain tidak bisa menaikinya.
  • Berjalan ke atas pad dengan 0 power tidak menghasilkan apa-apa. Itu benar.
  • Untuk mencoba: klik kristal 10 kali, berjalan ke atas pad, dan daftar pemain menunjukkan Power 0 dan Coins 10.
Langkah ini tidak berhasil di tempatku

Periksa tiga hal ini dulu

  • Nama setiap part dan script sama persis dengan di panduan, termasuk huruf besarnya.
  • Script ada di dalam objek yang benar. Lihat label di atas kotak kode.
  • Buka jendela Output dari menu Window. Teks merah menunjukkan script dan baris yang bermasalah.

Masih macet? Tulis ke kami →

5
Langkah 5 / 8

Tambahkan pad upgrade

  1. Tambahkan Part lain di lantai. Atur Size ke 8, 1, 8, nyalakan Anchored, buat berwarna biru, dan beri nama Upgrade.
  2. Tambahkan Script ke Upgrade lalu tempel kode ini.
  3. Tekan Play, kumpulkan 25 coins lalu injak pad itu. Sekarang setiap klik memberi 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)

Fungsi tiap bagian

  • Harganya adalah Multiplier pemain dikali 25, jadi setiap upgrade lebih mahal daripada sebelumnya.
  • Tabel waiting mencegah satu injakan yang lama di pad membeli banyak upgrade sekaligus.
  • Setelah pembelian, Multiplier naik 1.

Detail lengkap

  • Taruh pad beberapa langkah dari pad penjualan, supaya pemain tidak membeli tanpa sengaja.
  • Upgrade pertama harganya 25 coins. Setelah itu, Coins berkurang 25 dan satu klik memberi 2 power.
  • Kalau coins-mu kurang dari harganya, pad tidak melakukan apa-apa. Turun dari pad, cari lebih banyak, lalu kembali.
  • Jeda 1 detik itulah sebabnya berdiri diam di atas pad hanya membeli satu upgrade pada satu waktu.
Langkah ini tidak berhasil di tempatku

Periksa tiga hal ini dulu

  • Nama setiap part dan script sama persis dengan di panduan, termasuk huruf besarnya.
  • Script ada di dalam objek yang benar. Lihat label di atas kotak kode.
  • Buka jendela Output dari menu Window. Teks merah menunjukkan script dan baris yang bermasalah.

Masih macet? Tulis ke kami →

6
Langkah 6 / 8

Beri label pada pad

  1. Arahkan mouse ke Sell, klik + dan tambahkan BillboardGui. Atur Size-nya ke {0, 200}, {0, 50} dan StudsOffset-nya ke 0, 4, 0.
  2. Tambahkan TextLabel ke dalam BillboardGui. Atur Size-nya ke {1, 0}, {1, 0}, nyalakan TextScaled, dan ketik teks ini: SELL
  3. Lakukan hal yang sama untuk Upgrade dengan teks: UPGRADE
  4. Lakukan hal yang sama untuk Crystal dengan teks: CLICK ME. Di sana pakai StudsOffset 0, 7, 0, supaya label melayang di atas Crystal.

Detail lengkap

  • Untuk Size dan StudsOffset, klik kolomnya di Properties, ketik angkanya persis seperti yang ditunjukkan, lengkap dengan tanda kurung dan koma, lalu tekan Enter.
  • Text adalah properti dari TextLabel. Klik kolom Text, ketik katanya, dan tekan Enter.
  • Cara yang lebih cepat: klik BillboardGui yang sudah jadi di Explorer, tekan Ctrl+C, klik part berikutnya, lalu tekan Ctrl+Shift+V. Setelah itu ubah teksnya saja.
  • Label membantu pemain baru memahami game tanpa penjelasan apa pun.
Tips. BillboardGui selalu menghadap kamera, jadi pemain bisa membacanya dari sisi mana pun.
Langkah ini tidak berhasil di tempatku

Periksa tiga hal ini dulu

  • Nama setiap part dan script sama persis dengan di panduan, termasuk huruf besarnya.
  • Script ada di dalam objek yang benar. Lihat label di atas kotak kode.
  • Buka jendela Output dari menu Window. Teks merah menunjukkan script dan baris yang bermasalah.

Masih macet? Tulis ke kami →

7
Langkah 7 / 8

Tes alurnya

  1. Tekan F5. Klik, jual, upgrade, lalu ulangi.
  2. Periksa apakah harga upgrade naik: 25 coins, lalu 50, lalu 75.
  3. Tekan Shift+F5 untuk berhenti. Kalau ada yang gagal, buka jendela Output dari menu Window dan baca tulisan merahnya.

Detail lengkap

  • Hitung kliknya. Dengan Multiplier 1, sepuluh klik memberi 10 power.
  • Setelah upgrade pertama, sepuluh klik memberi 20 power, dan setelah yang kedua 30.
  • Perubahan yang kamu buat saat game berjalan hilang ketika kamu menghentikannya. Tekan Shift+F5 dulu, baru edit.
  • Di jendela Output, klik satu baris merah dan Studio membuka script pada baris yang bermasalah.
Kesalahan umum. Pad tidak membeli apa-apa: kamu butuh paling sedikit 25 Coins, bukan 25 Power. Jual dulu.
Langkah ini tidak berhasil di tempatku

Periksa tiga hal ini dulu

  • Nama setiap part dan script sama persis dengan di panduan, termasuk huruf besarnya.
  • Script ada di dalam objek yang benar. Lihat label di atas kotak kode.
  • Buka jendela Output dari menu Window. Teks merah menunjukkan script dan baris yang bermasalah.

Masih macet? Tulis ke kami →

8
Langkah 8 / 8

Publikasikan

  1. Pilih File → Publish to Roblox. Beri game-mu nama dan deskripsi singkat.
  2. Di situs Creator Hub, buka game-mu lalu isi kuesioner Maturity.
  3. Atur game ke Public lalu kirim tautannya ke temanmu.

Detail lengkap

  • Saat pertama kali mempublikasikan, Studio meminta nama dan deskripsi. Klik Create.
  • Creator Hub adalah situs create.roblox.com. Masuk dengan akun yang sama lalu klik gamemu di daftar.
  • Roblox mungkin meminta hal lain sebelum game bisa dibuat publik, misalnya pemeriksaan usia pada akun. Halamannya akan memberi tahu apa yang kurang.
  • Kalau umurmu di bawah 18 tahun, kerjakan langkah ini bersama orang tua.
Tips. Kemajuan belum tersimpan. Saat pemain keluar, coins-nya hilang. Menyimpan data adalah pelajaran lanjutan.
Langkah ini tidak berhasil di tempatku

Periksa tiga hal ini dulu

  • Nama setiap part dan script sama persis dengan di panduan, termasuk huruf besarnya.
  • Script ada di dalam objek yang benar. Lihat label di atas kotak kode.
  • Buka jendela Output dari menu Window. Teks merah menunjukkan script dan baris yang bermasalah.

Masih macet? Tulis ke kami →

Sekarang ubah sendiri

  • Tambahkan Crystal kedua yang memberi 5 power per klik tetapi letaknya jauh.
  • Buat harga upgrade berlipat dua setiap kali. Petunjuk: 25 * 2 ^ (player.Multiplier.Value - 1)
  • Buat Crystal sedikit lebih besar setiap klik. Petunjuk: ubah crystal.Size