Menu
CoddyTech

O Gerador

Lição 2 de 22 do curso Jogo no Roblox: Magnata da Fábrica da Coddy.

O dinheiro começa com o minério. A caixa cinza sobre a esteira, workspace.Tycoon.Dropper, solta uma peça pequena a cada segundo. Cada minério carrega o seu valor como um atributo, um valor nomeado que você pode armazenar em qualquer instância:

ore:SetAttribute("Value", 25)
print(ore:GetAttribute("Value")) --> 25

A queda acontece para sempre, então é um loop. Um loop que espera bloquearia o restante do script, então o loop do dropper é executado junto com ele, em task.spawn, e para se o dropper sair do mundo:

task.spawn(function()
	while dropper:IsDescendantOf(workspace) do
		dropOre(dropper)
		task.wait(Settings.DropInterval)
	end
end)

Uma nova Part não fica ancorada, a menos que você a ancore, então o minério cai do dropper por conta própria.

challenge icon

Desafio

Fácil

Faça o dropper derrubar minério.

  1. Perto do início: local tycoon = workspace.Tycoon.
  2. Escreva dropOre(dropper): uma Part de 1, 1, 1 chamada Ore, 2.5 studs abaixo do dropper, com um atributo Value definido como Settings.OreValue, no workspace.
  3. Escreva startDropper(dropper): em task.spawn, enquanto o dropper estiver no workspace, derrube minério a cada Settings.DropInterval. Chame essa função para tycoon.Dropper.

Pressione “Jogar”: o minério cinza se acumula embaixo do dropper. Depois, pressione “Verificar”.

Experimente você mesmo

local Players = game:GetService("Players")
local Settings = require(game.ReplicatedStorage.Settings)

print("Ore is worth " .. Settings.OreValue .. " Cash")

-- Todo jogador recebe Cash no placar de líderes
Players.PlayerAdded:Connect(function(player)
	local leaderstats = Instance.new("Folder")
	leaderstats.Name = "leaderstats"
	leaderstats.Parent = player

	local cash = Instance.new("IntValue")
	cash.Name = "Cash"
	cash.Parent = leaderstats
end)

-- Lição 2: O Dropper vai aqui

Todas as lições de Jogo no Roblox: Magnata da Fábrica

Pratique por conta própria: Playground de Roblox