Menu
CoddyTech

Сбрасыватель

Урок 2 из 18 курса Игра в Roblox: магнат на фабрике на Coddy.

Деньги начинаются с руды. Серый ящик над конвейером, workspace.Tycoon.Dropper, каждую секунду выпускает небольшую деталь. Каждая руда хранит свою стоимость в виде атрибута — именованного значения, которое можно хранить в любом экземпляре:

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

Сброс руды происходит бесконечно, поэтому это цикл. Цикл с ожиданием задерживал бы остальную часть скрипта, поэтому цикл дроппера выполняется параллельно с ним, в task.spawn, и останавливается, если дроппер покидает игровой мир:

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

Новая деталь Part не закреплена, пока ты её не закрепишь, поэтому руда сама выпадает из дроппера.

challenge icon

Задание

Легко

Заставь дроппер сбрасывать руду:

  1. В верхней части: local tycoon = workspace.Tycoon.
  2. Напиши dropOre(dropper): деталь Part размером 1 на 1 на 1 с именем Ore, серого цвета (Color3.fromRGB(150, 150, 160)), расположенную на 2.5 studs ниже дроппера, с атрибутом Value, которому присвоено значение Settings.OreValue, и являющуюся дочерним объектом workspace.
  3. Напиши startDropper(dropper): в task.spawn, пока дроппер находится в workspace, сбрасывай руду и жди Settings.DropInterval секунд.
  4. Вызови startDropper(tycoon.Dropper).

Нажми Play: руда будет накапливаться под дроппером. Затем нажми Check.

Попробуйте сами

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

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

-- Каждый игрок получает Cash в таблице лидеров
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)
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Игра в Roblox: магнат на фабрике