← Todos os guias
Guia 1

Crie o seu primeiro obby

Um percurso de obstáculos com lava, checkpoints, uma plataforma que some e uma linha de chegada.

Grátis45 minutos · Iniciante · Roblox Studio
1
Passo 1 / 10

Crie um novo lugar

  1. Abra o Roblox Studio e entre na sua conta.
  2. Clique em New Experience e escolha o modelo Baseplate.
  3. Agora você tem um chão cinza e plano. O seu percurso vai ficar em cima dele.

Mais detalhes

  • O Roblox Studio é um programa gratuito para Windows e Mac. Se ele ainda não estiver instalado, baixe em create.roblox.com e entre com a sua conta do Roblox.
  • O modelo Baseplate está na lista de modelos da tela inicial. É o que mostra um chão cinza vazio.
  • O lugar abre em uma aba. O nome da aba é o nome do seu lugar.
  • No Mac, use a tecla Cmd toda vez que este guia disser Ctrl.
Dica. Salve sempre com File → Save to Roblox. O Studio guarda as versões antigas, então você sempre pode voltar.
Este passo não funciona para mim

Confira primeiro estas três coisas

  • O nome de cada Part e de cada Script está exatamente como no guia, com as mesmas letras maiúsculas.
  • O Script está dentro do objeto certo. Olhe o rótulo que fica acima da caixa de código.
  • Abra a janela Output pelo menu Window. O texto em vermelho mostra qual script e qual linha têm o problema.

Ainda está travado? Escreva para nós →

2
Passo 2 / 10

Conheça os três painéis

  1. A grande vista 3D no meio é o Viewport. É o mundo do seu jogo.
  2. O Explorer lista todos os objetos do jogo. O Properties mostra as configurações do objeto que você selecionou.
  3. Para mover a câmera: segure o botão direito do mouse para olhar em volta, voe com W A S D e desça e suba com Q e E.
  4. Se perdeu? Selecione qualquer Part e aperte F. A câmera pula até ela.

Mais detalhes

  • O Explorer e o Properties ficam no lado direito da janela. O Explorer fica em cima e o Properties embaixo.
  • Clique em um objeto no Viewport e ele também fica destacado no Explorer. Clique no nome dele no Explorer e ele é selecionado no Viewport.
  • A plataforma plana com um símbolo redondo é a SpawnLocation. É onde os jogadores aparecem quando o jogo começa. Deixe ela onde está.
  • Errou? Aperte Ctrl+Z para desfazer a última coisa que você fez. Aperte de novo para voltar mais um passo.
Dica. Se um painel sumiu, abra ele pelo menu Window. Nas versões mais antigas, ele fica na aba View.
Este passo não funciona para mim

Confira primeiro estas três coisas

  • O nome de cada Part e de cada Script está exatamente como no guia, com as mesmas letras maiúsculas.
  • O Script está dentro do objeto certo. Olhe o rótulo que fica acima da caixa de código.
  • Abra a janela Output pelo menu Window. O texto em vermelho mostra qual script e qual linha têm o problema.

Ainda está travado? Escreva para nós →

3
Passo 3 / 10

Construa a plataforma inicial

  1. Na aba Home, clique em Part. Um bloco cinza aparece.
  2. Em Properties, coloque Size em 12, 1, 12 e mude o nome da Part para Start.
  3. Ligue Anchored. Uma Part ancorada nunca cai e nunca se mexe.
  4. Escolha uma cor de que você goste com o botão Color.

Mais detalhes

  • A nova peça aparece na frente da câmera e o nome dela no Explorer é Part.
  • Para mudar o nome, clique nela uma vez no Explorer e aperte F2, digite Start e aperte Enter.
  • No Properties, clique no campo Size, digite 12, 1, 12 e aperte Enter. Os três números são a largura, a altura e a profundidade.
  • Anchored é uma caixa de seleção no Properties. Uma marca quer dizer que está ligada.
  • Use a ferramenta Move (Ctrl+2) para colocar a plataforma ao lado da SpawnLocation, para os jogadores poderem andar até ela.
Erro comum. Esquecer o Anchored. A Part parece normal enquanto você edita e depois cai no vazio quando o jogo começa.
Este passo não funciona para mim

Confira primeiro estas três coisas

  • O nome de cada Part e de cada Script está exatamente como no guia, com as mesmas letras maiúsculas.
  • O Script está dentro do objeto certo. Olhe o rótulo que fica acima da caixa de código.
  • Abra a janela Output pelo menu Window. O texto em vermelho mostra qual script e qual linha têm o problema.

Ainda está travado? Escreva para nós →

4
Passo 4 / 10

Adicione os pulos

  1. Selecione Start e aperte Ctrl+D para duplicar. Puxe a cópia para a frente com a ferramenta Move (Ctrl+2).
  2. Deixe ela menor com a ferramenta Scale (Ctrl+3). Um Size de 6, 1, 6 funciona bem.
  3. Deixe um espaço de 5 a 7 studs entre as plataformas. Repita até ter de 6 a 8 plataformas.
  4. Levante algumas plataformas um pouco, para o percurso subir.

Mais detalhes

  • A cópia aparece exatamente em cima da original, então parece que nada aconteceu. Arraste a seta azul ou vermelha da ferramenta Move e a cópia desliza para fora.
  • Com a ferramenta Scale, arraste uma das bolinhas da peça para mudar o tamanho dela. Você também pode digitar o tamanho no Properties.
  • O campo Position no Properties mostra onde a peça está. Compare os números de duas plataformas para medir o espaço entre elas.
  • Toda plataforma precisa estar com Anchored ligado. As cópias de uma peça ancorada também ficam ancoradas, então confira isso só nas peças que você criou do zero.
  • Aperte F5 para testar os pulos você mesmo e Shift+F5 para parar. Faça isso a cada duas ou três plataformas.
Dica. Um personagem normal pula 7.2 studs de altura e alcança uns 8 studs para a frente. Espaços maiores que 8 studs são quase impossíveis.
Este passo não funciona para mim

Confira primeiro estas três coisas

  • O nome de cada Part e de cada Script está exatamente como no guia, com as mesmas letras maiúsculas.
  • O Script está dentro do objeto certo. Olhe o rótulo que fica acima da caixa de código.
  • Abra a janela Output pelo menu Window. O texto em vermelho mostra qual script e qual linha têm o problema.

Ainda está travado? Escreva para nós →

5
Passo 5 / 10

Adicione lava que reinicia o jogador

  1. Adicione uma nova Part entre duas plataformas. Deixe ela vermelha, coloque Material em Neon, ligue Anchored e dê o nome Lava.
  2. No Explorer, passe o mouse sobre Lava, clique no botão + e escolha Script.
  3. Apague a linha que já está lá e cole este código.
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)

O que cada parte faz

  • script.Parent é a Part em que o script está. Aqui, é a lava.
  • Touched roda toda vez que alguma coisa encosta na Part. hit é a coisa que encostou, por exemplo um pé.
  • hit.Parent é o personagem inteiro. Se ele tem um Humanoid, é um jogador, então o script coloca Health em 0.

Mais detalhes

  • Material é uma lista no Properties. Clique nela e escolha Neon. O Neon faz a peça brilhar.
  • Quando você adicionar o Script, ele abre em uma nova aba com uma linha de código. Clique dentro do código, aperte Ctrl+A para selecionar tudo e Ctrl+V para colar por cima.
  • Volte para o seu mundo clicando na aba com o nome do seu lugar.
  • Para testar: aperte F5 e ande até a lava. O seu personagem se desmonta e volta no início.
  • Deixe a lava larga e achatada, por exemplo com Size 12, 1, 6, e ponha ela um pouco mais baixa que as plataformas, para um pulo errado cair nela.
Este passo não funciona para mim

Confira primeiro estas três coisas

  • O nome de cada Part e de cada Script está exatamente como no guia, com as mesmas letras maiúsculas.
  • O Script está dentro do objeto certo. Olhe o rótulo que fica acima da caixa de código.
  • Abra a janela Output pelo menu Window. O texto em vermelho mostra qual script e qual linha têm o problema.

Ainda está travado? Escreva para nós →

6
Passo 6 / 10

Adicione os checkpoints

  1. No Explorer, passe o mouse sobre Workspace, clique em + e adicione uma Folder. Dê o nome Checkpoints.
  2. Coloque três Parts ancoradas ao longo do percurso e arraste elas para dentro da pasta. Dê a elas os nomes 1, 2 e 3. A Part 1 fica na plataforma inicial.
  3. Passe o mouse sobre ServerScriptService, clique em + e adicione um Script. Cole este código.
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

O que cada parte faz

  • leaderstats é um nome de pasta especial. Os valores dentro dela aparecem na lista de jogadores, então todo mundo vê o Stage de cada um.
  • Quando um personagem nasce, o script leva ele até o checkpoint cujo nome é igual ao Stage do jogador.
  • Tocar em um checkpoint aumenta o Stage só se for o próximo. Isso impede os jogadores de pular etapas.

Mais detalhes

  • Uma Folder guarda outros objetos, como uma pasta no computador. Sozinha ela não faz nada no jogo.
  • Para arrastar uma peça para a pasta, arraste o nome dela no Explorer até o nome Checkpoints e solte. A peça fica então um passo à direita, embaixo da pasta.
  • Faça as peças dos checkpoints finas e largas, por exemplo com Size 6, 0.4, 6, e deite elas em cima das plataformas. Uma cor diferente ajuda os jogadores a notar.
  • Para testar: aperte F5 e olhe a lista de jogadores no canto superior direito. Ela mostra Stage 1. Encoste no checkpoint 2 e ela muda para 2.
  • Os checkpoints precisam ser tocados em ordem. Encostar no 3 antes do 2 não faz nada.
Erro comum. Dar às Parts os nomes Checkpoint1 ou Um. O script procura exatamente os nomes 1, 2 e 3.
Este passo não funciona para mim

Confira primeiro estas três coisas

  • O nome de cada Part e de cada Script está exatamente como no guia, com as mesmas letras maiúsculas.
  • O Script está dentro do objeto certo. Olhe o rótulo que fica acima da caixa de código.
  • Abra a janela Output pelo menu Window. O texto em vermelho mostra qual script e qual linha têm o problema.

Ainda está travado? Escreva para nós →

7
Passo 7 / 10

Faça uma plataforma que desaparece

  1. Escolha uma plataforma no meio do percurso e adicione um Script nela.
  2. Cole este código e aperte Play para ver ela piscar.
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

O que cada parte faz

  • while true do repete para sempre.
  • task.wait(2) faz uma pausa de 2 segundos.
  • Transparency 1 deixa a Part invisível. CanCollide false deixa os jogadores caírem através dela.

Mais detalhes

  • Para adicionar o Script, passe o mouse sobre o nome da plataforma no Explorer, clique em + e escolha Script, igualzinho ao que você fez com a lava.
  • A plataforma fica visível por 2 segundos e some por 2 segundos. Os jogadores precisam acertar a hora do pulo.
  • O primeiro número é quanto tempo a plataforma fica visível. O segundo número é quanto tempo ela fica sumida.
  • Não ponha este script na plataforma inicial nem em um checkpoint, ou os jogadores vão cair assim que chegarem.
Dica. Mude os dois números para deixar a plataforma mais rápida ou mais lenta.
Este passo não funciona para mim

Confira primeiro estas três coisas

  • O nome de cada Part e de cada Script está exatamente como no guia, com as mesmas letras maiúsculas.
  • O Script está dentro do objeto certo. Olhe o rótulo que fica acima da caixa de código.
  • Abra a janela Output pelo menu Window. O texto em vermelho mostra qual script e qual linha têm o problema.

Ainda está travado? Escreva para nós →

8
Passo 8 / 10

Construa a linha de chegada

  1. Coloque uma Part grande e ancorada no final e dê o nome Finish. Deixe ela dourada para os jogadores verem a meta.
  2. Adicione um Script em Finish e cole este código.
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)

O que cada parte faz

  • GetPlayerFromCharacter descobre qual jogador tocou na chegada.
  • A tabela cooldown impede que o código rode muitas vezes no mesmo segundo.
  • Stage volta para 1 e LoadCharacter manda o jogador para o início para mais uma volta.

Mais detalhes

  • Para deixar dourada, clique no campo Color no Properties e escolha um amarelo. O Material Neon faz ela brilhar.
  • Size 12, 1, 12 é um bom tamanho para a chegada. Coloque depois do último pulo, um pouco mais alta que o resto.
  • Para testar: aperte F5, termine o percurso e pise na peça dourada. Você volta para o início e o Stage mostra 1 de novo.
  • A pausa de 2 segundos existe porque um único passo encosta na peça muitas vezes.
Este passo não funciona para mim

Confira primeiro estas três coisas

  • O nome de cada Part e de cada Script está exatamente como no guia, com as mesmas letras maiúsculas.
  • O Script está dentro do objeto certo. Olhe o rótulo que fica acima da caixa de código.
  • Abra a janela Output pelo menu Window. O texto em vermelho mostra qual script e qual linha têm o problema.

Ainda está travado? Escreva para nós →

9
Passo 9 / 10

Teste o seu jogo

  1. Aperte F5 para jogar. Corra o percurso inteiro, do começo ao fim.
  2. Caia na lava de propósito. Você deve voltar no seu último checkpoint.
  3. Aperte Shift+F5 para parar.
  4. Abra a janela Output pelo menu Window. Texto vermelho quer dizer que um script tem um erro, e ele mostra o número da linha.

Mais detalhes

  • O F5 começa o jogo com o seu personagem dentro. A barra de ferramentas muda enquanto o jogo roda.
  • As mudanças que você faz enquanto o jogo roda se perdem quando você para. Aperte sempre Shift+F5 primeiro e só depois edite.
  • Na janela Output, clique em uma linha vermelha e o Studio abre o script na linha que tem o erro.
  • Confira três coisas quando algo não funcionar: o nome da peça, onde o script está e se o Anchored está ligado.
Erro comum. Uma plataforma cai quando o jogo começa: o Anchored está desligado. Nada acontece quando você encosta numa Part: o script está no objeto errado ou um nome tem erro de digitação.
Este passo não funciona para mim

Confira primeiro estas três coisas

  • O nome de cada Part e de cada Script está exatamente como no guia, com as mesmas letras maiúsculas.
  • O Script está dentro do objeto certo. Olhe o rótulo que fica acima da caixa de código.
  • Abra a janela Output pelo menu Window. O texto em vermelho mostra qual script e qual linha têm o problema.

Ainda está travado? Escreva para nós →

10
Passo 10 / 10

Publique

  1. Escolha File → Publish to Roblox. Dê um nome ao jogo e uma descrição curta.
  2. No site Creator Hub, abra o seu jogo e responda o questionário de Maturity. A Roblox exige isso para outras pessoas poderem jogar.
  3. Coloque o jogo como Public e mande o link para um amigo.

Mais detalhes

  • Na primeira vez que você publica, o Studio pede um nome e uma descrição. Clique em Create. Depois disso, File → Publish to Roblox envia as suas mudanças mais recentes.
  • O Creator Hub é o site create.roblox.com. Entre com a mesma conta e clique no seu jogo na lista.
  • O questionário Maturity pergunta o que tem no seu jogo. Responda com sinceridade. Um obby como este não tem violência nem nada assustador.
  • O Roblox pode pedir mais coisas antes de um jogo ficar público, por exemplo uma verificação de idade na conta. A página diz o que está faltando.
  • Se você tem menos de 18 anos, faça este passo junto com um responsável.
Dica. Peça para um amigo jogar enquanto você observa. Os lugares onde ele trava são as primeiras coisas para consertar.
Este passo não funciona para mim

Confira primeiro estas três coisas

  • O nome de cada Part e de cada Script está exatamente como no guia, com as mesmas letras maiúsculas.
  • O Script está dentro do objeto certo. Olhe o rótulo que fica acima da caixa de código.
  • Abra a janela Output pelo menu Window. O texto em vermelho mostra qual script e qual linha têm o problema.

Ainda está travado? Escreva para nós →

Agora mude você mesmo

  • Adicione um quarto checkpoint. Que nome você precisa dar a ele?
  • Faça três plataformas que desaparecem e piscam em velocidades diferentes.
  • Mude a lava para tirar só metade da vida. Dica: humanoid.Health = humanoid.Health - 50