← Tutte le guide
Guida 5

Crea il tuo primo gioco ruba e difendi

Ogni giocatore ha una base. Afferra la gemma dal centro, portala a casa per fare punti e tocca chiunque la trasporti.

Gratis70 minuti · Principiante, ultima guida · Roblox Studio
1
Passo 1 / 8

Prepara il posto

  1. Apri Roblox Studio, clicca su New Experience e scegli il modello Baseplate.
  2. La gemma starà al centro della mappa. Quattro basi staranno intorno, ognuna a circa 60 studs dal centro.
  3. Questo gioco ha bisogno di almeno due giocatori, quindi alla fine lo proverai con due giocatori di prova.

Più dettagli

  • Il modello Baseplate è nell'elenco dei modelli nella schermata iniziale.
  • Il campo Position in Properties mostra dove si trova una Part. Position 60, 0.5, 0 è a 60 studs dal centro della mappa.
  • Sposta la SpawnLocation, la piattaforma dove compaiono i giocatori, vicino al centro, così ogni giocatore parte alla stessa distanza dalla gemma.
  • Su un Mac usa il tasto Cmd ogni volta che questa guida dice Ctrl.
Questo passo non funziona per me

Controlla prima queste tre cose

  • Il nome di ogni Part e di ogni script è uguale a quello della guida, con le stesse lettere maiuscole.
  • Lo script si trova nell'oggetto giusto. Guarda l'etichetta sopra il riquadro del codice.
  • Apri la finestra Output dal menu Window. Il testo rosso mostra lo script e la riga con il problema.

Sei ancora bloccato? Scrivici →

2
Passo 2 / 8

Costruisci le basi

  1. In Explorer passa il mouse su Workspace, clicca + e aggiungi una Folder. Chiamala Bases.
  2. Aggiungi una Part. Imposta Size su 16, 1, 16, attiva Anchored e falla grigia. Trascinala in Bases e chiamala Base1.
  3. Duplicala tre volte con Ctrl+D. Chiama le copie Base2, Base3 e Base4 e metti una su ogni lato della mappa.

Più dettagli

  • Per mettere la Part nella cartella, trascina il suo nome in Explorer sul nome Bases.
  • Le copie fatte con Ctrl+D sono già dentro la cartella Bases. Rinomina ognuna con F2.
  • I nomi devono essere esattamente Base1, Base2, Base3 e Base4, senza spazio prima del numero.
  • Un server con più di quattro giocatori ha più giocatori che basi. Più avanti puoi impostare la dimensione del server a 4 nelle impostazioni del gioco su Creator Hub.
Consiglio. Tieni tutte e quattro le basi alla stessa distanza dal centro. Così il gioco è giusto per tutti.
Questo passo non funziona per me

Controlla prima queste tre cose

  • Il nome di ogni Part e di ogni script è uguale a quello della guida, con le stesse lettere maiuscole.
  • Lo script si trova nell'oggetto giusto. Guarda l'etichetta sopra il riquadro del codice.
  • Apri la finestra Output dal menu Window. Il testo rosso mostra lo script e la riga con il problema.

Sei ancora bloccato? Scrivici →

3
Passo 3 / 8

Crea la gemma

  1. Aggiungi una Part al centro della mappa, a circa 4 studs sopra il pavimento. Imposta Size su 2, 2, 2, scegli un colore brillante e imposta Material su Neon. Chiamala Gem.
  2. Attiva Anchored e Massless e disattiva CanCollide.
  3. Passa il mouse su Gem, clicca + e aggiungi un ProximityPrompt. Imposta ActionText su Take e HoldDuration su 1.

Che cosa fa ogni parte

  • Un ProximityPrompt mostra un pulsante quando un giocatore è vicino. Tenendolo premuto per 1 secondo si attiva.
  • Massless attivo e CanCollide spento evitano che la gemma rallenti o spinga il giocatore che la porta.

Più dettagli

  • Anchored, Massless e CanCollide sono caselle in Properties.
  • Quando clicchi +, scrivi ProximityPrompt per trovarlo. Cliccalo, poi cambia ActionText e HoldDuration in Properties.
  • Nel gioco compare un piccolo pulsante con la lettera E e la parola Take quando stai vicino alla gemma.
  • Su un telefono i giocatori tengono premuto il dito su quel pulsante.
Questo passo non funziona per me

Controlla prima queste tre cose

  • Il nome di ogni Part e di ogni script è uguale a quello della guida, con le stesse lettere maiuscole.
  • Lo script si trova nell'oggetto giusto. Guarda l'etichetta sopra il riquadro del codice.
  • Apri la finestra Output dal menu Window. Il testo rosso mostra lo script e la riga con il problema.

Sei ancora bloccato? Scrivici →

4
Passo 4 / 8

Dai a ogni giocatore una base e un punteggio

  1. Passa il mouse su ServerScriptService, clicca + e aggiungi uno Script. Chiamalo Game.
  2. Cancella la riga che c'è già e incolla questo codice. È la prima di tre parti.
  3. Premi Play. Una base diventa verde. Quella è la tua.
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)

Che cosa fa ogni parte

  • Le prime righe trovano le basi e la gemma e ricordano dove si trovava la gemma all'inizio.
  • SetAttribute scrive lo UserId del proprietario sulla prima base libera.
  • PlayerRemoving libera di nuovo la base quando il suo proprietario se ne va.

Più dettagli

  • Lo script si apre in una nuova scheda. Clicca dentro il codice, premi Ctrl+A e poi Ctrl+V per sostituire tutto.
  • Quale base diventa verde dipende dall'ordine delle basi nella cartella. Girati intorno per trovare la tua.
  • La lista dei giocatori in alto a destra mostra Score 0.
  • Per ora non succede niente quando cammini fino alla gemma e tieni premuto E. Arriva nel passo successivo.
Questo passo non funziona per me

Controlla prima queste tre cose

  • Il nome di ogni Part e di ogni script è uguale a quello della guida, con le stesse lettere maiuscole.
  • Lo script si trova nell'oggetto giusto. Guarda l'etichetta sopra il riquadro del codice.
  • Apri la finestra Output dal menu Window. Il testo rosso mostra lo script e la riga con il problema.

Sei ancora bloccato? Scrivici →

5
Passo 5 / 8

Lascia che i giocatori prendano la gemma

  1. Apri di nuovo lo script Game.
  2. Incolla questo codice sotto il codice del passo precedente.
  3. Premi Play, cammina fino alla gemma e tieni premuto E. La gemma salta sopra la tua testa e ti segue.
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)

Che cosa fa ogni parte

  • carrier ricorda chi tiene la gemma. Nessun altro può prenderla mentre qualcuno la porta.
  • Un WeldConstraint incolla la gemma al giocatore, così si muove con lui.
  • resetGem toglie il weld e rimette la gemma al centro.

Più dettagli

  • Per riaprire lo script, fai doppio clic su Game in Explorer.
  • Clicca dopo l'ultimissimo carattere del codice e premi Enter due volte. Poi premi Ctrl+V. Stavolta non premere Ctrl+A, altrimenti sostituisci la prima parte.
  • La gemma galleggia 4 studs sopra la tua testa mentre la porti.
  • Per provare: prendi la gemma, poi controlla che il pulsante Take sparisca finché la porti.
Questo passo non funziona per me

Controlla prima queste tre cose

  • Il nome di ogni Part e di ogni script è uguale a quello della guida, con le stesse lettere maiuscole.
  • Lo script si trova nell'oggetto giusto. Guarda l'etichetta sopra il riquadro del codice.
  • Apri la finestra Output dal menu Window. Il testo rosso mostra lo script e la riga con il problema.

Sei ancora bloccato? Scrivici →

6
Passo 6 / 8

Aggiungi i punti e il tocco

  1. Incolla quest'ultima parte proprio alla fine dello script Game.
  2. Premi Play, prendi la gemma e corri sulla tua base verde. Score sale di 1 e la gemma torna al centro.
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

Che cosa fa ogni parte

  • Ogni base controlla tre cose: un giocatore l'ha toccata, quel giocatore porta la gemma e la base è sua.
  • Il ciclo in fondo gira 5 volte al secondo. Se un altro giocatore si avvicina a meno di 5 studs da chi porta la gemma, la gemma torna indietro.
  • Il ciclo rimette a posto la gemma anche se chi la porta esce dal gioco o cade fuori dalla mappa.

Più dettagli

  • Di nuovo, clicca dopo l'ultimissimo carattere dello script, premi Enter due volte e incolla.
  • Lo script finito ha tre parti in quest'ordine: basi e punteggio, prendere la gemma, fare punti e toccare un giocatore.
  • Una base grigia che non è di nessuno non dà punti. Conta solo la tua base verde.
  • Da solo non puoi provare il tocco tra giocatori. Lo farai con due giocatori nel passo successivo.
Errore comune. Incollare questa parte in mezzo allo script. Il ciclo while non finisce mai, quindi il codice sotto di esso non parte mai.
Questo passo non funziona per me

Controlla prima queste tre cose

  • Il nome di ogni Part e di ogni script è uguale a quello della guida, con le stesse lettere maiuscole.
  • Lo script si trova nell'oggetto giusto. Guarda l'etichetta sopra il riquadro del codice.
  • Apri la finestra Output dal menu Window. Il testo rosso mostra lo script e la riga con il problema.

Sei ancora bloccato? Scrivici →

7
Passo 7 / 8

Prova con due giocatori

  1. Accanto al pulsante Play apri il piccolo menu e scegli Server & Clients. Imposta il numero di giocatori su 2 e premi Play.
  2. Studio apre due finestre di gioco. Ognuna è un giocatore diverso con una base diversa.
  3. Prendi la gemma in una finestra. Nell'altra finestra corri contro quel giocatore. La gemma torna al centro.
  4. Ferma la prova con il pulsante rosso Stop nella finestra principale di Studio, poi rimetti il menu su Test.

Più dettagli

  • Il piccolo menu è la freccia proprio accanto al pulsante Play in alto in Studio.
  • Le due finestre di gioco si aprono una sopra l'altra. Trascinane una da parte per vederle tutte e due.
  • Clicca dentro una finestra prima di usare la tastiera. I tasti vanno alla finestra che hai cliccato per ultima.
  • Provare con due finestre richiede un computer con abbastanza memoria. Se è molto lento, chiudi prima gli altri programmi.
Questo passo non funziona per me

Controlla prima queste tre cose

  • Il nome di ogni Part e di ogni script è uguale a quello della guida, con le stesse lettere maiuscole.
  • Lo script si trova nell'oggetto giusto. Guarda l'etichetta sopra il riquadro del codice.
  • Apri la finestra Output dal menu Window. Il testo rosso mostra lo script e la riga con il problema.

Sei ancora bloccato? Scrivici →

8
Passo 8 / 8

Pubblicalo

  1. Scegli File → Publish to Roblox. Dai al gioco un nome e una breve descrizione.
  2. Sul sito Creator Hub apri il tuo gioco e compila il questionario Maturity.
  3. Imposta il gioco su Public e manda il link a un amico.

Più dettagli

  • La prima volta che pubblichi, Studio ti chiede un nome e una descrizione. Clicca Create.
  • Creator Hub è il sito create.roblox.com. Accedi con lo stesso account e clicca il tuo gioco nell'elenco.
  • Roblox può chiedere altro prima che un gioco possa essere pubblico, per esempio una verifica dell'età sull'account. La pagina ti dice che cosa manca.
  • Se hai meno di 18 anni, fai questo passo insieme a un genitore.
Consiglio. Questo gioco è divertente solo con altri giocatori. Invita due o tre amici nello stesso server per la prima partita.
Questo passo non funziona per me

Controlla prima queste tre cose

  • Il nome di ogni Part e di ogni script è uguale a quello della guida, con le stesse lettere maiuscole.
  • Lo script si trova nell'oggetto giusto. Guarda l'etichetta sopra il riquadro del codice.
  • Apri la finestra Output dal menu Window. Il testo rosso mostra lo script e la riga con il problema.

Sei ancora bloccato? Scrivici →

Ora cambialo tu

  • Finisci il round quando un giocatore arriva a 5 punti e rimetti tutti i punteggi a 0.
  • Aggiungi una seconda gemma di un altro colore.
  • Rendi più lento chi porta la gemma. Indizio: imposta Humanoid.WalkSpeed a 12 quando la gemma viene presa e di nuovo a 16 in resetGem.