← Todos os guias
Guia 2

Crie o seu primeiro tycoon

Um dropper solta cubos, uma esteira leva eles, um coletor transforma eles em dinheiro e um botão compra um segundo dropper.

Grátis60 minutos · Iniciante · Roblox Studio
1
Passo 1 / 9

Prepare o lugar

  1. Abra o Roblox Studio, clique em New Experience e escolha o modelo Baseplate.
  2. No Explorer, passe o mouse sobre Workspace, clique em + e adicione uma Folder. Dê o nome Tycoon.
  3. Tudo o que você construir neste guia vai para essa pasta. Assim o Explorer fica organizado.

Mais detalhes

  • O modelo Baseplate está na lista de modelos da tela inicial.
  • Quando você clica em +, uma lista abre. Digite a palavra Folder para achar rápido e clique nela.
  • Para mudar o nome da pasta, clique nela uma vez, aperte F2, digite Tycoon e aperte Enter.
  • No Mac, use a tecla Cmd toda vez que este guia disser Ctrl.
Dica. Mude o nome de cada Part logo depois de criar. Os scripts encontram as Parts pelo nome, então uma Part que ainda se chama Part não vai funcionar.
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 / 9

Dê dinheiro a cada jogador

  1. Passe o mouse sobre ServerScriptService, clique em + e adicione um Script. Dê o nome Leaderstats.
  2. Apague a linha que já está lá e cole este código.
  3. Aperte Play. O seu nome aparece na lista de jogadores com Cash 0 ao lado.
ServerScriptService > Leaderstats
local Players = game:GetService("Players")

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

	local cash = Instance.new("IntValue")
	cash.Name = "Cash"
	cash.Value = 0
	cash.Parent = stats
end)

O que cada parte faz

  • PlayerAdded roda uma vez para cada jogador que entra.
  • Uma pasta chamada leaderstats é especial. A Roblox mostra os valores que estão dentro dela na lista de jogadores.
  • Um IntValue guarda um número inteiro. Aqui, ele guarda o dinheiro do jogador.

Mais detalhes

  • O ServerScriptService está na lista do Explorer. Os scripts que ficam nele rodam no servidor, onde os jogadores não conseguem mudar.
  • O script abre em uma nova aba. Clique dentro do código, aperte Ctrl+A e depois Ctrl+V para trocar tudo.
  • Volte para o seu mundo clicando na aba com o nome do seu lugar.
  • A lista de jogadores fica no canto superior direito do jogo. Aperte F5 para começar e Shift+F5 para parar.
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 / 9

Construa o dropper

  1. Adicione uma Part dentro da pasta Tycoon. Coloque Size em 4, 1, 4, ligue Anchored e dê o nome Dropper.
  2. Levante ela uns 10 studs acima do chão com a ferramenta Move (Ctrl+2).
  3. Adicione um Script em Dropper e cole este código.
  4. Aperte Play. Um cubo amarelo cai a cada 2 segundos.
Dropper > Script
local Debris = game:GetService("Debris")
local dropper = script.Parent

while true do
	task.wait(2)

	local cube = Instance.new("Part")
	cube.Name = "Cube"
	cube.Size = Vector3.new(1.5, 1.5, 1.5)
	cube.Color = Color3.fromRGB(255, 200, 60)
	cube.Position = dropper.Position - Vector3.new(0, 2, 0)
	cube.Parent = workspace

	Debris:AddItem(cube, 20)
end

O que cada parte faz

  • Instance.new cria uma nova Part pelo código.
  • Position coloca o cubo 2 studs abaixo do dropper.
  • Debris remove cada cubo depois de 20 segundos, para os cubos velhos não se acumularem.

Mais detalhes

  • Para colocar a peça na pasta, arraste o nome dela no Explorer até o nome Tycoon.
  • Com a ferramenta Move, arraste a seta verde para cima. O campo Position no Properties mostra a altura no número do meio.
  • O cubo aparece 2 studs abaixo do dropper e depois cai. Se o dropper estiver baixo demais, os cubos se amontoam embaixo dele.
  • O primeiro cubo vem 2 segundos depois que o jogo começa.
Erro comum. Nenhum cubo aparece: confira se o script está dentro de Dropper e se o Dropper está com Anchored ligado.
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 / 9

Adicione a esteira

  1. Adicione uma Part, coloque Size em 6, 1, 30, ligue Anchored e dê o nome Conveyor.
  2. Coloque ela no chão de modo que uma ponta fique logo embaixo do dropper.
  3. Adicione um Script em Conveyor e cole este código.
  4. Aperte Play. Os cubos caem na esteira e deslizam por ela.
Conveyor > Script
local conveyor = script.Parent

conveyor.AssemblyLinearVelocity = conveyor.CFrame.LookVector * 8

O que cada parte faz

  • AssemblyLinearVelocity diz à Roblox com que velocidade as coisas em cima da Part devem se mover.
  • LookVector é a direção para onde a frente da Part aponta. O número 8 é a velocidade em studs por segundo.

Mais detalhes

  • Toda peça tem uma frente. A esteira empurra os cubos para a frente dela.
  • O lado comprido da esteira, o de 30 studs, precisa apontar para longe do dropper, em direção ao lugar onde o coletor vai ficar.
  • A esteira em si não se move. Só as coisas que estão em cima dela deslizam.
  • Se os cubos caírem pelo lado, deixe a esteira mais larga ou mova o dropper para o meio dela.
Erro comum. Os cubos deslizam para o lado errado: gire a esteira 180 graus com a ferramenta Rotate (Ctrl+4).
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 / 9

Colete os cubos

  1. Adicione uma Part na outra ponta da esteira. Coloque Size em 6, 4, 1, ligue Anchored, deixe ela verde e dê o nome Collector.
  2. Deixe ela em pé, como uma parede, para os cubos baterem nela.
  3. Adicione um Script em Collector e cole este código.
  4. Aperte Play. Cada cubo que chega no coletor soma 5 em Cash.
Collector > Script
local Players = game:GetService("Players")
local collector = script.Parent

collector.Touched:Connect(function(hit)
	if hit.Name ~= "Cube" then return end
	hit:Destroy()

	for _, player in ipairs(Players:GetPlayers()) do
		local stats = player:FindFirstChild("leaderstats")
		if stats then
			stats.Cash.Value += 5
		end
	end
end)

O que cada parte faz

  • O script ignora tudo o que não se chama Cube. Os seus pés não contam.
  • Destroy tira o cubo do jogo.
  • O loop dá 5 de dinheiro para todos os jogadores do servidor. Um tycoon com um dono para cada terreno é uma aula avançada.

Mais detalhes

  • Size 6, 4, 1 já fica em pé: 6 de largura, 4 de altura e 1 de espessura. Ponha ela atravessada no fim da esteira, como um portão fechado.
  • A borda de baixo dela deve encostar na esteira, para nenhum cubo escapar por baixo.
  • Para deixar verde, clique no campo Color no Properties.
  • Para testar: aperte F5 e olhe a lista de jogadores. O Cash sobe 5 toda vez que um cubo chega na parede.
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 / 9

Prepare o segundo dropper

  1. Selecione Dropper e aperte Ctrl+D. Dê à cópia o nome Dropper2 e mova ela para o lado da primeira, ainda em cima da esteira.
  2. Arraste Dropper2 do Workspace para o ServerStorage.
  3. Ela some do mundo. Os objetos no ServerStorage ficam esperando lá até um script trazer eles de volta.

Mais detalhes

  • A cópia fica exatamente em cima da original. Arraste ela para o lado com a ferramenta Move para ver as duas.
  • Mude o nome da cópia com F2. O nome precisa ser Dropper2, com D maiúsculo e sem espaço.
  • O ServerStorage está na lista do Explorer. Arraste o nome Dropper2 até ele.
  • O script que estava dentro da cópia veio junto. Você não precisa adicionar de novo.
Dica. Os scripts dentro do ServerStorage não rodam. Por isso o segundo dropper fica quieto até alguém comprar.
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 / 9

Adicione um botão de compra

  1. Adicione uma Part no chão perto da esteira. Coloque Size em 4, 1, 4, ligue Anchored, deixe ela azul bem forte e dê o nome BuyDropper.
  2. Adicione um Script em BuyDropper e cole este código.
  3. Para dar um texto ao botão, passe o mouse sobre BuyDropper, clique em + e adicione um BillboardGui. Coloque o Size dele em {0, 200}, {0, 50} e o StudsOffset em 0, 3, 0.
  4. Adicione um TextLabel dentro do BillboardGui. Coloque o Size dele em {1, 0}, {1, 0}, ligue TextScaled e digite este texto: Second dropper - 50
BuyDropper > Script
local Players = game:GetService("Players")
local ServerStorage = game:GetService("ServerStorage")

local button = script.Parent
local PRICE = 50
local bought = false

button.Touched:Connect(function(hit)
	if bought then return end

	local player = Players:GetPlayerFromCharacter(hit.Parent)
	local stats = player and player:FindFirstChild("leaderstats")
	if not stats or stats.Cash.Value < PRICE then return end

	bought = true
	stats.Cash.Value -= PRICE
	ServerStorage.Dropper2.Parent = workspace
	button:Destroy()
end)

O que cada parte faz

  • PRICE é o custo. Mude o número para deixar o botão mais barato ou mais caro.
  • O script confere se um jogador de verdade tocou no botão e se ele tem dinheiro suficiente.
  • Mover Dropper2 para o workspace liga ele. O script dele começa a rodar na hora.

Mais detalhes

  • Os jogadores compram andando em cima do botão, então ponha ele no chão, num lugar fácil de alcançar.
  • Para Size e StudsOffset, clique no campo no Properties, digite os números exatamente como mostrado, com os parênteses e as vírgulas, e aperte Enter.
  • Text é uma propriedade do TextLabel. Clique no campo Text, digite as palavras e aperte Enter.
  • O rótulo flutua sobre o botão. Se você não conseguir ver, aumente o número do meio de StudsOffset.
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 / 9

Teste o ciclo inteiro

  1. Aperte F5. Veja os cubos caírem, andarem na esteira e virarem dinheiro.
  2. Espere até ter 50 de dinheiro e depois pise no botão azul.
  3. O segundo dropper aparece, o botão some e o seu dinheiro cresce duas vezes mais rápido.
  4. Aperte Shift+F5 para parar. Se algo falhar, abra a janela Output pelo menu Window e leia o texto vermelho.

Mais detalhes

  • São necessários 10 cubos, ou seja, pelo menos 20 segundos, para chegar a 50 de cash.
  • Depois de comprar, o Cash diminui 50. Isso está certo. Você pagou pelo dropper.
  • O botão é destruído depois da compra, então não dá para comprar duas vezes.
  • Se o segundo dropper aparecer no lugar errado, pare o jogo, arraste o Dropper2 do ServerStorage de volta para o Workspace, mova ele e arraste para o ServerStorage de novo.
Erro comum. O Cash nunca muda: as peças que caem precisam se chamar Cube, exatamente como no script do dropper.
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 / 9

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.
  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.
  • O Creator Hub é o site create.roblox.com. Entre com a mesma conta e clique no seu jogo na lista.
  • 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. O progresso ainda não é salvo. Quando um jogador sai, o dinheiro se perde. Salvar dados é uma aula avançada.
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

  • Faça cada cubo valer 10 de dinheiro em vez de 5.
  • Adicione um terceiro dropper que custa 200 de dinheiro.
  • Faça o segundo dropper ser mais rápido que o primeiro. Que número você muda?