← Semua panduan
Panduan 5

Bina permainan curi dan pertahan pertama kamu

Setiap pemain mendapat sebuah pangkalan. Rampas gem dari tengah, bawa pulang untuk mendapat mata, dan tag sesiapa yang membawanya.

Percuma70 minit · Pemula, panduan terakhir · Roblox Studio
1
Langkah 1 / 8

Sediakan tempat

  1. Buka Roblox Studio, klik New Experience dan pilih templat Baseplate.
  2. Gem akan berada di tengah peta. Empat pangkalan akan berdiri di sekelilingnya, setiap satu kira-kira 60 studs dari tengah.
  3. Permainan ini memerlukan sekurang-kurangnya dua pemain, jadi pada akhirnya kamu akan mengujinya dengan dua pemain ujian.

Butiran lanjut

  • Templat Baseplate ada dalam senarai templat pada skrin permulaan.
  • Medan Position dalam Properties menunjukkan kedudukan sesebuah part. Position 60, 0.5, 0 berjarak 60 studs dari tengah peta.
  • Alihkan SpawnLocation, platform tempat pemain muncul, ke dekat tengah, supaya setiap pemain bermula pada jarak yang sama dari permata.
  • Pada Mac, gunakan kekunci Cmd setiap kali panduan ini menyebut Ctrl.
Langkah ini tidak menjadi untuk saya

Semak tiga perkara ini dahulu

  • Nama setiap part dan skrip sama tepat seperti dalam panduan, termasuk huruf besarnya.
  • Skrip berada di dalam objek yang betul. Lihat label di atas kotak kod.
  • Buka tetingkap Output daripada menu Window. Teks merah menunjukkan skrip dan baris yang bermasalah.

Masih tersangkut? Tulis kepada kami →

2
Langkah 2 / 8

Bina pangkalan

  1. Dalam Explorer letakkan tetikus di atas Workspace, klik + dan tambah Folder. Namakan Bases.
  2. Tambah Part. Tetapkan Size kepada 16, 1, 16, hidupkan Anchored dan jadikan kelabu. Seret ke dalam Bases dan namakan Base1.
  3. Gandakan tiga kali dengan Ctrl+D. Namakan salinan Base2, Base3 dan Base4 dan alihkan satu ke setiap sisi peta.

Butiran lanjut

  • Untuk memasukkan part ke dalam folder, seret namanya dalam Explorer ke atas nama Bases.
  • Salinan yang dibuat dengan Ctrl+D sudah berada di dalam folder Bases. Namakan semula setiap satu dengan F2.
  • Namanya mesti tepat Base1, Base2, Base3 dan Base4, tanpa ruang sebelum nombor.
  • Pelayan dengan lebih daripada empat pemain mempunyai lebih ramai pemain daripada pangkalan. Kemudian kamu boleh menetapkan saiz pelayan kepada 4 dalam tetapan permainan di Creator Hub.
Petua. Pastikan keempat-empat pangkalan sama jauh dari tengah. Dengan itu permainan adil untuk semua orang.
Langkah ini tidak menjadi untuk saya

Semak tiga perkara ini dahulu

  • Nama setiap part dan skrip sama tepat seperti dalam panduan, termasuk huruf besarnya.
  • Skrip berada di dalam objek yang betul. Lihat label di atas kotak kod.
  • Buka tetingkap Output daripada menu Window. Teks merah menunjukkan skrip dan baris yang bermasalah.

Masih tersangkut? Tulis kepada kami →

3
Langkah 3 / 8

Cipta gem

  1. Tambah Part di tengah peta, kira-kira 4 studs di atas lantai. Tetapkan Size kepada 2, 2, 2, pilih warna terang dan tetapkan Material kepada Neon. Namakan Gem.
  2. Hidupkan Anchored dan Massless, dan matikan CanCollide.
  3. Letakkan tetikus di atas Gem, klik + dan tambah ProximityPrompt. Tetapkan ActionText kepada Take dan HoldDuration kepada 1.

Apa yang dilakukan oleh setiap bahagian

  • ProximityPrompt menunjukkan butang apabila pemain berdiri dekat. Menahannya selama 1 saat akan mencetuskannya.
  • Massless dihidupkan dan CanCollide dimatikan menghalang gem daripada memperlahankan atau menolak pemain yang membawanya.

Butiran lanjut

  • Anchored, Massless dan CanCollide ialah kotak semak dalam Properties.
  • Apabila kamu klik +, taip ProximityPrompt untuk mencarinya. Klik padanya, kemudian tukar ActionText dan HoldDuration dalam Properties.
  • Dalam permainan, satu butang kecil dengan huruf E dan perkataan Take muncul apabila kamu berdiri berhampiran permata.
  • Pada telefon, pemain menekan dan menahan jari pada butang itu.
Langkah ini tidak menjadi untuk saya

Semak tiga perkara ini dahulu

  • Nama setiap part dan skrip sama tepat seperti dalam panduan, termasuk huruf besarnya.
  • Skrip berada di dalam objek yang betul. Lihat label di atas kotak kod.
  • Buka tetingkap Output daripada menu Window. Teks merah menunjukkan skrip dan baris yang bermasalah.

Masih tersangkut? Tulis kepada kami →

4
Langkah 4 / 8

Beri setiap pemain pangkalan dan skor

  1. Letakkan tetikus di atas ServerScriptService, klik + dan tambah Script. Namakan Game.
  2. Padam baris yang sudah ada dan tampal kod ini. Ini bahagian pertama daripada tiga.
  3. Tekan Play. Satu pangkalan bertukar hijau. Itu milik kamu.
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)

Apa yang dilakukan oleh setiap bahagian

  • Baris pertama mencari pangkalan dan gem serta mengingati tempat gem bermula.
  • SetAttribute menulis UserId pemilik pada pangkalan kosong yang pertama.
  • PlayerRemoving membebaskan pangkalan itu semula apabila pemiliknya keluar.

Butiran lanjut

  • Skrip dibuka dalam tab baharu. Klik di dalam kod, tekan Ctrl+A dan kemudian Ctrl+V untuk menggantikan semuanya.
  • Pangkalan mana yang bertukar hijau bergantung pada susunan pangkalan dalam folder. Berjalan-jalan untuk mencari pangkalan kamu.
  • Senarai pemain di penjuru kanan atas menunjukkan Score 0.
  • Belum ada apa-apa berlaku jika kamu berjalan ke permata dan menahan E. Itu ada dalam langkah seterusnya.
Langkah ini tidak menjadi untuk saya

Semak tiga perkara ini dahulu

  • Nama setiap part dan skrip sama tepat seperti dalam panduan, termasuk huruf besarnya.
  • Skrip berada di dalam objek yang betul. Lihat label di atas kotak kod.
  • Buka tetingkap Output daripada menu Window. Teks merah menunjukkan skrip dan baris yang bermasalah.

Masih tersangkut? Tulis kepada kami →

5
Langkah 5 / 8

Biarkan pemain mengambil gem

  1. Buka skrip Game sekali lagi.
  2. Tampal kod ini di bawah kod daripada langkah sebelum ini.
  3. Tekan Play, berjalan ke gem dan tahan E. Gem melompat ke atas kepala kamu dan mengikut kamu.
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)

Apa yang dilakukan oleh setiap bahagian

  • carrier mengingati siapa yang memegang gem. Tiada orang lain boleh mengambilnya semasa ia dibawa.
  • WeldConstraint melekatkan gem pada pemain, jadi ia bergerak bersama mereka.
  • resetGem membuang weld dan meletakkan gem kembali di tengah.

Butiran lanjut

  • Untuk membuka skrip itu semula, klik dua kali Game dalam Explorer.
  • Klik selepas aksara paling akhir kod dan tekan Enter dua kali. Kemudian tekan Ctrl+V. Jangan tekan Ctrl+A kali ini, atau kamu menggantikan bahagian pertama.
  • Permata terapung 4 studs di atas kepala kamu semasa kamu membawanya.
  • Untuk menguji: ambil permata, kemudian semak bahawa butang Take hilang selagi kamu membawanya.
Langkah ini tidak menjadi untuk saya

Semak tiga perkara ini dahulu

  • Nama setiap part dan skrip sama tepat seperti dalam panduan, termasuk huruf besarnya.
  • Skrip berada di dalam objek yang betul. Lihat label di atas kotak kod.
  • Buka tetingkap Output daripada menu Window. Teks merah menunjukkan skrip dan baris yang bermasalah.

Masih tersangkut? Tulis kepada kami →

6
Langkah 6 / 8

Tambah pemarkahan dan tag

  1. Tampal bahagian terakhir ini di hujung sekali skrip Game.
  2. Tekan Play, ambil gem dan berlari ke atas pangkalan hijau kamu. Score naik sebanyak 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

Apa yang dilakukan oleh setiap bahagian

  • Setiap pangkalan menyemak tiga perkara: seorang pemain menyentuhnya, pemain itu membawa gem, dan pangkalan itu milik mereka.
  • Gelung di bawah berjalan 5 kali sesaat. Jika pemain lain datang lebih dekat daripada 5 studs kepada pembawa, gem dikembalikan.
  • Gelung itu juga menetapkan semula gem jika pembawa keluar daripada permainan atau jatuh dari peta.

Butiran lanjut

  • Sekali lagi klik selepas aksara paling akhir skrip, tekan Enter dua kali dan tampal.
  • Skrip yang siap ada tiga bahagian dalam susunan ini: pangkalan dan skor, mengambil permata, menjaringkan skor dan menanda.
  • Pangkalan kelabu yang bukan milik sesiapa tidak memberi mata. Hanya pangkalan hijau kamu sendiri yang dikira.
  • Bersendirian kamu tidak boleh menguji penandaan. Kamu buat itu dengan dua pemain dalam langkah seterusnya.
Kesilapan biasa. Menampal bahagian ini di tengah skrip. Gelung while tidak pernah tamat, jadi kod di bawahnya tidak pernah berjalan.
Langkah ini tidak menjadi untuk saya

Semak tiga perkara ini dahulu

  • Nama setiap part dan skrip sama tepat seperti dalam panduan, termasuk huruf besarnya.
  • Skrip berada di dalam objek yang betul. Lihat label di atas kotak kod.
  • Buka tetingkap Output daripada menu Window. Teks merah menunjukkan skrip dan baris yang bermasalah.

Masih tersangkut? Tulis kepada kami →

7
Langkah 7 / 8

Uji dengan dua pemain

  1. Di sebelah butang Play buka menu kecil dan pilih Server & Clients. Tetapkan bilangan pemain kepada 2 dan tekan Play.
  2. Studio membuka dua tetingkap permainan. Setiap satu ialah pemain berbeza dengan pangkalan berbeza.
  3. Ambil gem dalam satu tetingkap. Dalam tetingkap yang satu lagi, berlari ke arah pemain itu. Gem kembali ke tengah.
  4. Hentikan ujian dengan butang Stop merah di tetingkap Studio utama, kemudian tukar menu kembali kepada Test.

Butiran lanjut

  • Menu kecil itu ialah anak panah betul-betul di sebelah butang Play di bahagian atas Studio.
  • Dua tetingkap permainan dibuka bertindih. Seret satu ke tepi supaya kamu boleh nampak kedua-duanya.
  • Klik di dalam tetingkap sebelum kamu menggunakan papan kekunci. Kekunci pergi ke tetingkap yang terakhir kamu klik.
  • Menguji dengan dua tetingkap memerlukan komputer dengan memori yang mencukupi. Jika sangat perlahan, tutup program lain dahulu.
Langkah ini tidak menjadi untuk saya

Semak tiga perkara ini dahulu

  • Nama setiap part dan skrip sama tepat seperti dalam panduan, termasuk huruf besarnya.
  • Skrip berada di dalam objek yang betul. Lihat label di atas kotak kod.
  • Buka tetingkap Output daripada menu Window. Teks merah menunjukkan skrip dan baris yang bermasalah.

Masih tersangkut? Tulis kepada kami →

8
Langkah 8 / 8

Terbitkan

  1. Pilih File → Publish to Roblox. Beri permainan itu nama dan penerangan ringkas.
  2. Di laman web Creator Hub buka permainan kamu dan isi soal selidik Maturity.
  3. Tetapkan permainan kepada Public dan hantar pautannya kepada seorang kawan.

Butiran lanjut

  • Kali pertama kamu menerbitkan, Studio meminta nama dan penerangan. Klik Create.
  • Creator Hub ialah laman web create.roblox.com. Log masuk dengan akaun yang sama dan klik permainan kamu dalam senarai.
  • Roblox mungkin meminta lebih sebelum sesuatu permainan boleh dijadikan awam, contohnya semakan umur pada akaun. Halaman itu memberitahu apa yang kurang.
  • Jika kamu berumur bawah 18 tahun, buat langkah ini bersama ibu atau bapa.
Petua. Permainan ini hanya seronok dengan pemain lain. Jemput dua atau tiga kawan ke pelayan yang sama untuk perlawanan pertama.
Langkah ini tidak menjadi untuk saya

Semak tiga perkara ini dahulu

  • Nama setiap part dan skrip sama tepat seperti dalam panduan, termasuk huruf besarnya.
  • Skrip berada di dalam objek yang betul. Lihat label di atas kotak kod.
  • Buka tetingkap Output daripada menu Window. Teks merah menunjukkan skrip dan baris yang bermasalah.

Masih tersangkut? Tulis kepada kami →

Sekarang ubah sendiri

  • Tamatkan pusingan apabila seorang pemain mencapai 5 mata dan tetapkan semula setiap skor kepada 0.
  • Tambah gem kedua dengan warna berbeza.
  • Perlahankan pembawa. Petunjuk: tetapkan Humanoid.WalkSpeed kepada 12 apabila gem diambil dan kembali kepada 16 dalam resetGem.