O Gerador
Lição 2 de 18 do curso Roblox: Tycoon de Fábrica da Coddy.
O dinheiro começa com o minério. A caixa cinza sobre a esteira, workspace.Tycoon.Dropper, solta uma pequena peça 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", 10)
print(ore:GetAttribute("Value")) --> 10A queda acontece para sempre, então ela é um loop. Um loop que espera bloquearia o restante do script, então o loop do dispensador é executado em paralelo, em task.spawn, e para se o dispensador 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 dispensador por conta própria.
Desafio
FácilFaça o dropper soltar minério:
- Perto do início:
local tycoon = workspace.Tycoon. - Escreva
dropOre(dropper): uma Part de 1 por 1 por 1 chamadaOre, cinza (Color3.fromRGB(150, 150, 160)), 2.5 studs abaixo do dropper, com um atributoValuedefinido comoSettings.OreValue, parentada ao workspace. - Escreva
startDropper(dropper): em umtask.spawn, enquanto o dropper estiver no workspace, solte um minério e aguardeSettings.DropIntervalsegundos. - Chame
startDropper(tycoon.Dropper).
Pressione Play: o minério se acumula sob o dropper. Depois, Check.
Experimente você mesmo
local Players = game:GetService("Players")
local Settings = require(game.ReplicatedStorage.Settings)
print("Ore is worth " .. Settings.OreValue .. " Cash")
-- Todos os jogadores recebem 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)
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Roblox: Tycoon de Fábrica
4Transforme isso em um jogo
Fábrica concluída