Menu
CoddyTech

Máy thả

Bài học 2 trên 22 trong khóa học Game Roblox: nhà máy tycoon của Coddy.

Tiền bắt đầu từ quặng. Hộp màu xám phía trên băng chuyền, workspace.Tycoon.Dropper, thả một mảnh nhỏ mỗi giây. Mỗi quặng lưu giá trị của nó dưới dạng thuộc tính (attribute), một giá trị có tên mà bạn có thể lưu trên bất kỳ instance nào:

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

Việc thả quặng diễn ra liên tục, nên đây là một vòng lặp. Một vòng lặp có chờ sẽ làm những phần còn lại của script phải đợi, vì vậy vòng lặp của máy thả quặng chạy song song với phần còn lại, trong task.spawn, và dừng nếu máy thả quặng rời khỏi thế giới:

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

Part mới sẽ không được neo trừ khi bạn neo nó, vì vậy quặng tự rơi ra khỏi máy thả quặng.

challenge icon

Thử thách

Dễ

Cho máy thả quặng.

  1. Gần đầu đoạn code: local tycoon = workspace.Tycoon.
  2. Viết dropOre(dropper): tạo một Part có kích thước 1, 1, 1, tên là Ore, nằm dưới máy thả 2.5 studs, có thuộc tính Value mang giá trị Settings.OreValue, trong workspace.
  3. Viết startDropper(dropper): trong task.spawn, khi máy thả vẫn nằm trong workspace, hãy thả quặng sau mỗi khoảng thời gian Settings.DropInterval. Gọi hàm này với tycoon.Dropper.

Nhấn Chơi: quặng màu xám chất thành đống bên dưới máy thả. Sau đó nhấn Kiểm tra.

Tự làm thử

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

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

-- Mỗi người chơi có Cash trên bảng xếp hạng
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)

-- Bài học 2: Đặt Dropper ở đây

Tất cả bài học trong Game Roblox: nhà máy tycoon

Tự luyện tập: Playground Roblox