← Semua panduan
Panduan 5

Buat game curi-dan-jaga pertamamu

Setiap pemain punya markas. Ambil gem dari tengah, bawa lari ke rumah untuk mendapat skor, dan tangkap siapa pun yang membawanya.

Gratis70 menit · Pemula, panduan terakhir · Roblox Studio
1
Langkah 1 / 8

Siapkan place-nya

  1. Buka Roblox Studio, klik New Experience dan pilih template Baseplate.
  2. Gem akan ada di tengah peta. Empat markas berdiri di sekelilingnya, masing-masing sekitar 60 studs dari tengah.
  3. Game ini butuh paling sedikit dua pemain, jadi di akhir kamu akan mengetesnya dengan dua pemain uji.

Detail lengkap

  • Template Baseplate ada di daftar template di layar awal.
  • Kolom Position di Properties menunjukkan letak sebuah part. Position 60, 0.5, 0 berjarak 60 studs dari tengah peta.
  • Pindahkan SpawnLocation, platform tempat pemain muncul, ke dekat tengah, supaya setiap pemain mulai dengan jarak yang sama ke permata.
  • Di Mac, pakai tombol Cmd setiap kali panduan ini menyebut Ctrl.
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

Bangun markas-markasnya

  1. Di Explorer, arahkan mouse ke Workspace, klik + dan tambahkan Folder. Beri nama Bases.
  2. Tambahkan Part. Atur Size ke 16, 1, 16, nyalakan Anchored, dan buat berwarna abu-abu. Tarik ke Bases dan beri nama Base1.
  3. Gandakan tiga kali dengan Ctrl+D. Beri nama salinannya Base2, Base3, dan Base4 dan pindahkan masing-masing ke satu sisi peta.

Detail lengkap

  • Untuk memasukkan part ke dalam folder, tarik namanya di Explorer ke atas nama Bases.
  • Salinan yang dibuat dengan Ctrl+D sudah berada di dalam folder Bases. Ganti nama masing-masing dengan F2.
  • Namanya harus persis Base1, Base2, Base3, dan Base4, tanpa spasi sebelum angkanya.
  • Server dengan lebih dari empat pemain punya pemain lebih banyak daripada markas. Nanti kamu bisa mengatur ukuran server menjadi 4 di pengaturan game di Creator Hub.
Tips. Buat keempat markas berjarak sama dari tengah. Dengan begitu game-nya adil untuk semua orang.
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 gem

  1. Tambahkan Part di tengah peta, sekitar 4 studs di atas lantai. Atur Size ke 2, 2, 2, pilih warna yang cerah, dan atur Material ke Neon. Beri nama Gem.
  2. Nyalakan Anchored dan Massless, lalu matikan CanCollide.
  3. Arahkan mouse ke Gem, klik + dan tambahkan ProximityPrompt. Atur ActionText ke Take dan HoldDuration ke 1.

Fungsi tiap bagian

  • ProximityPrompt menampilkan tombol saat pemain berdiri dekat. Menahannya selama 1 detik akan memicunya.
  • Massless menyala dan CanCollide mati mencegah gem memperlambat atau mendorong pemain yang membawanya.

Detail lengkap

  • Anchored, Massless, dan CanCollide adalah kotak centang di Properties.
  • Saat kamu mengklik +, ketik ProximityPrompt untuk menemukannya. Klik, lalu ubah ActionText dan HoldDuration di Properties.
  • Di dalam game, sebuah tombol kecil dengan huruf E dan kata Take muncul saat kamu berdiri dekat permata.
  • Di ponsel, pemain menahan jarinya di tombol itu.
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

Beri setiap pemain markas dan skor

  1. Arahkan mouse ke ServerScriptService, klik + dan tambahkan Script. Beri nama Game.
  2. Hapus baris yang sudah ada di dalamnya lalu tempel kode ini. Ini bagian pertama dari tiga bagian.
  3. Tekan Play. Satu markas berubah menjadi hijau. Itu markasmu.
ServerScriptService > Game (1 / 3)
local Players = game:GetService("Players")

local bases = workspace:WaitForChild("Bases")
local gem = workspace:WaitForChild("Gem")
local home = gem.CFrame
local carrier = nil

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

	local score = Instance.new("IntValue")
	score.Name = "Score"
	score.Parent = stats

	for _, base in ipairs(bases:GetChildren()) do
		if base:GetAttribute("Owner") == nil then
			base:SetAttribute("Owner", player.UserId)
			base.Color = Color3.fromRGB(60, 220, 120)
			break
		end
	end
end)

Players.PlayerRemoving:Connect(function(player)
	for _, base in ipairs(bases:GetChildren()) do
		if base:GetAttribute("Owner") == player.UserId then
			base:SetAttribute("Owner", nil)
			base.Color = Color3.fromRGB(160, 160, 160)
		end
	end
end)

Fungsi tiap bagian

  • Baris-baris pertama mencari markas dan gem, lalu mengingat tempat awal gem.
  • SetAttribute menulis UserId pemilik ke markas kosong yang pertama.
  • PlayerRemoving mengosongkan markas lagi saat pemiliknya keluar.

Detail lengkap

  • Script terbuka di tab baru. Klik di dalam kode, tekan Ctrl+A lalu Ctrl+V untuk mengganti semuanya.
  • Markas mana yang berubah hijau tergantung urutan markas di dalam folder. Berjalan-jalanlah untuk menemukan milikmu.
  • Daftar pemain di pojok kanan atas menunjukkan Score 0.
  • Belum terjadi apa-apa kalau kamu berjalan ke permata dan menahan E. Itu ada di langkah berikutnya.
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

Biarkan pemain mengambil gem

  1. Buka script Game lagi.
  2. Tempel kode ini di bawah kode dari langkah sebelumnya.
  3. Tekan Play, berjalanlah ke gem dan tahan E. Gem melompat ke atas kepalamu dan mengikutimu.
ServerScriptService > Game (2 / 3)
local function resetGem()
	carrier = nil

	local weld = gem:FindFirstChild("CarryWeld")
	if weld then
		weld:Destroy()
	end

	gem.Anchored = true
	gem.CFrame = home
	gem.ProximityPrompt.Enabled = true
end

gem.ProximityPrompt.Triggered:Connect(function(player)
	local character = player.Character
	local root = character and character:FindFirstChild("HumanoidRootPart")
	if carrier or not root then return end

	carrier = player
	gem.ProximityPrompt.Enabled = false
	gem.Anchored = false
	gem.CFrame = root.CFrame * CFrame.new(0, 4, 0)

	local weld = Instance.new("WeldConstraint")
	weld.Name = "CarryWeld"
	weld.Part0 = root
	weld.Part1 = gem
	weld.Parent = gem
end)

Fungsi tiap bagian

  • carrier mengingat siapa yang memegang gem. Tidak ada orang lain yang bisa mengambilnya selama gem dibawa.
  • WeldConstraint merekatkan gem ke pemain, jadi gem ikut bergerak bersamanya.
  • resetGem melepas rekatan itu dan menaruh gem kembali di tengah.

Detail lengkap

  • Untuk membuka script lagi, klik dua kali Game di Explorer.
  • Klik setelah karakter paling akhir dari kode lalu tekan Enter dua kali. Setelah itu tekan Ctrl+V. Jangan tekan Ctrl+A kali ini, kalau tidak bagian pertama tergantikan.
  • Permata melayang 4 studs di atas kepalamu selama kamu membawanya.
  • Untuk mencoba: ambil permata, lalu pastikan tombol Take hilang selama kamu membawanya.
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

Tambahkan skor dan penangkapan

  1. Tempel bagian terakhir ini di paling akhir script Game.
  2. Tekan Play, ambil gem dan larilah ke markas hijaumu. Score naik 1 dan gem kembali ke tengah.
ServerScriptService > Game (3 / 3)
for _, base in ipairs(bases:GetChildren()) do
	base.Touched:Connect(function(hit)
		local player = Players:GetPlayerFromCharacter(hit.Parent)
		if player and player == carrier and base:GetAttribute("Owner") == player.UserId then
			player.leaderstats.Score.Value += 1
			resetGem()
		end
	end)
end

while true do
	task.wait(0.2)

	if carrier then
		local weld = gem:FindFirstChild("CarryWeld")
		local root = weld and weld.Part0
		local character = root and root.Parent
		local humanoid = character and character:FindFirstChildOfClass("Humanoid")

		if not humanoid or humanoid.Health <= 0 or root.Position.Y < -20 then
			resetGem()
		else
			for _, other in ipairs(Players:GetPlayers()) do
				local otherRoot = other ~= carrier and other.Character and other.Character:FindFirstChild("HumanoidRootPart")
				if otherRoot and (otherRoot.Position - root.Position).Magnitude < 5 then
					resetGem()
					break
				end
			end
		end
	end
end

Fungsi tiap bagian

  • Setiap markas memeriksa tiga hal: ada pemain yang menyentuhnya, pemain itu membawa gem, dan markas itu miliknya.
  • Perulangan di bagian bawah berjalan 5 kali per detik. Kalau pemain lain mendekat kurang dari 5 studs dari pembawa gem, gem kembali ke tengah.
  • Perulangan itu juga mengatur ulang gem kalau pembawanya keluar dari game atau jatuh dari peta.

Detail lengkap

  • Sekali lagi klik setelah karakter paling akhir dari script, tekan Enter dua kali, lalu tempel.
  • Script yang sudah jadi punya tiga bagian dengan urutan ini: markas dan skor, mengambil permata, mencetak skor dan menandai.
  • Markas abu-abu yang bukan milik siapa pun tidak memberi poin. Hanya markas hijau milikmu yang dihitung.
  • Sendirian kamu tidak bisa mencoba penandaan. Itu dilakukan dengan dua pemain di langkah berikutnya.
Kesalahan umum. Menempel bagian ini di tengah script. Perulangan while tidak pernah berakhir, jadi kode apa pun di bawahnya tidak pernah berjalan.
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 dengan dua pemain

  1. Di sebelah tombol Play, buka menu kecil dan pilih Server & Clients. Atur jumlah pemain ke 2 lalu tekan Play.
  2. Studio membuka dua jendela game. Masing-masing adalah pemain yang berbeda dengan markas yang berbeda.
  3. Ambil gem di satu jendela. Di jendela yang lain, tabraklah pemain itu. Gem kembali ke tengah.
  4. Hentikan tes dengan tombol Stop merah di jendela utama Studio, lalu kembalikan menunya ke Test.

Detail lengkap

  • Menu kecilnya adalah panah tepat di sebelah tombol Play di bagian atas Studio.
  • Kedua jendela game terbuka bertumpuk. Geser salah satunya ke samping supaya kamu bisa melihat keduanya.
  • Klik di dalam sebuah jendela sebelum memakai keyboard. Tombol yang kamu tekan masuk ke jendela yang terakhir kamu klik.
  • Menguji dengan dua jendela butuh komputer dengan memori yang cukup. Kalau sangat lambat, tutup dulu program lain.
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. Game ini baru seru kalau ada pemain lain. Ajak dua atau tiga temanmu ke server yang sama untuk pertandingan pertama.
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

  • Akhiri ronde saat seorang pemain mencapai 5 poin lalu atur semua skor kembali ke 0.
  • Tambahkan gem kedua dengan warna berbeda.
  • Buat pembawa gem lebih lambat. Petunjuk: atur Humanoid.WalkSpeed ke 12 saat gem diambil dan kembali ke 16 di resetGem.