← Semua panduan
Panduan 1

Buat obby pertamamu

Arena rintangan dengan lava, checkpoint, platform yang menghilang, dan garis finis.

Gratis45 menit · Pemula · Roblox Studio
1
Langkah 1 / 10

Buat place baru

  1. Buka Roblox Studio dan masuk ke akunmu.
  2. Klik New Experience dan pilih template Baseplate.
  3. Sekarang kamu punya lantai abu-abu yang datar. Arenamu akan berdiri di atasnya.

Detail lengkap

  • Roblox Studio adalah program gratis untuk Windows dan Mac. Kalau belum terpasang, unduh dari create.roblox.com lalu masuk dengan akun Roblox-mu.
  • Template Baseplate ada di daftar template di layar awal. Itu yang menampilkan lantai abu-abu kosong.
  • Place-nya terbuka di sebuah tab. Nama tab itu adalah nama place-mu.
  • Di Mac, pakai tombol Cmd setiap kali panduan ini menyebut Ctrl.
Tips. Simpan sesering mungkin dengan File → Save to Roblox. Studio menyimpan versi lama, jadi kamu selalu bisa kembali.
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 / 10

Kenali tiga panel

  1. Tampilan 3D yang besar di tengah adalah Viewport. Inilah dunia game-mu.
  2. Explorer menampilkan daftar semua objek di game. Properties menampilkan pengaturan objek yang kamu pilih.
  3. Menggerakkan kamera: tahan tombol kanan mouse untuk melihat sekeliling, terbang dengan W A S D, turun dan naik dengan Q dan E.
  4. Tersesat? Pilih Part mana saja lalu tekan F. Kamera langsung pindah ke sana.

Detail lengkap

  • Explorer dan Properties ada di sisi kanan jendela. Explorer di atas dan Properties di bawahnya.
  • Klik sebuah objek di Viewport, maka objek itu ikut tersorot di Explorer. Klik namanya di Explorer, maka objek itu terpilih di Viewport.
  • Platform datar dengan simbol bulat di atasnya adalah SpawnLocation. Pemain muncul di sana saat game dimulai. Biarkan di tempatnya.
  • Salah langkah? Tekan Ctrl+Z untuk membatalkan hal terakhir yang kamu lakukan. Tekan lagi untuk mundur satu langkah lagi.
Tips. Kalau ada panel yang hilang, buka dari menu Window. Di versi lama, panel ada di tab View.
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 / 10

Buat platform awal

  1. Di tab Home, klik Part. Sebuah balok abu-abu muncul.
  2. Di Properties, atur Size menjadi 12, 1, 12 dan ganti nama Part itu menjadi Start.
  3. Nyalakan Anchored. Part yang di-anchor tidak pernah jatuh dan tidak pernah bergerak.
  4. Pilih warna yang kamu suka dengan tombol Color.

Detail lengkap

  • Part baru muncul di depan kamera, dan namanya di Explorer adalah Part.
  • Untuk mengganti namanya, klik sekali di Explorer lalu tekan F2, ketik Start, dan tekan Enter.
  • Di Properties, klik kolom Size, ketik 12, 1, 12, lalu tekan Enter. Ketiga angka itu adalah lebar, tinggi, dan kedalaman.
  • Anchored adalah kotak centang di Properties. Tanda centang berarti menyala.
  • Pakai alat Move (Ctrl+2) untuk menaruh platform di sebelah SpawnLocation, supaya pemain bisa berjalan ke atasnya.
Kesalahan umum. Lupa menyalakan Anchored. Part terlihat baik-baik saja saat kamu mengedit, lalu jatuh ke jurang saat game mulai.
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 / 10

Tambahkan lompatan

  1. Pilih Start lalu tekan Ctrl+D untuk menggandakannya. Tarik salinannya ke depan dengan alat Move (Ctrl+2).
  2. Kecilkan dengan alat Scale (Ctrl+3). Size 6, 1, 6 cocok.
  3. Beri celah 5 sampai 7 studs di antara platform. Ulangi sampai kamu punya 6 sampai 8 platform.
  4. Naikkan beberapa platform sedikit supaya arenanya menanjak.

Detail lengkap

  • Salinannya muncul tepat di atas yang asli, jadi seolah-olah tidak terjadi apa-apa. Tarik panah biru atau merah dari alat Move dan salinannya akan bergeser keluar.
  • Dengan alat Scale, tarik salah satu bola kecil di part untuk mengubah ukurannya. Kamu juga bisa mengetik ukurannya di Properties.
  • Kolom Position di Properties menunjukkan letak sebuah part. Bandingkan angka dua platform untuk mengukur jarak di antara keduanya.
  • Setiap platform harus Anchored. Salinan dari part yang di-anchor juga sudah di-anchor, jadi periksa hanya part yang baru kamu buat.
  • Tekan F5 untuk mencoba lompatannya sendiri dan Shift+F5 untuk berhenti. Lakukan ini setiap dua atau tiga platform.
Tips. Karakter biasa melompat setinggi 7.2 studs dan melewati sekitar 8 studs ke depan. Celah lebih dari 8 studs hampir mustahil dilompati.
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 / 10

Tambahkan lava yang mengulang pemain

  1. Tambahkan Part baru di antara dua platform. Buat berwarna merah, atur Material ke Neon, nyalakan Anchored, dan beri nama Lava.
  2. Di Explorer, arahkan mouse ke Lava, klik tombol + dan pilih Script.
  3. Hapus baris yang sudah ada di dalamnya lalu tempel kode ini.
Lava > Script
local lava = script.Parent

lava.Touched:Connect(function(hit)
	local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
	if humanoid then
		humanoid.Health = 0
	end
end)

Fungsi tiap bagian

  • script.Parent adalah Part tempat script berada. Di sini itu adalah lava.
  • Touched berjalan setiap kali ada sesuatu yang menyentuh Part. hit adalah benda yang menyentuhnya, misalnya kaki.
  • hit.Parent adalah seluruh karakter. Kalau ia punya Humanoid, berarti itu pemain, jadi script mengatur Health menjadi 0.

Detail lengkap

  • Material adalah daftar di Properties. Klik daftar itu dan pilih Neon. Neon membuat part menyala.
  • Saat kamu menambahkan Script, script itu terbuka di tab baru dengan satu baris kode di dalamnya. Klik di dalam kode, tekan Ctrl+A untuk memilih semuanya, lalu Ctrl+V untuk menempel di atasnya.
  • Kembali ke duniamu dengan mengklik tab yang bernama sama dengan place-mu.
  • Untuk mencoba: tekan F5 dan berjalanlah ke lava. Karaktermu hancur berkeping-keping lalu kembali ke awal.
  • Buat lava yang lebar dan datar, misalnya Size 12, 1, 6, dan taruh sedikit lebih rendah dari platform, supaya lompatan yang meleset jatuh ke dalamnya.
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 / 10

Tambahkan checkpoint

  1. Di Explorer, arahkan mouse ke Workspace, klik + dan tambahkan Folder. Beri nama Checkpoints.
  2. Taruh tiga Part yang di-anchor di sepanjang arena lalu tarik ke dalam Folder itu. Beri nama 1, 2, dan 3. Part 1 diletakkan di platform awal.
  3. Arahkan mouse ke ServerScriptService, klik + dan tambahkan Script. Tempel kode ini.
ServerScriptService > Script
local Players = game:GetService("Players")
local checkpoints = workspace:WaitForChild("Checkpoints")

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

	local stage = Instance.new("IntValue")
	stage.Name = "Stage"
	stage.Value = 1
	stage.Parent = stats

	player.CharacterAdded:Connect(function(character)
		local root = character:WaitForChild("HumanoidRootPart")
		local point = checkpoints:FindFirstChild(tostring(stage.Value))
		if point then
			task.wait(0.1)
			root.CFrame = point.CFrame + Vector3.new(0, 4, 0)
		end
	end)
end)

for _, point in ipairs(checkpoints:GetChildren()) do
	point.Touched:Connect(function(hit)
		local player = Players:GetPlayerFromCharacter(hit.Parent)
		local stats = player and player:FindFirstChild("leaderstats")
		if not stats then return end

		local number = tonumber(point.Name)
		if number == stats.Stage.Value + 1 then
			stats.Stage.Value = number
		end
	end)
end

Fungsi tiap bagian

  • leaderstats adalah nama Folder yang istimewa. Nilai di dalamnya muncul di daftar pemain, jadi semua orang melihat Stage-mu.
  • Saat karakter muncul, script memindahkannya ke checkpoint yang namanya sama dengan Stage pemain.
  • Menyentuh checkpoint menaikkan Stage hanya kalau itu checkpoint berikutnya. Dengan begitu pemain tidak bisa melompati checkpoint.

Detail lengkap

  • Sebuah Folder berisi objek-objek lain, seperti folder di komputer. Folder tidak melakukan apa-apa di dalam game dengan sendirinya.
  • Untuk memasukkan part ke dalam folder, tarik namanya di Explorer ke atas nama Checkpoints lalu lepaskan. Part itu kemudian berada satu tingkat ke kanan, di bawah folder.
  • Buat part checkpoint yang tipis dan lebar, misalnya Size 6, 0.4, 6, dan letakkan di atas platform. Warna yang berbeda membantu pemain melihatnya.
  • Untuk mencoba: tekan F5 dan lihat daftar pemain di pojok kanan atas. Di sana tertulis Stage 1. Sentuh checkpoint 2 dan angkanya berubah menjadi 2.
  • Checkpoint harus disentuh berurutan. Menyentuh 3 sebelum 2 tidak ada efeknya.
Kesalahan umum. Memberi nama Part Checkpoint1 atau Satu. Script mencari nama yang persis 1, 2, dan 3.
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 / 10

Buat platform yang menghilang

  1. Pilih satu platform di tengah arena lalu tambahkan Script ke dalamnya.
  2. Tempel kode ini lalu tekan Play untuk melihatnya berkedip.
Platform > Script
local platform = script.Parent

while true do
	task.wait(2)
	platform.Transparency = 1
	platform.CanCollide = false

	task.wait(2)
	platform.Transparency = 0
	platform.CanCollide = true
end

Fungsi tiap bagian

  • while true do mengulang tanpa henti.
  • task.wait(2) berhenti sebentar selama 2 detik.
  • Transparency 1 membuat Part tak terlihat. CanCollide false membuat pemain jatuh menembusnya.

Detail lengkap

  • Untuk menambahkan Script, arahkan mouse ke nama platform di Explorer, klik +, dan pilih Script, sama seperti yang kamu lakukan untuk lava.
  • Platform terlihat selama 2 detik dan hilang selama 2 detik. Pemain harus mengatur waktu lompatannya.
  • Angka pertama adalah berapa lama platform terlihat. Angka kedua adalah berapa lama platform menghilang.
  • Jangan taruh script ini di platform awal atau di checkpoint, kalau tidak pemain akan langsung jatuh begitu tiba.
Tips. Ubah kedua angka itu supaya platform bergerak lebih cepat atau lebih lambat.
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 / 10

Buat garis finis

  1. Taruh Part besar yang di-anchor di ujung arena dan beri nama Finish. Buat berwarna emas supaya pemain melihat tujuannya.
  2. Tambahkan Script ke Finish lalu tempel kode ini.
Finish > Script
local Players = game:GetService("Players")
local finish = script.Parent
local cooldown = {}

finish.Touched:Connect(function(hit)
	local player = Players:GetPlayerFromCharacter(hit.Parent)
	local stats = player and player:FindFirstChild("leaderstats")
	if not stats or cooldown[player] then return end

	cooldown[player] = true
	stats.Stage.Value = 1
	player:LoadCharacter()

	task.wait(2)
	cooldown[player] = nil
end)

Fungsi tiap bagian

  • GetPlayerFromCharacter mencari tahu pemain mana yang menyentuh garis finis.
  • Tabel cooldown mencegah kode berjalan berkali-kali dalam detik yang sama.
  • Stage kembali ke 1 dan LoadCharacter mengirim pemain ke awal untuk main lagi.

Detail lengkap

  • Untuk membuatnya berwarna emas, klik kolom Color di Properties dan pilih warna kuning. Material Neon membuatnya berkilau.
  • Size 12, 1, 12 cocok untuk garis finis. Taruh setelah lompatan terakhir, sedikit lebih tinggi dari yang lain.
  • Untuk mencoba: tekan F5, selesaikan arena, lalu injak part emas itu. Kamu kembali ke awal dan Stage menunjukkan 1 lagi.
  • Jeda 2 detik ada karena satu langkah kaki menyentuh part itu berkali-kali.
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 →

9
Langkah 9 / 10

Tes game-mu

  1. Tekan F5 untuk bermain. Jalani seluruh arena dari awal sampai akhir.
  2. Jatuhlah ke lava dengan sengaja. Kamu seharusnya kembali di checkpoint terakhirmu.
  3. Tekan Shift+F5 untuk berhenti.
  4. Buka jendela Output dari menu Window. Tulisan merah berarti ada script yang error, dan ia menunjukkan nomor barisnya.

Detail lengkap

  • F5 memulai game dengan karaktermu di dalamnya. Toolbar berubah selama game berjalan.
  • Perubahan yang kamu buat saat game berjalan hilang ketika kamu menghentikannya. Selalu tekan Shift+F5 dulu, baru edit.
  • Di jendela Output, klik satu baris merah dan Studio membuka script pada baris yang bermasalah.
  • Periksa tiga hal kalau ada yang tidak jalan: nama part, letak script, dan apakah Anchored menyala.
Kesalahan umum. Platform jatuh saat game mulai: Anchored belum menyala. Tidak terjadi apa-apa saat kamu menyentuh Part: script ada di objek yang salah, atau ada nama yang salah ketik.
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 →

10
Langkah 10 / 10

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. Roblox membutuhkannya sebelum orang lain bisa memainkannya.
  3. Atur game ke Public lalu kirim tautannya ke temanmu.

Detail lengkap

  • Saat pertama kali mempublikasikan, Studio meminta nama dan deskripsi. Klik Create. Setelah itu, File → Publish to Roblox mengirim perubahan terbarumu.
  • Creator Hub adalah situs create.roblox.com. Masuk dengan akun yang sama lalu klik gamemu di daftar.
  • Kuesioner Maturity menanyakan apa saja isi gamemu. Jawablah dengan jujur. Obby seperti ini tidak ada kekerasan dan tidak ada yang menakutkan.
  • 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. Minta temanmu bermain sementara kamu menonton. Tempat mereka tersangkut adalah hal pertama yang perlu diperbaiki.
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 checkpoint keempat. Apa nama yang harus kamu berikan?
  • Buat tiga platform yang menghilang dan berkedip dengan kecepatan berbeda.
  • Ubah lava supaya hanya mengurangi setengah dari health. Petunjuk: humanoid.Health = humanoid.Health - 50