← Toate ghidurile
Ghid 5

Construiește primul tău joc de tip fură și apără

Fiecare jucător primește o bază. Ia gema din mijloc, du-o acasă ca să marchezi și atinge pe oricine o cară.

Gratuit70 de minute · Începător, ultimul ghid · Roblox Studio
1
Pasul 1 / 8

Pregătește locul

  1. Deschide Roblox Studio, apasă New Experience și alege șablonul Baseplate.
  2. Gema va sta în mijlocul hărții. Patru baze vor sta în jurul ei, fiecare la vreo 60 de studs de mijloc.
  3. Acest joc are nevoie de cel puțin doi jucători, așa că la final îl vei testa cu doi jucători de test.

Mai multe detalii

  • Șablonul Baseplate se află în lista de șabloane de pe ecranul de start.
  • Câmpul Position din Properties arată unde se află o piesă. Position 60, 0.5, 0 înseamnă la 60 de studs de mijlocul hărții.
  • Mută SpawnLocation, platforma pe care apar jucătorii, aproape de mijloc, ca fiecare jucător să înceapă la aceeași distanță de bijuterie.
  • Pe un Mac, folosește tasta Cmd de fiecare dată când ghidul spune Ctrl.
Acest pas nu merge la mine

Verifică mai întâi aceste trei lucruri

  • Numele fiecărei piese și al fiecărui script este exact ca în ghid, cu aceleași litere mari.
  • Scriptul se află în obiectul potrivit. Uită-te la eticheta de deasupra casetei cu cod.
  • Deschide fereastra Output din meniul Window. Textul roșu îți arată scriptul și linia cu problema.

Tot nu merge? Scrie-ne →

2
Pasul 2 / 8

Construiește bazele

  1. În Explorer treci cu mouse-ul peste Workspace, apasă + și adaugă un Folder. Numește-l Bases.
  2. Adaugă un Part. Setează Size la 16, 1, 16, bifează Anchored și fă-l gri. Trage-l în Bases și numește-l Base1.
  3. Dublează-l de trei ori cu Ctrl+D. Numește copiile Base2, Base3 și Base4 și mută câte una în fiecare parte a hărții.

Mai multe detalii

  • Ca să pui piesa în folder, trage numele ei din Explorer peste numele Bases.
  • Copiile făcute cu Ctrl+D sunt deja în folderul Bases. Redenumește fiecare cu F2.
  • Numele trebuie să fie exact Base1, Base2, Base3 și Base4, fără spațiu înaintea numărului.
  • Un server cu mai mult de patru jucători are mai mulți jucători decât baze. Mai târziu poți seta mărimea serverului la 4 în setările jocului din Creator Hub.
Sfat. Ține toate cele patru baze la aceeași distanță de mijloc. Așa jocul este corect pentru toți.
Acest pas nu merge la mine

Verifică mai întâi aceste trei lucruri

  • Numele fiecărei piese și al fiecărui script este exact ca în ghid, cu aceleași litere mari.
  • Scriptul se află în obiectul potrivit. Uită-te la eticheta de deasupra casetei cu cod.
  • Deschide fereastra Output din meniul Window. Textul roșu îți arată scriptul și linia cu problema.

Tot nu merge? Scrie-ne →

3
Pasul 3 / 8

Creează gema

  1. Adaugă un Part în mijlocul hărții, la vreo 4 studs deasupra podelei. Setează Size la 2, 2, 2, alege o culoare vie și setează Material la Neon. Numește-l Gem.
  2. Bifează Anchored și Massless și debifează CanCollide.
  3. Treci cu mouse-ul peste Gem, apasă + și adaugă un ProximityPrompt. Setează ActionText la Take și HoldDuration la 1.

Ce face fiecare parte

  • Un ProximityPrompt arată un buton când un jucător stă aproape. Dacă îl ții apăsat 1 secundă, se declanșează.
  • Massless pornit și CanCollide oprit împiedică gema să încetinească sau să împingă jucătorul care o cară.

Mai multe detalii

  • Anchored, Massless și CanCollide sunt casete de bifat în Properties.
  • Când faci clic pe +, scrie ProximityPrompt ca să îl găsești. Fă clic pe el, apoi schimbă ActionText și HoldDuration în Properties.
  • În joc, un buton mic cu litera E și cuvântul Take apare când stai lângă bijuterie.
  • Pe telefon, jucătorii țin degetul apăsat pe acel buton.
Acest pas nu merge la mine

Verifică mai întâi aceste trei lucruri

  • Numele fiecărei piese și al fiecărui script este exact ca în ghid, cu aceleași litere mari.
  • Scriptul se află în obiectul potrivit. Uită-te la eticheta de deasupra casetei cu cod.
  • Deschide fereastra Output din meniul Window. Textul roșu îți arată scriptul și linia cu problema.

Tot nu merge? Scrie-ne →

4
Pasul 4 / 8

Dă fiecărui jucător o bază și un scor

  1. Treci cu mouse-ul peste ServerScriptService, apasă + și adaugă un Script. Numește-l Game.
  2. Șterge linia care era deja acolo și lipește acest cod. Este prima din trei părți.
  3. Apasă Play. O bază devine verde. Aceea este a ta.
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)

Ce face fiecare parte

  • Primele linii găsesc bazele și gema și țin minte unde a început gema.
  • SetAttribute scrie UserId al proprietarului pe prima bază liberă.
  • PlayerRemoving eliberează baza la loc când proprietarul ei pleacă.

Mai multe detalii

  • Scriptul se deschide într-o filă nouă. Fă clic în cod, apasă Ctrl+A și apoi Ctrl+V ca să înlocuiești tot.
  • Care bază devine verde depinde de ordinea bazelor din folder. Plimbă-te prin jur ca să o găsești pe a ta.
  • Lista jucătorilor din colțul din dreapta sus arată Score 0.
  • Încă nu se întâmplă nimic când mergi la bijuterie și ții apăsat E. Asta vine la pasul următor.
Acest pas nu merge la mine

Verifică mai întâi aceste trei lucruri

  • Numele fiecărei piese și al fiecărui script este exact ca în ghid, cu aceleași litere mari.
  • Scriptul se află în obiectul potrivit. Uită-te la eticheta de deasupra casetei cu cod.
  • Deschide fereastra Output din meniul Window. Textul roșu îți arată scriptul și linia cu problema.

Tot nu merge? Scrie-ne →

5
Pasul 5 / 8

Lasă jucătorii să ia gema

  1. Deschide din nou scriptul Game.
  2. Lipește acest cod sub codul de la pasul trecut.
  3. Apasă Play, mergi la gemă și ține apăsat E. Gema sare deasupra capului tău și te urmează.
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)

Ce face fiecare parte

  • carrier ține minte cine are gema. Nimeni altcineva nu o poate lua cât timp este purtată.
  • Un WeldConstraint lipește gema de jucător, așa că se mișcă odată cu el.
  • resetGem scoate legătura și pune gema înapoi în mijloc.

Mai multe detalii

  • Ca să deschizi din nou scriptul, fă dublu clic pe Game în Explorer.
  • Fă clic după ultimul caracter al codului și apasă Enter de două ori. Apoi apasă Ctrl+V. De data asta nu apăsa Ctrl+A, altfel înlocuiești prima parte.
  • Bijuteria plutește la 4 studs deasupra capului tău cât timp o cari.
  • Ca să testezi: ia bijuteria, apoi verifică dacă butonul Take dispare cât timp o ții.
Acest pas nu merge la mine

Verifică mai întâi aceste trei lucruri

  • Numele fiecărei piese și al fiecărui script este exact ca în ghid, cu aceleași litere mari.
  • Scriptul se află în obiectul potrivit. Uită-te la eticheta de deasupra casetei cu cod.
  • Deschide fereastra Output din meniul Window. Textul roșu îți arată scriptul și linia cu problema.

Tot nu merge? Scrie-ne →

6
Pasul 6 / 8

Adaugă scorul și atingerea

  1. Lipește această ultimă parte chiar la sfârșitul scriptului Game.
  2. Apasă Play, ia gema și fugi pe baza ta verde. Score crește cu 1 și gema se întoarce în mijloc.
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

Ce face fiecare parte

  • Fiecare bază verifică trei lucruri: un jucător a atins-o, acel jucător cară gema și baza este a lui.
  • Bucla de jos rulează de 5 ori pe secundă. Dacă un alt jucător se apropie la mai puțin de 5 studs de cel care cară gema, gema se întoarce.
  • Bucla pune gema la loc și dacă cel care o cară iese din joc sau cade de pe hartă.

Mai multe detalii

  • Din nou, fă clic după ultimul caracter al scriptului, apasă Enter de două ori și lipește.
  • Scriptul terminat are trei părți, în această ordine: bazele și scorul, luarea bijuteriei, marcarea punctelor și atingerea celuilalt jucător.
  • O bază gri, care nu aparține nimănui, nu dă puncte. Contează doar baza ta verde.
  • Singur nu poți testa atingerea celuilalt jucător. Asta o faci cu doi jucători la pasul următor.
Greșeală frecventă. Ai lipit această parte în mijlocul scriptului. Bucla while nu se termină niciodată, așa că orice cod de sub ea nu rulează.
Acest pas nu merge la mine

Verifică mai întâi aceste trei lucruri

  • Numele fiecărei piese și al fiecărui script este exact ca în ghid, cu aceleași litere mari.
  • Scriptul se află în obiectul potrivit. Uită-te la eticheta de deasupra casetei cu cod.
  • Deschide fereastra Output din meniul Window. Textul roșu îți arată scriptul și linia cu problema.

Tot nu merge? Scrie-ne →

7
Pasul 7 / 8

Testează cu doi jucători

  1. Lângă butonul Play deschide meniul mic și alege Server & Clients. Setează numărul de jucători la 2 și apasă Play.
  2. Studio deschide două ferestre de joc. Fiecare este un jucător diferit, cu o bază diferită.
  3. Ia gema într-o fereastră. În cealaltă fereastră fugi spre acel jucător. Gema se întoarce în mijloc.
  4. Oprește testul cu butonul roșu Stop din fereastra principală Studio, apoi pune meniul înapoi pe Test.

Mai multe detalii

  • Meniul mic este săgeata chiar lângă butonul Play din partea de sus a programului Studio.
  • Cele două ferestre de joc se deschid una peste alta. Trage una într-o parte ca să le vezi pe amândouă.
  • Fă clic într-o fereastră înainte să folosești tastatura. Tastele merg în fereastra pe care ai apăsat ultima dată.
  • Testarea cu două ferestre are nevoie de un calculator cu destulă memorie. Dacă merge foarte greu, închide mai întâi alte programe.
Acest pas nu merge la mine

Verifică mai întâi aceste trei lucruri

  • Numele fiecărei piese și al fiecărui script este exact ca în ghid, cu aceleași litere mari.
  • Scriptul se află în obiectul potrivit. Uită-te la eticheta de deasupra casetei cu cod.
  • Deschide fereastra Output din meniul Window. Textul roșu îți arată scriptul și linia cu problema.

Tot nu merge? Scrie-ne →

8
Pasul 8 / 8

Publică-l

  1. Alege File → Publish to Roblox. Dă jocului un nume și o descriere scurtă.
  2. Pe site-ul Creator Hub deschide jocul tău și completează chestionarul Maturity.
  3. Setează jocul pe Public și trimite linkul unui prieten.

Mai multe detalii

  • Prima dată când publici, Studio îți cere un nume și o descriere. Fă clic pe Create.
  • Creator Hub este site-ul create.roblox.com. Conectează-te cu același cont și fă clic pe jocul tău din listă.
  • Roblox poate cere mai mult înainte ca un joc să devină public, de exemplu o verificare a vârstei pentru cont. Pagina îți spune ce lipsește.
  • Dacă ai sub 18 ani, fă acest pas împreună cu un părinte.
Sfat. Acest joc este distractiv doar cu alți jucători. Invită doi sau trei prieteni pe același server pentru primul meci.
Acest pas nu merge la mine

Verifică mai întâi aceste trei lucruri

  • Numele fiecărei piese și al fiecărui script este exact ca în ghid, cu aceleași litere mari.
  • Scriptul se află în obiectul potrivit. Uită-te la eticheta de deasupra casetei cu cod.
  • Deschide fereastra Output din meniul Window. Textul roșu îți arată scriptul și linia cu problema.

Tot nu merge? Scrie-ne →

Acum schimbă tu codul

  • Termină runda când un jucător ajunge la 5 puncte și pune toate scorurile înapoi pe 0.
  • Adaugă o a doua gemă, de altă culoare.
  • Fă ca cel care cară gema să fie mai lent. Indiciu: setează Humanoid.WalkSpeed la 12 când gema este luată și înapoi la 16 în resetGem.