← Lahat ng gabay
Gabay 5

Gawin ang una mong larong steal-and-defend

Bawat manlalaro ay may base. Kunin ang gem mula sa gitna, dalhin ito pauwi para makapuntos, at i-tag ang sinumang may dala nito.

Libre70 minuto · Baguhan, huling gabay · Roblox Studio
1
Hakbang 1 / 8

I-set up ang place

  1. Buksan ang Roblox Studio, i-click ang New Experience at piliin ang template na Baseplate.
  2. Nasa gitna ng mapa ang gem. Apat na base ang nakapalibot dito, bawat isa ay mga 60 studs mula sa gitna.
  3. Kailangan ng larong ito ng hindi bababa sa dalawang manlalaro, kaya sa dulo ay susubukan mo ito gamit ang dalawang test player.

Higit pang detalye

  • Nasa listahan ng mga template sa start screen ang template na Baseplate.
  • Ipinapakita ng field na Position sa Properties kung nasaan ang part. Ang Position 60, 0.5, 0 ay 60 studs mula sa gitna ng mapa.
  • Ilipat mo ang SpawnLocation, ang platform kung saan lumilitaw ang mga manlalaro, malapit sa gitna, para pantay ang layo ng bawat manlalaro sa gem pagsimula.
  • Sa Mac, gamitin ang Cmd key tuwing sinasabi ng gabay na ito ang Ctrl.
Hindi gumagana sa akin ang hakbang na ito

Tingnan muna ang tatlong ito

  • Eksaktong kapareho ng nasa gabay ang pangalan ng bawat part at script, pati ang malalaking letra.
  • Nasa tamang bagay ang script. Tingnan ang label sa itaas ng code box.
  • Buksan ang Output window mula sa menu na Window. Ipinapakita ng pulang text ang script at ang linyang may problema.

Nahihirapan pa rin? Sumulat sa amin →

2
Hakbang 2 / 8

Gawin ang mga base

  1. Sa Explorer, ilagay ang mouse sa Workspace, i-click ang + at magdagdag ng Folder. Pangalanan itong Bases.
  2. Magdagdag ng Part. Itakda ang Size sa 16, 1, 16, i-on ang Anchored at gawin itong abuhin. I-drag ito sa Bases at pangalanan itong Base1.
  3. I-duplicate ito nang tatlong beses gamit ang Ctrl+D. Pangalanan ang mga kopya na Base2, Base3 at Base4 at ilagay ang isa sa bawat panig ng mapa.

Higit pang detalye

  • Para ilagay ang part sa folder, i-drag ang pangalan nito sa Explorer papunta sa pangalang Bases.
  • Ang mga kopyang ginawa gamit ang Ctrl+D ay nasa loob na ng folder na Bases. Palitan ang pangalan ng bawat isa gamit ang F2.
  • Dapat eksaktong Base1, Base2, Base3 at Base4 ang mga pangalan, na walang espasyo bago ang numero.
  • Ang server na may higit sa apat na manlalaro ay mas marami ang manlalaro kaysa base. Sa susunod, puwede mong itakda sa 4 ang laki ng server sa mga setting ng laro sa Creator Hub.
Tip. Panatilihing pareho ang layo ng apat na base mula sa gitna. Sa ganoon, patas ang laro para sa lahat.
Hindi gumagana sa akin ang hakbang na ito

Tingnan muna ang tatlong ito

  • Eksaktong kapareho ng nasa gabay ang pangalan ng bawat part at script, pati ang malalaking letra.
  • Nasa tamang bagay ang script. Tingnan ang label sa itaas ng code box.
  • Buksan ang Output window mula sa menu na Window. Ipinapakita ng pulang text ang script at ang linyang may problema.

Nahihirapan pa rin? Sumulat sa amin →

3
Hakbang 3 / 8

Gawin ang gem

  1. Magdagdag ng Part sa gitna ng mapa, mga 4 studs sa itaas ng sahig. Itakda ang Size sa 2, 2, 2, pumili ng matingkad na kulay at itakda ang Material sa Neon. Pangalanan itong Gem.
  2. I-on ang Anchored at Massless, at i-off ang CanCollide.
  3. Ilagay ang mouse sa Gem, i-click ang + at magdagdag ng ProximityPrompt. Itakda ang ActionText sa Take at ang HoldDuration sa 1.

Ano ang ginagawa ng bawat bahagi

  • Ang ProximityPrompt ay nagpapakita ng button kapag malapit ang manlalaro. Kapag hinawakan ito nang 1 segundo, gumagana ito.
  • Dahil naka-on ang Massless at naka-off ang CanCollide, hindi bumabagal o natutulak ng gem ang manlalarong may dala nito.

Higit pang detalye

  • Ang Anchored, Massless at CanCollide ay mga checkbox sa Properties.
  • Kapag kinlick mo ang +, i-type ang ProximityPrompt para mahanap ito. I-click ito, saka palitan ang ActionText at HoldDuration sa Properties.
  • Sa laro, lumilitaw ang maliit na button na may letrang E at ang salitang Take kapag malapit ka sa gem.
  • Sa phone, idinidiin ng mga manlalaro ang daliri nila sa button na iyon.
Hindi gumagana sa akin ang hakbang na ito

Tingnan muna ang tatlong ito

  • Eksaktong kapareho ng nasa gabay ang pangalan ng bawat part at script, pati ang malalaking letra.
  • Nasa tamang bagay ang script. Tingnan ang label sa itaas ng code box.
  • Buksan ang Output window mula sa menu na Window. Ipinapakita ng pulang text ang script at ang linyang may problema.

Nahihirapan pa rin? Sumulat sa amin →

4
Hakbang 4 / 8

Bigyan ng base at score ang bawat manlalaro

  1. Ilagay ang mouse sa ServerScriptService, i-click ang + at magdagdag ng Script. Pangalanan itong Game.
  2. Burahin ang linyang nandoon na at i-paste ang code na ito. Ito ang una sa tatlong bahagi.
  3. Pindutin ang Play. Magiging berde ang isang base. Iyon ang sa iyo.
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)

Ano ang ginagawa ng bawat bahagi

  • Hinahanap ng unang mga linya ang mga base at ang gem at inaalala kung saan nagsimula ang gem.
  • Isinusulat ng SetAttribute ang UserId ng may-ari sa unang walang may-ring base.
  • Pinapalaya ng PlayerRemoving ang base ulit kapag umalis ang may-ari nito.

Higit pang detalye

  • Bumubukas ang script sa bagong tab. Mag-click sa loob ng code, pindutin ang Ctrl+A at saka Ctrl+V para palitan ang lahat.
  • Ang pagiging berde ng isang base ay depende sa pagkakasunod ng mga base sa folder. Maglakad-lakad para mahanap ang sa iyo.
  • Ipinapakita ng listahan ng manlalaro sa kanang itaas na sulok ang Score 0.
  • Wala pang mangyayari kapag lumakad ka sa gem at idiniin ang E. Susunod iyon sa susunod na hakbang.
Hindi gumagana sa akin ang hakbang na ito

Tingnan muna ang tatlong ito

  • Eksaktong kapareho ng nasa gabay ang pangalan ng bawat part at script, pati ang malalaking letra.
  • Nasa tamang bagay ang script. Tingnan ang label sa itaas ng code box.
  • Buksan ang Output window mula sa menu na Window. Ipinapakita ng pulang text ang script at ang linyang may problema.

Nahihirapan pa rin? Sumulat sa amin →

5
Hakbang 5 / 8

Hayaang kunin ng mga manlalaro ang gem

  1. Buksan ulit ang script na Game.
  2. I-paste ang code na ito sa ibaba ng code mula sa nakaraang hakbang.
  3. Pindutin ang Play, lumakad papunta sa gem at hawakan ang E. Lalundag ang gem sa itaas ng ulo mo at susunod sa iyo.
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)

Ano ang ginagawa ng bawat bahagi

  • Inaalala ng carrier kung sino ang may hawak ng gem. Walang ibang makakakuha nito habang dala ito.
  • Idinidikit ng WeldConstraint ang gem sa manlalaro, kaya sumasabay ito sa kanya.
  • Inaalis ng resetGem ang weld at ibinabalik ang gem sa gitna.

Higit pang detalye

  • Para buksan ulit ang script, i-double-click ang Game sa Explorer.
  • Mag-click pagkatapos ng pinakahuling karakter ng code at pindutin ang Enter nang dalawang beses. Saka pindutin ang Ctrl+V. Huwag pindutin ang Ctrl+A ngayon, kung hindi ay mapapalitan mo ang unang bahagi.
  • Lumulutang ang gem nang 4 studs sa ibabaw ng ulo mo habang dala mo ito.
  • Para subukan: kunin ang gem, saka tingnan kung nawawala ang button na Take habang dala mo ito.
Hindi gumagana sa akin ang hakbang na ito

Tingnan muna ang tatlong ito

  • Eksaktong kapareho ng nasa gabay ang pangalan ng bawat part at script, pati ang malalaking letra.
  • Nasa tamang bagay ang script. Tingnan ang label sa itaas ng code box.
  • Buksan ang Output window mula sa menu na Window. Ipinapakita ng pulang text ang script at ang linyang may problema.

Nahihirapan pa rin? Sumulat sa amin →

6
Hakbang 6 / 8

Idagdag ang pagpuntos at pag-tag

  1. I-paste ang huling bahaging ito sa pinakadulo ng script na Game.
  2. Pindutin ang Play, kunin ang gem at tumakbo papunta sa berde mong base. Tataas ng 1 ang Score at babalik ang gem sa gitna.
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

Ano ang ginagawa ng bawat bahagi

  • Tatlong bagay ang sinusuri ng bawat base: may manlalarong humawak dito, dala ng manlalarong iyon ang gem, at sa kanya ang base.
  • Ang loop sa ibaba ay tumatakbo 5 beses bawat segundo. Kung may ibang manlalarong lumapit nang wala pang 5 studs sa may dala, babalik ang gem.
  • Nire-reset din ng loop ang gem kung umalis sa laro ang may dala o nahulog ito sa labas ng mapa.

Higit pang detalye

  • Muli, mag-click pagkatapos ng pinakahuling karakter ng script, pindutin ang Enter nang dalawang beses at i-paste.
  • May tatlong bahagi ang tapos na script sa ganitong pagkakasunod: mga base at score, pagkuha ng gem, at pag-score at pag-tag.
  • Ang abuhing base na walang may-ari ay hindi nagbibigay ng puntos. Ang sarili mong berdeng base lang ang binibilang.
  • Mag-isa ka, hindi mo masusubukan ang pag-tag. Gagawin mo iyon kasama ang dalawang manlalaro sa susunod na hakbang.
Karaniwang pagkakamali. Pag-paste ng bahaging ito sa gitna ng script. Hindi natatapos ang while loop, kaya hindi tatakbo ang anumang code sa ibaba nito.
Hindi gumagana sa akin ang hakbang na ito

Tingnan muna ang tatlong ito

  • Eksaktong kapareho ng nasa gabay ang pangalan ng bawat part at script, pati ang malalaking letra.
  • Nasa tamang bagay ang script. Tingnan ang label sa itaas ng code box.
  • Buksan ang Output window mula sa menu na Window. Ipinapakita ng pulang text ang script at ang linyang may problema.

Nahihirapan pa rin? Sumulat sa amin →

7
Hakbang 7 / 8

Subukan gamit ang dalawang manlalaro

  1. Sa tabi ng button na Play, buksan ang maliit na menu at piliin ang Server & Clients. Itakda sa 2 ang bilang ng mga manlalaro at pindutin ang Play.
  2. Magbubukas ang Studio ng dalawang window ng laro. Bawat isa ay ibang manlalaro na may ibang base.
  3. Kunin ang gem sa isang window. Sa kabilang window, bumangga sa manlalarong iyon. Babalik ang gem sa gitna.
  4. Itigil ang test gamit ang pulang button na Stop sa pangunahing window ng Studio, saka ibalik ang menu sa Test.

Higit pang detalye

  • Ang maliit na menu ay ang arrow sa tabi mismo ng button na Play sa itaas ng Studio.
  • Nagpapatong ang dalawang window ng laro. I-drag ang isa sa tabi para makita mo ang pareho.
  • Mag-click muna sa loob ng window bago gamitin ang keyboard. Napupunta ang mga key sa window na huli mong kinlick.
  • Ang pagsubok gamit ang dalawang window ay nangangailangan ng computer na may sapat na memory. Kung sobrang bagal, isara muna ang ibang program.
Hindi gumagana sa akin ang hakbang na ito

Tingnan muna ang tatlong ito

  • Eksaktong kapareho ng nasa gabay ang pangalan ng bawat part at script, pati ang malalaking letra.
  • Nasa tamang bagay ang script. Tingnan ang label sa itaas ng code box.
  • Buksan ang Output window mula sa menu na Window. Ipinapakita ng pulang text ang script at ang linyang may problema.

Nahihirapan pa rin? Sumulat sa amin →

8
Hakbang 8 / 8

I-publish ito

  1. Piliin ang File → Publish to Roblox. Bigyan ng pangalan at maikling paglalarawan ang laro.
  2. Sa website ng Creator Hub, buksan ang laro mo at sagutan ang talatanungan ng Maturity.
  3. Itakda ang laro sa Public at ipadala ang link sa kaibigan.

Higit pang detalye

  • Sa unang beses na magpa-publish ka, hihingi ang Studio ng pangalan at deskripsyon. I-click ang Create.
  • Ang Creator Hub ay ang website na create.roblox.com. Mag-sign in gamit ang parehong account at i-click ang laro mo sa listahan.
  • Maaaring humingi pa ang Roblox bago maging public ang laro, halimbawa ay age check sa account. Sasabihin ng pahina kung ano ang kulang.
  • Kung wala ka pang 18, gawin ang hakbang na ito kasama ang magulang mo.
Tip. Masaya lang ang larong ito kapag may ibang manlalaro. Mag-imbita ng dalawa o tatlong kaibigan sa iisang server para sa unang laban.
Hindi gumagana sa akin ang hakbang na ito

Tingnan muna ang tatlong ito

  • Eksaktong kapareho ng nasa gabay ang pangalan ng bawat part at script, pati ang malalaking letra.
  • Nasa tamang bagay ang script. Tingnan ang label sa itaas ng code box.
  • Buksan ang Output window mula sa menu na Window. Ipinapakita ng pulang text ang script at ang linyang may problema.

Nahihirapan pa rin? Sumulat sa amin →

Ngayon, ikaw naman ang magbago

  • Tapusin ang round kapag umabot sa 5 puntos ang isang manlalaro at ibalik sa 0 ang lahat ng score.
  • Magdagdag ng pangalawang gem na iba ang kulay.
  • Pabagalin ang may dala. Pahiwatig: itakda ang Humanoid.WalkSpeed sa 12 kapag kinuha ang gem at ibalik sa 16 sa resetGem.