← Alla guider
Guide 1

Bygg din första obby

En hinderbana med lava, kontrollpunkter, en plattform som försvinner och en mållinje.

Gratis45 minuter · Nybörjare · Roblox Studio
1
Steg 1 / 10

Skapa en ny plats

  1. Öppna Roblox Studio och logga in.
  2. Klicka på New Experience och välj mallen Baseplate.
  3. Nu har du ett platt grått golv. Din bana ska stå på det.

Mer detaljer

  • Roblox Studio är ett gratisprogram för Windows och Mac. Om det inte är installerat än laddar du ner det från create.roblox.com och loggar in med ditt Roblox-konto.
  • Mallen Baseplate finns i listan med mallar på startsidan. Det är den som visar ett tomt grått golv.
  • Platsen öppnas i en flik. Namnet på fliken är namnet på din plats.
  • På en Mac använder du tangenten Cmd varje gång den här guiden säger Ctrl.
Tips. Spara ofta med File → Save to Roblox. Studio sparar äldre versioner, så du kan alltid gå tillbaka.
Det här steget fungerar inte för mig

Kontrollera de här tre sakerna först

  • Namnet på varje del och varje skript är exakt som i guiden, med samma stora bokstäver.
  • Skriptet ligger i rätt objekt. Titta på etiketten ovanför kodrutan.
  • Öppna fönstret Output från menyn Window. Röd text visar skriptet och raden med felet.

Sitter du fortfarande fast? Skriv till oss →

2
Steg 2 / 10

Lär dig de tre panelerna

  1. Den stora 3D-vyn i mitten är Viewport. Det är din spelvärld.
  2. Explorer visar alla objekt i spelet. Properties visar inställningarna för objektet du har markerat.
  3. Flytta kameran: håll in höger musknapp för att se dig omkring, flyg med W A S D, åk ner och upp med Q och E.
  4. Vilse? Markera en valfri Part och tryck på F. Kameran hoppar dit.

Mer detaljer

  • Explorer och Properties finns på högra sidan av fönstret. Explorer ligger överst och Properties under den.
  • Klicka på ett objekt i Viewport så markeras det också i Explorer. Klicka på dess namn i Explorer så markeras det i Viewport.
  • Den platta plattformen med en rund symbol på är SpawnLocation. Spelarna dyker upp på den när spelet startar. Låt den ligga kvar där den är.
  • Gjorde du ett misstag? Tryck på Ctrl+Z för att ångra det sista du gjorde. Tryck igen för att gå tillbaka ett steg till.
Tips. Om en panel saknas kan du öppna den från menyn Window. I äldre versioner finns den i fliken View.
Det här steget fungerar inte för mig

Kontrollera de här tre sakerna först

  • Namnet på varje del och varje skript är exakt som i guiden, med samma stora bokstäver.
  • Skriptet ligger i rätt objekt. Titta på etiketten ovanför kodrutan.
  • Öppna fönstret Output från menyn Window. Röd text visar skriptet och raden med felet.

Sitter du fortfarande fast? Skriv till oss →

3
Steg 3 / 10

Bygg startplattformen

  1. Klicka på Part i fliken Home. Ett grått block dyker upp.
  2. Ställ in Size på 12, 1, 12 i Properties och byt namn på delen till Start.
  3. Slå på Anchored. En förankrad del faller aldrig och rör sig aldrig.
  4. Välj en färg du gillar med knappen Color.

Mer detaljer

  • Den nya delen dyker upp framför kameran, och dess namn i Explorer är Part.
  • För att byta namn klickar du på den en gång i Explorer och trycker på F2. Skriv Start och tryck på Enter.
  • Klicka på fältet Size i Properties, skriv 12, 1, 12 och tryck på Enter. De tre talen är bredd, höjd och djup.
  • Anchored är en kryssruta i Properties. En bock betyder att den är på.
  • Använd verktyget Move (Ctrl+2) för att lägga plattformen bredvid SpawnLocation, så att spelarna kan gå upp på den.
Vanligt misstag. Du glömmer Anchored. Delen ser bra ut medan du bygger, men faller ner i tomheten när spelet startar.
Det här steget fungerar inte för mig

Kontrollera de här tre sakerna först

  • Namnet på varje del och varje skript är exakt som i guiden, med samma stora bokstäver.
  • Skriptet ligger i rätt objekt. Titta på etiketten ovanför kodrutan.
  • Öppna fönstret Output från menyn Window. Röd text visar skriptet och raden med felet.

Sitter du fortfarande fast? Skriv till oss →

4
Steg 4 / 10

Lägg till hoppen

  1. Markera Start och tryck på Ctrl+D för att kopiera den. Dra kopian framåt med verktyget Move (Ctrl+2).
  2. Gör den mindre med verktyget Scale (Ctrl+3). Storleken 6, 1, 6 fungerar bra.
  3. Lämna ett gap på 5 till 7 studs mellan plattformarna. Upprepa tills du har 6 till 8 plattformar.
  4. Höj några plattformar lite så att banan stiger uppåt.

Mer detaljer

  • Kopian hamnar precis ovanpå originalet, så det ser ut som om ingenting hände. Dra i den blå eller röda pilen på verktyget Move så glider kopian ut.
  • Med verktyget Scale drar du i en av de små kulorna på delen för att ändra storleken. Du kan också skriva in storleken i Properties.
  • Fältet Position i Properties visar var en del finns. Jämför talen för två plattformar för att mäta gapet mellan dem.
  • Varje plattform måste ha Anchored på. Kopior av en förankrad del är också förankrade, så kontrollera det bara för delar som du har skapat nya.
  • Tryck på F5 för att prova hoppen själv och på Shift+F5 för att stoppa. Gör det efter varannan eller var tredje plattform.
Tips. En vanlig karaktär hoppar 7.2 studs högt och kommer ungefär 8 studs framåt. Gap som är större än 8 studs är nästan omöjliga.
Det här steget fungerar inte för mig

Kontrollera de här tre sakerna först

  • Namnet på varje del och varje skript är exakt som i guiden, med samma stora bokstäver.
  • Skriptet ligger i rätt objekt. Titta på etiketten ovanför kodrutan.
  • Öppna fönstret Output från menyn Window. Röd text visar skriptet och raden med felet.

Sitter du fortfarande fast? Skriv till oss →

5
Steg 5 / 10

Lägg till lava som återställer spelaren

  1. Lägg till en ny Part mellan två plattformar. Gör den röd, ställ in Material på Neon, slå på Anchored och döp den till Lava.
  2. Håll musen över Lava i Explorer, klicka på knappen + och välj Script.
  3. Ta bort raden som redan finns där och klistra in den här koden.
Lava > Script
local lava = script.Parent

lava.Touched:Connect(function(hit)
	local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
	if humanoid then
		humanoid.Health = 0
	end
end)

Vad varje del gör

  • script.Parent är delen som skriptet ligger i. Här är det lavan.
  • Touched körs varje gång något rör vid delen. hit är det som rörde vid den, till exempel en fot.
  • hit.Parent är hela karaktären. Om den har en Humanoid är det en spelare, och då sätter skriptet Health till 0.

Mer detaljer

  • Material är en lista i Properties. Klicka på den och välj Neon. Neon får delen att lysa.
  • När du lägger till Script öppnas det i en ny flik med en rad kod i. Klicka inne i koden, tryck på Ctrl+A för att markera allt och på Ctrl+V för att klistra in över det.
  • Gå tillbaka till din värld genom att klicka på fliken med namnet på din plats.
  • För att testa: tryck på F5 och gå in i lavan. Din karaktär faller isär och kommer tillbaka vid starten.
  • Gör lavan bred och platt, till exempel Size 12, 1, 6, och lägg den lite lägre än plattformarna, så att ett missat hopp landar i den.
Det här steget fungerar inte för mig

Kontrollera de här tre sakerna först

  • Namnet på varje del och varje skript är exakt som i guiden, med samma stora bokstäver.
  • Skriptet ligger i rätt objekt. Titta på etiketten ovanför kodrutan.
  • Öppna fönstret Output från menyn Window. Röd text visar skriptet och raden med felet.

Sitter du fortfarande fast? Skriv till oss →

6
Steg 6 / 10

Lägg till kontrollpunkter

  1. Håll musen över Workspace i Explorer, klicka på + och lägg till en Folder. Döp den till Checkpoints.
  2. Placera tre förankrade delar längs banan och dra dem in i mappen. Döp dem till 1, 2 och 3. Del 1 ska ligga på startplattformen.
  3. Håll musen över ServerScriptService, klicka på + och lägg till ett Script. Klistra in den här koden.
ServerScriptService > Script
local Players = game:GetService("Players")
local checkpoints = workspace:WaitForChild("Checkpoints")

Players.PlayerAdded:Connect(function(player)
	local stats = Instance.new("Folder")
	stats.Name = "leaderstats"
	stats.Parent = player

	local stage = Instance.new("IntValue")
	stage.Name = "Stage"
	stage.Value = 1
	stage.Parent = stats

	player.CharacterAdded:Connect(function(character)
		local root = character:WaitForChild("HumanoidRootPart")
		local point = checkpoints:FindFirstChild(tostring(stage.Value))
		if point then
			task.wait(0.1)
			root.CFrame = point.CFrame + Vector3.new(0, 4, 0)
		end
	end)
end)

for _, point in ipairs(checkpoints:GetChildren()) do
	point.Touched:Connect(function(hit)
		local player = Players:GetPlayerFromCharacter(hit.Parent)
		local stats = player and player:FindFirstChild("leaderstats")
		if not stats then return end

		local number = tonumber(point.Name)
		if number == stats.Stage.Value + 1 then
			stats.Stage.Value = number
		end
	end)
end

Vad varje del gör

  • leaderstats är ett särskilt mappnamn. Värdena i den syns i spelarlistan, så alla ser sin Stage.
  • När en karaktär dyker upp flyttar skriptet den till kontrollpunkten vars namn är samma som spelarens Stage.
  • När du rör vid en kontrollpunkt ökar Stage bara om det är nästa i ordningen. Då kan ingen hoppa över delar av banan.

Mer detaljer

  • En Folder innehåller andra objekt, precis som en mapp på en dator. Den gör ingenting i spelet av sig själv.
  • För att dra en del in i mappen drar du dess namn i Explorer till namnet Checkpoints och släpper. Delen ligger då ett steg åt höger, under mappen.
  • Gör kontrollpunkterna tunna och breda, till exempel Size 6, 0.4, 6, och lägg dem ovanpå plattformar. En annan färg hjälper spelarna att lägga märke till dem.
  • För att testa: tryck på F5 och titta på spelarlistan uppe i högra hörnet. Där står Stage 1. Rör vid kontrollpunkt 2 så ändras det till 2.
  • Kontrollpunkterna måste tas i ordning. Att röra vid 3 före 2 gör ingenting.
Vanligt misstag. Du döper delarna till Checkpoint1 eller Ett. Skriptet letar efter exakt namnen 1, 2 och 3.
Det här steget fungerar inte för mig

Kontrollera de här tre sakerna först

  • Namnet på varje del och varje skript är exakt som i guiden, med samma stora bokstäver.
  • Skriptet ligger i rätt objekt. Titta på etiketten ovanför kodrutan.
  • Öppna fönstret Output från menyn Window. Röd text visar skriptet och raden med felet.

Sitter du fortfarande fast? Skriv till oss →

7
Steg 7 / 10

Gör en plattform som försvinner

  1. Välj en plattform mitt på banan och lägg till ett Script i den.
  2. Klistra in den här koden och tryck på Play för att se den blinka.
Platform > Script
local platform = script.Parent

while true do
	task.wait(2)
	platform.Transparency = 1
	platform.CanCollide = false

	task.wait(2)
	platform.Transparency = 0
	platform.CanCollide = true
end

Vad varje del gör

  • while true do upprepas för alltid.
  • task.wait(2) pausar i 2 sekunder.
  • Med Transparency 1 blir delen osynlig. Med CanCollide false kan spelare falla rakt igenom den.

Mer detaljer

  • För att lägga till Script håller du musen över plattformens namn i Explorer, klickar på + och väljer Script, precis som du gjorde för lavan.
  • Plattformen syns i 2 sekunder och är borta i 2 sekunder. Spelarna måste tajma sitt hopp.
  • Det första talet är hur länge plattformen syns. Det andra talet är hur länge den är borta.
  • Lägg inte det här skriptet i startplattformen eller i en kontrollpunkt, annars faller spelarna så fort de kommer dit.
Tips. Ändra de två talen om du vill att plattformen ska gå snabbare eller långsammare.
Det här steget fungerar inte för mig

Kontrollera de här tre sakerna först

  • Namnet på varje del och varje skript är exakt som i guiden, med samma stora bokstäver.
  • Skriptet ligger i rätt objekt. Titta på etiketten ovanför kodrutan.
  • Öppna fönstret Output från menyn Window. Röd text visar skriptet och raden med felet.

Sitter du fortfarande fast? Skriv till oss →

8
Steg 8 / 10

Bygg mållinjen

  1. Sätt en stor förankrad del i slutet och döp den till Finish. Gör den guldfärgad så att spelarna ser målet.
  2. Lägg till ett Script i Finish och klistra in den här koden.
Finish > Script
local Players = game:GetService("Players")
local finish = script.Parent
local cooldown = {}

finish.Touched:Connect(function(hit)
	local player = Players:GetPlayerFromCharacter(hit.Parent)
	local stats = player and player:FindFirstChild("leaderstats")
	if not stats or cooldown[player] then return end

	cooldown[player] = true
	stats.Stage.Value = 1
	player:LoadCharacter()

	task.wait(2)
	cooldown[player] = nil
end)

Vad varje del gör

  • GetPlayerFromCharacter hittar vilken spelare som rörde vid målet.
  • Tabellen cooldown hindrar koden från att köras många gånger inom samma sekund.
  • Stage går tillbaka till 1 och LoadCharacter skickar spelaren till starten för en ny runda.

Mer detaljer

  • För att göra den guldfärgad klickar du på fältet Color i Properties och väljer en gul färg. Material Neon får den att lysa.
  • Size 12, 1, 12 passar bra som mållinje. Lägg den efter det sista hoppet, lite högre än resten.
  • För att testa: tryck på F5, ta dig igenom banan och kliv på den guldfärgade delen. Du kommer tillbaka till starten och Stage visar 1 igen.
  • Pausen på 2 sekunder finns där eftersom ett enda steg rör vid delen många gånger.
Det här steget fungerar inte för mig

Kontrollera de här tre sakerna först

  • Namnet på varje del och varje skript är exakt som i guiden, med samma stora bokstäver.
  • Skriptet ligger i rätt objekt. Titta på etiketten ovanför kodrutan.
  • Öppna fönstret Output från menyn Window. Röd text visar skriptet och raden med felet.

Sitter du fortfarande fast? Skriv till oss →

9
Steg 9 / 10

Testa ditt spel

  1. Tryck på F5 för att spela. Ta dig igenom hela banan från start till mål.
  2. Falla ner i lavan med flit. Du ska komma tillbaka vid din senaste kontrollpunkt.
  3. Tryck på Shift+F5 för att stoppa.
  4. Öppna fönstret Output från menyn Window. Röd text betyder att ett skript har ett fel, och den visar radnumret.

Mer detaljer

  • F5 startar spelet med din karaktär i det. Verktygsfältet ändras medan spelet körs.
  • Ändringar som du gör medan spelet körs försvinner när du stoppar. Tryck alltid på Shift+F5 först och redigera sedan.
  • I fönstret Output klickar du på en röd rad så öppnar Studio skriptet på raden med felet.
  • Kontrollera tre saker när något inte fungerar: delens namn, var skriptet ligger och om Anchored är på.
Vanligt misstag. En plattform faller när spelet startar: Anchored är avslagen. Ingenting händer när du rör vid en del: skriptet ligger i fel objekt, eller så finns det ett stavfel i ett namn.
Det här steget fungerar inte för mig

Kontrollera de här tre sakerna först

  • Namnet på varje del och varje skript är exakt som i guiden, med samma stora bokstäver.
  • Skriptet ligger i rätt objekt. Titta på etiketten ovanför kodrutan.
  • Öppna fönstret Output från menyn Window. Röd text visar skriptet och raden med felet.

Sitter du fortfarande fast? Skriv till oss →

10
Steg 10 / 10

Publicera det

  1. Välj File → Publish to Roblox. Ge spelet ett namn och en kort beskrivning.
  2. Öppna ditt spel på webbplatsen Creator Hub och fyll i frågeformuläret Maturity. Roblox kräver det innan andra kan spela.
  3. Sätt spelet till Public och skicka länken till en kompis.

Mer detaljer

  • Första gången du publicerar frågar Studio efter ett namn och en beskrivning. Klicka på Create. Därefter skickar File → Publish to Roblox dina senaste ändringar.
  • Creator Hub är webbplatsen create.roblox.com. Logga in med samma konto och klicka på ditt spel i listan.
  • Frågeformuläret Maturity frågar vad som finns i ditt spel. Svara ärligt. En obby som den här har inget våld och inget läskigt.
  • Roblox kan be om mer innan ett spel kan bli offentligt, till exempel en ålderskontroll av kontot. Sidan berättar vad som saknas.
  • Om du är under 18 år gör du det här steget tillsammans med en förälder.
Tips. Be en kompis spela medan du tittar på. Där de kör fast är det första du ska laga.
Det här steget fungerar inte för mig

Kontrollera de här tre sakerna först

  • Namnet på varje del och varje skript är exakt som i guiden, med samma stora bokstäver.
  • Skriptet ligger i rätt objekt. Titta på etiketten ovanför kodrutan.
  • Öppna fönstret Output från menyn Window. Röd text visar skriptet och raden med felet.

Sitter du fortfarande fast? Skriv till oss →

Nu ändrar du själv

  • Lägg till en fjärde kontrollpunkt. Vad måste du döpa den till?
  • Gör tre plattformar som försvinner och blinkar med olika hastighet.
  • Ändra lavan så att den bara tar bort hälften av Health. Ledtråd: humanoid.Health = humanoid.Health - 50