Máy thu gom
Bài học 4 trên 22 trong khóa học Game Roblox: nhà máy tycoon của Coddy.
Ở cuối băng chuyền, khối màu xanh phát sáng là bộ thu gom. Khi quặng chạm vào khối này, quặng sẽ được đổi thành tiền mặt: bộ thu gom đọc giá trị của quặng, phá hủy quặng rồi trả tiền.
collector.Touched:Connect(function(hit)
if hit.Name == "Ore" then
local value = hit:GetAttribute("Value")
hit:Destroy()
-- Trả số tiền tương ứng với value
end
end)Trước tiên, hãy kiểm tra tên: người chơi và những thứ khác cũng có thể chạm vào bộ thu gom. Đọc giá trị trước khi phá hủy quặng. Hiện tại, bộ thu gom trả tiền cho mọi người chơi trong trò chơi; ở chương tiếp theo, chỉ chủ sở hữu nhà máy mới được trả tiền.
Thử thách
DễĐổi quặng thành Cash tại bộ thu màu xanh lá.
- Kết nối
tycoon.Collector.Touched; chỉ xử lý khi tên của bộ phận làOre. - Đọc thuộc tính
Value, rồi xóa nó. - Cộng giá trị đó vào Cash của mọi người chơi.
Nhấn Chơi: mỗi quặng biến mất khi vào bộ thu và Cash của bạn tăng thêm 10. Sau đó nhấn Kiểm tra.
Tự làm thử
local Players = game:GetService("Players")
local Settings = require(game.ReplicatedStorage.Settings)
local tycoon = workspace.Tycoon
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)
-- Ore: khối nhỏ có giá trị Cash, rơi xuống dưới dropper
local function dropOre(dropper)
local ore = Instance.new("Part")
ore.Name = "Ore"
ore.Size = Vector3.new(1, 1, 1)
ore.Color = Color3.fromRGB(150, 150, 160)
ore.Position = dropper.Position - Vector3.new(0, 2.5, 0)
ore:SetAttribute("Value", Settings.OreValue)
ore.Parent = workspace
end
local function startDropper(dropper)
task.spawn(function()
while dropper:IsDescendantOf(workspace) do
dropOre(dropper)
task.wait(Settings.DropInterval)
end
end)
end
startDropper(tycoon.Dropper)
-- Băng chuyền vận chuyển mọi thứ nằm trên nó
tycoon.Conveyor.AssemblyLinearVelocity = Vector3.new(Settings.BeltSpeed, 0, 0)
-- Bài học 4: Đặt Collector ở đây
Tất cả bài học trong Game Roblox: nhà máy tycoon
Tự luyện tập: Playground Roblox