Robotomia · Roblox · Aula 5
0 de 20 passos prontos
Aula 5 · dois scripts

Moedas e placar

Um número na tela que sobe quando você encosta na moeda — e a moeda some. São 20 passos, 50 minutos. Faça um de cada vez e só passe adiante depois de conferir o quadro verde.

Antes de digitarO passo 2 desta aula prepara o editor: desligar o assistente de código e o fechamento automático. Não pule — sem isso o editor escreve linhas que você não pediu.
Projeto novoComeça do zero. Hoje são dois scripts, em lugares diferentes.
A palavra mais importanteleaderstats, tudo junto e tudo minúsculo. É esse nome exato que faz o placar aparecer. Com uma letra diferente, nada acontece.
AtalhosEste material usa Ctrl, do Windows. Num Mac, troque Ctrl por ⌘.
⤓ Baixar esta aula em PDF (para imprimir)
1

Abra o Studio e escolha BASEPLATE

Tela do Roblox Studio no passo 1

Foto da tela.

Projeto novo, como sempre. Role a página para baixo até Abrir um modelo e clique no Baseplate.

Está certo seAbriu o mundo cinza com a plataforma clara.
Não deu certo?
Abriu o projeto antigo
Feche a aba e volte para o Início.
Apareceu uma janelinha de Boas-vindas por cima
Clique em Voltar ao início, o botão da esquerda — ou no ✕ do canto. Não clique em Iniciar a introdução.
2

Prepare o editor (uma vez em cada computador)

Tela do Roblox Studio no passo 2

Foto da tela.

Hoje você vai digitar código. O Studio vem com duas ajudas que atrapalham quem está aprendendo: ele sugere linhas inteiras e fecha parênteses e aspas sozinho. Vamos desligar as duas.

No Windows: Arquivo → Configurações do Studio. No Mac: Roblox Studio → Configurações do Studio.

1. Na busca escreva assist e desmarque Ativar assistente de código.
2. Apague a busca, escreva fechamento e desmarque Colchetes de fechamento automáticos e Aspas de fechamento automáticas.

Feche a janela. Fica guardado no computador — se você já fez isto numa aula passada neste mesmo computador, é só conferir que as caixinhas continuam vazias.

Está certo seAs três caixinhas estão vazias: assistente de código, colchetes e aspas.
Não deu certo?
Não acho Configurações do Studio
No Windows é o menu Arquivo, bem no canto de cima à esquerda da janela.
A busca não acha nada
Escreva só assist, sem acento e sem mais nada.
Já está tudo desmarcado
Ótimo — este computador já foi preparado. Feche a janela e siga.
Por que desligar?
Ligado, o editor escreve linhas que você não pediu, e o Tab aceita a sugestão em vez de recuar. Desligado, o que está escrito na aula é exatamente o que você digita.
3

Vá para a aba MODELO

Animação do passo 3

O clipe repete sozinho. Repare onde o cursor vai antes de clicar.

Foto da tela.

Clique em Modelo.

Está certo seAparecem Parte, Cor e Âncora.
Não deu certo?
Não acho
Fica entre Script e Plugins.
4

Ache o ServerScriptService na lista

Tela do Roblox Studio no passo 4

Foto da tela.

Na lista da direita, procure ServerScriptService. Num projeto novo ele costuma já estar à vista, algumas linhas abaixo de Workspace — se não estiver, role a lista para baixo com a rodinha do mouse.

É uma caixa onde ficam scripts que valem para o jogo inteiro — não para uma peça só. O placar é assim: é do jogo, não de um bloco.

Está certo seVocê está vendo a linha ServerScriptService na lista.
Não deu certo?
Não consigo rolar a lista
Use a rodinha do mouse em cima da lista, ou escreva server na caixa Pesquisar no alto dela.
Tem vários nomes parecidos
Você quer o ServerScriptService, não o ServerStorage.
5

Coloque um Script nele

Animação do passo 5

O clipe repete sozinho. Repare onde o cursor vai antes de clicar.

Foto da tela.

Clique uma vez em ServerScriptService. Aparece um + depois do nome. Clique no + e escolha Script.

Está certo seAbriu o editor, e o Script aparece para dentro do ServerScriptService.
Não deu certo?
Não aparece o +
Clique uma vez na linha primeiro.
O Script foi para outro lugar
Apague com Delete e refaça com o ServerScriptService selecionado.
6

Apague a linha pronta

Tela do Roblox Studio no passo 6

Foto da tela.

Como sempre, o script nasce com print("Hello world!"). Apague a linha inteira: clique no fim dela e segure Backspace até a linha 1 ficar vazia.

Está certo seA linha 1 está vazia.
Não deu certo?
Sumiu a tela do script
Duplo clique no Script na lista.
7

Escreva o placar

Tela do Roblox Studio no passo 7

Foto da tela.

Este é o código que cria o placar. Nove linhas:

⌨ digite você mesmo — não copie
  1. game.Players.PlayerAdded:Connect(function(jogador)
  2. local pasta = Instance.new("Folder")
  3. pasta.Name = "leaderstats"
  4. pasta.Parent = jogador
  5. local moedas = Instance.new("IntValue")
  6. moedas.Name = "Moedas"
  7. moedas.Value = 0
  8. moedas.Parent = pasta
  9. end)
as linhas em cinza o editor escreve sozinho — não digite elas
teclado brasileiro: a aspa é tecla muda — ela não aparece na hora. Aperte a tecla da aspa e logo a barra de espaço: sai uma aspa sozinha, sem espaço nenhum. Faça isso com todas as aspas. Se você digitar a letra direto depois da aspa, ela vira trema ("I sai Ï).

Cuidado com três coisas: leaderstats é tudo minúsculo e entre aspas; IntValue tem I e V maiúsculos; e o Moedas entre aspas é o nome que vai aparecer na tela.

Não digite as linhas em cinza. O editor escreve os end sozinho quando você aperta Enter. E não aperte Tab — ele já empurra as linhas para dentro.

Está certo seNenhum risco vermelho.
Não deu certo?
A aspa saiu errada (Ï, ä, ou duas aspas juntas)
A aspa do teclado brasileiro é tecla muda. Antes de vogal ela vira trema; no fim da linha ela às vezes dobra. O conserto é sempre o mesmo: apague o que saiu errado e digite a aspa seguida da barra de espaço. Sai uma aspa limpa, sem espaço.
Sobraram end a mais
Você digitou os que o editor já tinha escrito. Apague os extras até o código ficar igual ao da aula.
Risco vermelho no fim
Falta o end) da última linha — com o parêntese.
Escrevi Leaderstats com L maiúsculo
Não funciona. Tem que ser leaderstats, tudo minúsculo. É a Roblox que exige esse nome exato.
O editor completa sozinho
Aperte Esc para dispensar a sugestão.
Apareceu uma caixinha cinza com sugestões
É o editor tentando adivinhar. Aperte Esc para fechá-la e continue digitando. Se você apertar Enter com ela aberta, ele escreve a sugestão no lugar do que você ia escrever.
8

Entenda o placar

Tela do Roblox Studio no passo 8

Foto da tela.

game.Players.PlayerAdded — “quando um jogador entrar no jogo”.

Instance.new("Folder") — cria uma pasta nova, do nada. Instance.new é como o código fabrica coisas.

pasta.Name = "leaderstats" — a pasta ganha esse nome. É esse nome que a Roblox procura para desenhar o placar na tela. Qualquer outro nome e não aparece nada.

Instance.new("IntValue") — cria um número. Int é número inteiro: 0, 1, 2. Sem vírgula.

moedas.Parent = pasta — põe o número dentro da pasta. É a pasta dentro do jogador, e o número dentro da pasta.

Está certo seVocê consegue explicar por que a pasta tem que se chamar leaderstats.
Não deu certo?
O que é Parent de novo?
É “quem está segurando”. Aqui você está dizendo onde cada coisa nova vai morar.
9

Volte para o mundo e jogue

Animação do passo 9

O clipe repete sozinho. Repare onde o cursor vai antes de clicar.

Foto da tela.

Clique na aba Place1 e depois no ▶.

Olhe o canto superior direito da tela do jogo.

Está certo seApareceu um quadro escrito Pessoas e Moedas, com o seu nome e um 0.
Não deu certo?
Não apareceu o placar
Quase sempre é o nome: confira se está leaderstats, tudo minúsculo, entre aspas.
Apareceu só o nome, sem coluna
Faltou a parte do IntValue. Confira as quatro últimas linhas.
O quadro some
Clique no x dele sem querer fecha. Saia e entre no jogo de novo.
10

Pare o jogo

Tela do Roblox Studio no passo 10

Foto da tela.

Quadrado vermelho. Agora vamos fazer a moeda.

Está certo seVoltou a tela de montar.
Não deu certo?
Continuo no jogo
Aperte o quadrado, não o ▶.
11

Crie a moeda

Animação do passo 11

O clipe repete sozinho. Repare onde o cursor vai antes de clicar.

Foto da tela.

Clique no desenho do botão Parte.

Está certo seNasceu um bloco e apareceu Part na lista.
Não deu certo?
Nada aconteceu
Você clicou na palavra, não no desenho.
12

Leve a câmera e ancore

Animação do passo 12

O clipe repete sozinho. Repare onde o cursor vai antes de clicar.

Foto da tela.

Clique em Part na lista, mouse no mundo 3D, tecla F, depois S algumas vezes.

Com a peça selecionada, clique em Âncora. Moeda que cai não serve.

Está certo seA peça está no meio da tela e o botão Âncora está aceso.
Não deu certo?
F não fez nada
O mouse tem que estar sobre o mundo 3D.
13

Pinte de amarelo

Animação do passo 13

O clipe repete sozinho. Repare onde o cursor vai antes de clicar.

Foto da tela.

Setinha do Cor → hexágono amarelo → clique no círculo do botão Cor.

Está certo seA peça ficou amarela.
Não deu certo?
Não pintou
Falta o clique no círculo do botão Cor.
14

Chame de MOEDA

Animação do passo 14

O clipe repete sozinho. Repare onde o cursor vai antes de clicar.

Foto da tela.

Botão direito na peça, na lista → Renomear → Moeda → Enter.

Está certo seNa lista está Moeda.
Não deu certo?
Voltou o nome antigo
Termine com Enter.
15

Ponha um Script dentro da Moeda

Animação do passo 15

O clipe repete sozinho. Repare onde o cursor vai antes de clicar.

Foto da tela.

Clique em Moeda na lista, clique no + e escolha Script.

Repare: este script é da peça. O outro era do jogo inteiro. São coisas diferentes.

Está certo seO Script aparece para dentro de Moeda, e o editor abriu.
Não deu certo?
Ficou fora da Moeda
Arraste-o por cima da palavra Moeda na lista.
Abriu o script errado
Feche as abas de script lá em cima e dê duplo clique no Script que está dentro da Moeda.
16

Escreva o código da moeda

Tela do Roblox Studio no passo 16

Foto da tela.

Apague a linha pronta (clique no fim dela e segure Backspace) e escreva:

⌨ digite você mesmo — não copie
  1. local moeda = script.Parent
  2. moeda.Touched:Connect(function(parte)
  3. local jogador = game.Players:GetPlayerFromCharacter(parte.Parent)
  4. if jogador then
  5. jogador.leaderstats.Moedas.Value = jogador.leaderstats.Moedas.Value + 1
  6. moeda:Destroy()
  7. end
  8. end)
as linhas em cinza o editor escreve sozinho — não digite elas

GetPlayerFromCharacter é uma palavra só, com quatro maiúsculas. Copie com calma.

Não digite as linhas em cinza. O editor escreve os end sozinho quando você aperta Enter. E não aperte Tab — ele já empurra as linhas para dentro.

Está certo seNenhum risco vermelho, e são dois end, o último com ).
Não deu certo?
Sobraram end a mais
Você digitou os que o editor já tinha escrito. Apague os extras até o código ficar igual ao da aula.
Risco vermelho em GetPlayerFromCharacter
Confira as maiúsculas: G, P, F, C.
Risco no fim
Falta um end ou o parêntese final.
Apareceu uma caixinha cinza com sugestões
É o editor tentando adivinhar. Aperte Esc para fechá-la e continue digitando. Se você apertar Enter com ela aberta, ele escreve a sugestão no lugar do que você ia escrever.
17

Entenda a moeda

Tela do Roblox Studio no passo 17

Foto da tela.

GetPlayerFromCharacter(parte.Parent) — “descubra qual jogador é esse boneco”. Na aula da lava a gente só perguntava se era um boneco; agora precisamos saber de quem é, para somar no placar certo.

jogador.leaderstats.Moedas.Value + 1 — pega o número que está lá e põe um a mais. Repare no caminho: jogador → pasta → número → valor.

moeda:Destroy() — a moeda se apaga. Por isso você não pega a mesma moeda duas vezes.

Está certo seVocê sabe dizer o que aconteceria sem a linha do Destroy.
Não deu certo?
O que aconteceria sem o Destroy?
A moeda ficaria lá e o número subiria sem parar enquanto você encostasse.
18

Jogue e pegue a moeda

Animação do passo 18

O clipe repete sozinho. Repare onde o cursor vai antes de clicar.

Foto da tela.

Volte para Place1 e aperte o ▶.

Ande até a moeda amarela e encoste nela.

Está certo seA moeda sumiu e o número do placar virou 1.
Não deu certo?
A moeda some mas o número não muda
O placar não existe. Volte ao passo 7 e confira o leaderstats.
O número muda mas a moeda fica
Faltou o moeda:Destroy().
Não acontece nada
Confira se o Script está dentro da Moeda, e se não sobrou risco vermelho.
19

Faça um monte de moedas

Tela do Roblox Studio no passo 19

Foto da tela.

Com o jogo parado: botão direito na Moeda → Duplicar. Depois use a ferramenta Mover (segundo botão da faixa, o das setas) e arraste a cópia pela seta.

Faça cinco ou seis, espalhadas. Cada cópia já vem com o script dentro e vale um ponto.

Está certo seVocê pegou várias moedas em sequência e o número foi somando: 1, 2, 3…
Não deu certo?
A cópia não soma
Você duplicou antes de pôr o script. Apague e duplique a Moeda que tem o Script dentro.
As moedas ficaram no mesmo lugar
A cópia nasce em cima da original. Arraste-a pela seta.
20

Salve

Tela do Roblox Studio no passo 20

Foto da tela.

Ctrl + S → Salvar em arquivo → nome moedas.

Se quiser, publique também: Arquivo → Publicar na Roblox, como você aprendeu na aula passada.

Está certo seSalvou sem erro.
Não deu certo?
Quero publicar mas esqueci como
Volte na Aula 4, passo 9.

Acabou a Aula 5. Você fez dois scripts conversarem: um cria o placar, o outro soma nele. É assim que todo jogo com pontuação funciona.