Menu
CoddyTech

금광석

Coddy의 Roblox 게임: 팩토리 타이쿤 코스 레슨. 22개 중 5번째.

약간의 운은 플레이어들이 벨트를 계속 지켜보게 합니다. 광석 중 일부는 금이며, 가치가 5배입니다. 인수 없이 math.random()을 호출하면 0 이상 1 미만의 숫자를 반환하므로, 열 번 중 한 번은 0.1보다 작습니다.

if math.random() < Settings.GoldChance then
	-- 이건 금입니다
end

금광석은 빛나며(Neon) Settings.OreValue * 5의 가치가 있습니다.

게임이 진행되는 동안 일부 광석은 벨트에서 떨어집니다. Debris:AddItem(ore, 20)은 광석이 어디에 떨어졌든 20초 후에 각각 제거하므로, 세상에 버려진 부품이 넘치지 않습니다.

challenge icon

챌린지

쉬움

광석 10개 중 하나를 금으로 만들고, 떨어져 있는 광석을 정리하세요.

  1. dropOre에서 math.random() < Settings.GoldChance이면 광석의 색을 Color3.fromRGB(255, 200, 40)으로 지정하고, 재질을 Neon으로 설정한 다음 Value를 Settings.OreValue * 5로 설정하세요.
  2. 광석을 부모에 넣은 후 Debris:AddItem(ore, 20)을 호출하세요.

‘플레이’를 누르세요. 이제 가끔 빛나는 금광석이 컨베이어 벨트를 타고 이동하며 50을 지급합니다. 그런 다음 ‘확인’을 누르세요.

직접 해보기

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)
	-- 레슨 5: Gold Ore는 여기에 들어갑니다
	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)

-- 수집기는 광석을 Cash로 바꿉니다
tycoon.Collector.Touched:Connect(function(hit)
	if hit.Name == "Ore" then
		local value = hit:GetAttribute("Value")
		hit:Destroy()
		for _, player in Players:GetPlayers() do
			player.leaderstats.Cash.Value += value
		end
	end
end)

Roblox 게임: 팩토리 타이쿤의 모든 레슨

직접 연습해 보세요: Roblox 플레이그라운드