수집기
Coddy의 Roblox 게임: 팩토리 타이쿤 코스 레슨. 22개 중 4번째.
벨트 끝에 있는 빛나는 초록색 블록이 수집기입니다. 광석이 여기에 닿으면 광석은 현금으로 바뀝니다. 수집기는 광석의 Value를 읽고, 광석을 파괴한 다음 대금을 지급합니다.
collector.Touched:Connect(function(hit)
if hit.Name == "Ore" then
local value = hit:GetAttribute("Value")
hit:Destroy()
-- value를 지급
end
end)먼저 이름을 확인하세요. 플레이어와 다른 것들도 수집기에 닿을 수 있습니다. 광석을 파괴하기 전에 값을 읽으세요. 지금은 수집기가 게임에 있는 모든 플레이어에게 대금을 지급합니다. 다음 장에서는 공장 소유자만 대금을 받도록 하겠습니다.
챌린지
쉬움녹색 수집기에서 광석을 Cash로 바꾸세요.
tycoon.Collector.Touched를 연결하고, 파트 이름이Ore일 때만 동작하게 하세요.- 파트의
Value속성을 읽은 다음 파트를 제거하세요. - 모든 플레이어의 Cash에 해당 값을 더하세요.
‘플레이’를 누르세요. 광석이 수집기로 사라질 때마다 보유한 Cash가 10씩 늘어납니다. 그런 다음 ‘확인’을 누르세요.
직접 해보기
local Players = game:GetService("Players")
local Settings = require(game.ReplicatedStorage.Settings)
local tycoon = workspace.Tycoon
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)
-- Ore: Cash 가치가 있는 작은 파트로, 드로퍼 아래에 떨어집니다
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)
-- 컨베이어는 위에 놓인 모든 것을 운반합니다
tycoon.Conveyor.AssemblyLinearVelocity = Vector3.new(Settings.BeltSpeed, 0, 0)
-- 레슨 4: 여기에 Collector가 들어갑니다
Roblox 게임: 팩토리 타이쿤의 모든 레슨
직접 연습해 보세요: Roblox 플레이그라운드