Toplayıcı
Coddy'nin Roblox Oyunu: Fabrika Tycoon kursunda ders 4 / 18.
Bantın sonunda parlayan yeşil blok toplayıcıdır. Bir cevher ona dokunduğunda cevher Nakit'e dönüştürülür: toplayıcı cevherin Değerini okur, cevheri yok eder ve ödeme yapar.
collector.Touched:Connect(function(hit)
if hit.Name == "Ore" then
local value = hit:GetAttribute("Value")
hit:Destroy()
-- value değerini öde
end
end)Önce adı kontrol edin: oyuncular ve başka şeyler de toplayıcıya dokunabilir. Cevheri yok etmeden önce değeri okuyun. Şimdilik toplayıcı oyundaki her oyuncuya ödeme yapıyor; sonraki bölümde yalnızca fabrikanın sahibi ödeme alacak.
Görev
Kolaytycoon.Collector.Touched'ı bağla: ona dokunan parçanın adı Ore ise Value özniteliğini oku, parçayı yok et ve değeri her oyuncunun Cash değerine ekle.
Play'e bas ve Cash değerinin yükselişini izle, ardından Check'e tıkla.
Kendin dene
local Players = game:GetService("Players")
local Settings = require(game.ReplicatedStorage.Settings)
local tycoon = workspace.Tycoon
print("Ore is worth " .. Settings.OreValue .. " Cash")
-- Her oyuncu, liderlik tablosunda Cash kazanır
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 değerinde küçük bir parça; bir dropper'ın altına düşer
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)
-- Konveyör, üzerinde duran her şeyi taşır
tycoon.Conveyor.AssemblyLinearVelocity = Vector3.new(Settings.BeltSpeed, 0, 0)
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.