← Alle gidsen
Gids 5

Bouw je eerste steel-en-verdedig-game

Elke speler krijgt een basis. Pak de edelsteen uit het midden, ren ermee naar huis om te scoren en tik iedereen aan die hem draagt.

Gratis70 minuten · Beginner, laatste gids · Roblox Studio
1
Stap 1 / 8

Maak de plek klaar

  1. Open Roblox Studio, klik op New Experience en kies de Baseplate-template.
  2. De edelsteen ligt in het midden van de map. Vier bases staan eromheen, elk ongeveer 60 studs van het midden.
  3. Deze game heeft minstens twee spelers nodig, dus aan het eind test je hem met twee testspelers.

Meer uitleg

  • De template Baseplate staat in de lijst met templates op het startscherm.
  • Het veld Position in Properties laat zien waar een part staat. Position 60, 0.5, 0 is 60 studs van het midden van de kaart.
  • Verplaats de SpawnLocation, het platform waar spelers verschijnen, dicht bij het midden, zodat elke speler op dezelfde afstand van de edelsteen begint.
  • Gebruik op een Mac de toets Cmd, elke keer als deze gids Ctrl zegt.
Deze stap lukt mij niet

Controleer eerst deze drie dingen

  • De naam van elke part en elk script is precies zoals in de gids, met dezelfde hoofdletters.
  • Het script zit in het juiste object. Kijk naar het label boven het codevak.
  • Open het venster Output via het menu Window. Rode tekst laat het script en de regel met het probleem zien.

Nog steeds vast? Schrijf ons →

2
Stap 2 / 8

Bouw de bases

  1. Ga in Explorer met de muis over Workspace, klik op + en voeg een Folder toe. Noem hem Bases.
  2. Voeg een Part toe. Zet Size op 16, 1, 16, zet Anchored aan en maak hem grijs. Sleep hem in Bases en noem hem Base1.
  3. Dupliceer hem drie keer met Ctrl+D. Noem de kopieën Base2, Base3 en Base4 en zet er één aan elke kant van de map.

Meer uitleg

  • Om de part in de map te zetten sleep je de naam in Explorer naar de naam Bases.
  • Kopieën die je met Ctrl+D maakt, zitten al in de map Bases. Geef elke kopie met F2 een nieuwe naam.
  • De namen moeten precies Base1, Base2, Base3 en Base4 zijn, zonder spatie voor het cijfer.
  • Op een server met meer dan vier spelers zijn er meer spelers dan bases. Later kun je de servergrootte op 4 zetten in de game-instellingen op Creator Hub.
Tip. Zet alle vier de bases op dezelfde afstand van het midden. Dan is de game eerlijk voor iedereen.
Deze stap lukt mij niet

Controleer eerst deze drie dingen

  • De naam van elke part en elk script is precies zoals in de gids, met dezelfde hoofdletters.
  • Het script zit in het juiste object. Kijk naar het label boven het codevak.
  • Open het venster Output via het menu Window. Rode tekst laat het script en de regel met het probleem zien.

Nog steeds vast? Schrijf ons →

3
Stap 3 / 8

Maak de edelsteen

  1. Voeg een Part toe in het midden van de map, ongeveer 4 studs boven de vloer. Zet Size op 2, 2, 2, kies een felle kleur en zet Material op Neon. Noem hem Gem.
  2. Zet Anchored en Massless aan en zet CanCollide uit.
  3. Ga met de muis over Gem, klik op + en voeg een ProximityPrompt toe. Zet ActionText op Take en HoldDuration op 1.

Wat elk deel doet

  • Een ProximityPrompt toont een knop als een speler dichtbij staat. Als je hem 1 seconde ingedrukt houdt, gaat hij af.
  • Met Massless aan en CanCollide uit vertraagt de edelsteen de speler die hem draagt niet en duwt hem niet weg.

Meer uitleg

  • Anchored, Massless en CanCollide zijn vakjes in Properties.
  • Als je op + klikt, typ je ProximityPrompt om hem te vinden. Klik erop en verander dan ActionText en HoldDuration in Properties.
  • In de game verschijnt een kleine knop met de letter E en het woord Take als je bij de edelsteen staat.
  • Op een telefoon houden spelers hun vinger op die knop.
Deze stap lukt mij niet

Controleer eerst deze drie dingen

  • De naam van elke part en elk script is precies zoals in de gids, met dezelfde hoofdletters.
  • Het script zit in het juiste object. Kijk naar het label boven het codevak.
  • Open het venster Output via het menu Window. Rode tekst laat het script en de regel met het probleem zien.

Nog steeds vast? Schrijf ons →

4
Stap 4 / 8

Geef elke speler een basis en een score

  1. Ga met de muis over ServerScriptService, klik op + en voeg een Script toe. Noem het Game.
  2. Verwijder de regel die er al staat en plak deze code. Het is het eerste van drie delen.
  3. Druk op Play. Eén basis wordt groen. Die is van jou.
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)

Wat elk deel doet

  • De eerste regels zoeken de bases en de edelsteen en onthouden waar de edelsteen begon.
  • SetAttribute schrijft de UserId van de eigenaar op de eerste vrije basis.
  • PlayerRemoving maakt de basis weer vrij als de eigenaar weggaat.

Meer uitleg

  • Het script opent in een nieuw tabblad. Klik in de code, druk op Ctrl+A en dan op Ctrl+V om alles te vervangen.
  • Welke basis groen wordt, hangt af van de volgorde van de bases in de map. Loop rond om de jouwe te vinden.
  • De spelerslijst rechtsboven toont Score 0.
  • Er gebeurt nog niets als je naar de edelsteen loopt en E ingedrukt houdt. Dat komt in de volgende stap.
Deze stap lukt mij niet

Controleer eerst deze drie dingen

  • De naam van elke part en elk script is precies zoals in de gids, met dezelfde hoofdletters.
  • Het script zit in het juiste object. Kijk naar het label boven het codevak.
  • Open het venster Output via het menu Window. Rode tekst laat het script en de regel met het probleem zien.

Nog steeds vast? Schrijf ons →

5
Stap 5 / 8

Laat spelers de edelsteen pakken

  1. Open het script Game opnieuw.
  2. Plak deze code onder de code van de vorige stap.
  3. Druk op Play, loop naar de edelsteen en houd E ingedrukt. De edelsteen springt boven je hoofd en volgt je.
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)

Wat elk deel doet

  • carrier onthoudt wie de edelsteen vasthoudt. Niemand anders kan hem pakken zolang hij gedragen wordt.
  • Een WeldConstraint plakt de edelsteen aan de speler vast, zodat hij met hem meebeweegt.
  • resetGem haalt de lijm weg en zet de edelsteen terug in het midden.

Meer uitleg

  • Om het script weer te openen dubbelklik je in Explorer op Game.
  • Klik achter het allerlaatste teken van de code en druk twee keer op Enter. Druk dan op Ctrl+V. Druk dit keer niet op Ctrl+A, anders vervang je het eerste deel.
  • De edelsteen zweeft 4 studs boven je hoofd zolang je hem draagt.
  • Testen: pak de edelsteen en controleer dat de knop Take weg is zolang je hem draagt.
Deze stap lukt mij niet

Controleer eerst deze drie dingen

  • De naam van elke part en elk script is precies zoals in de gids, met dezelfde hoofdletters.
  • Het script zit in het juiste object. Kijk naar het label boven het codevak.
  • Open het venster Output via het menu Window. Rode tekst laat het script en de regel met het probleem zien.

Nog steeds vast? Schrijf ons →

6
Stap 6 / 8

Voeg scoren en aantikken toe

  1. Plak dit laatste deel helemaal aan het eind van het script Game.
  2. Druk op Play, pak de edelsteen en ren naar je groene basis. Score gaat met 1 omhoog en de edelsteen gaat terug naar het midden.
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

Wat elk deel doet

  • Elke basis controleert drie dingen: een speler raakte hem aan, die speler draagt de edelsteen en de basis is van hem.
  • De lus onderaan draait 5 keer per seconde. Komt een andere speler dichter dan 5 studs bij de drager, dan gaat de edelsteen terug.
  • De lus zet de edelsteen ook terug als de drager de game verlaat of van de map valt.

Meer uitleg

  • Klik weer achter het allerlaatste teken van het script, druk twee keer op Enter en plak.
  • Het klare script heeft drie delen in deze volgorde: bases en score, de edelsteen pakken, scoren en taggen.
  • Een grijze basis die van niemand is, geeft geen punten. Alleen je eigen groene basis telt.
  • Alleen kun je het taggen niet testen. Dat doe je met twee spelers in de volgende stap.
Veelgemaakte fout. Dit deel midden in het script plakken. De lus while loopt nooit af, dus code die eronder staat, draait nooit.
Deze stap lukt mij niet

Controleer eerst deze drie dingen

  • De naam van elke part en elk script is precies zoals in de gids, met dezelfde hoofdletters.
  • Het script zit in het juiste object. Kijk naar het label boven het codevak.
  • Open het venster Output via het menu Window. Rode tekst laat het script en de regel met het probleem zien.

Nog steeds vast? Schrijf ons →

7
Stap 7 / 8

Test met twee spelers

  1. Open naast de knop Play het kleine menu en kies Server & Clients. Zet het aantal spelers op 2 en druk op Play.
  2. Studio opent twee gamevensters. Elk is een andere speler met een andere basis.
  3. Pak in het ene venster de edelsteen. Ren in het andere venster tegen die speler aan. De edelsteen gaat terug naar het midden.
  4. Stop de test met de rode knop Stop in het hoofdvenster van Studio en zet het menu daarna terug op Test.

Meer uitleg

  • Het kleine menu is de pijl vlak naast de knop Play bovenaan Studio.
  • De twee gamevensters openen bovenop elkaar. Sleep er één opzij, zodat je ze allebei ziet.
  • Klik in een venster voordat je het toetsenbord gebruikt. De toetsen gaan naar het venster waarop je het laatst hebt geklikt.
  • Testen met twee vensters vraagt een computer met genoeg geheugen. Is het erg traag, sluit dan eerst andere programma's.
Deze stap lukt mij niet

Controleer eerst deze drie dingen

  • De naam van elke part en elk script is precies zoals in de gids, met dezelfde hoofdletters.
  • Het script zit in het juiste object. Kijk naar het label boven het codevak.
  • Open het venster Output via het menu Window. Rode tekst laat het script en de regel met het probleem zien.

Nog steeds vast? Schrijf ons →

8
Stap 8 / 8

Publiceer je game

  1. Kies File → Publish to Roblox. Geef de game een naam en een korte beschrijving.
  2. Open je game op de website Creator Hub en vul de vragenlijst Maturity in.
  3. Zet de game op Public en stuur de link naar een vriend of vriendin.

Meer uitleg

  • De eerste keer dat je publiceert, vraagt Studio om een naam en een beschrijving. Klik op Create.
  • Creator Hub is de website create.roblox.com. Log in met hetzelfde account en klik in de lijst op je game.
  • Roblox vraagt misschien om meer voordat een game openbaar mag zijn, bijvoorbeeld een leeftijdscontrole van het account. De pagina vertelt wat er ontbreekt.
  • Ben je jonger dan 18? Doe deze stap dan samen met een ouder.
Tip. Deze game is alleen leuk met andere spelers. Nodig twee of drie vrienden uit op dezelfde server voor de eerste ronde.
Deze stap lukt mij niet

Controleer eerst deze drie dingen

  • De naam van elke part en elk script is precies zoals in de gids, met dezelfde hoofdletters.
  • Het script zit in het juiste object. Kijk naar het label boven het codevak.
  • Open het venster Output via het menu Window. Rode tekst laat het script en de regel met het probleem zien.

Nog steeds vast? Schrijf ons →

Pas het nu zelf aan

  • Beëindig de ronde als een speler 5 punten haalt en zet alle scores terug op 0.
  • Voeg een tweede edelsteen toe met een andere kleur.
  • Maak de drager langzamer. Hint: zet Humanoid.WalkSpeed op 12 als de edelsteen wordt gepakt en terug op 16 in resetGem.