Menu
CoddyTech

המפיל

שיעור 2 מתוך 22 בקורס משחק Roblox: איל מפעל של Coddy.

הכסף מתחיל בעפרה. הקופסה האפורה שמעל המסוע, workspace.Tycoon.Dropper, מפילה חלק קטן בכל שנייה. כל עפרה נושאת את הערך שלה כמאפיין, ערך בעל שם שאפשר לאחסן בכל מופע:

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

ההפלה נמשכת לנצח, ולכן זו לולאה. לולאה שממתינה תעכב את המשך הסקריפט, לכן הלולאה של המפיל רצה לצידו, בתוך task.spawn, ונעצרת אם המפיל יוצא אי פעם מהעולם:

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

חלק חדש אינו מעוגן אלא אם מעגנים אותו, ולכן העפרה נופלת מהמַפיל מעצמה.

challenge icon

אתגר

קל

גרמו למתקן להוריד עפרה.

  1. קרוב לחלק העליון: local tycoon = workspace.Tycoon.
  2. כתבו dropOre(dropper): חלק 1, 1, 1 בשם Ore, במרחק 2.5 studs מתחת למתקן, עם מאפיין Value שערכו Settings.OreValue, בתוך סביבת העבודה.
  3. כתבו startDropper(dropper): בתוך task.spawn, כל עוד המתקן נמצא בסביבת העבודה, הורידו עפרה בכל Settings.DropInterval. קראו לה עבור tycoon.Dropper.

לחצו על "שחק": עפרה אפורה נערמת מתחת למתקן. לאחר מכן לחצו על "בדיקה".

נסו בעצמכם

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

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)

-- שיעור 2: ה-Dropper נכנס כאן

כל השיעורים ביחידה משחק Roblox: איל מפעל

תרגלו בעצמכם: Roblox אונליין