Menu
CoddyTech

נקודות ביקורת

חלק מהיחידה תכנות משחקים ב-Roblox במסלול ה-Lua של Coddy. שיעור 22 מתוך 24.

כששחקן מובס, Roblox ממתין 5 שניות (Players.RespawnTime) ומעניק לו דמות חדשה ב־SpawnLocation. אם במקום יש כמה SpawnLocations, Roblox בוחר אחד באקראי, ולכן נקודת ביקורת עלולה להפוך בטעות לנקודת התחלה.

לכל שחקן יש מאפיין RespawnLocation. מגדירים אותו ל־SpawnLocation, ואז השחקן הזה תמיד יופיע מחדש שם. מסלולי מכשולים משתמשים בו פעמיים: כששחקן מצטרף, הוא מצביע על נקודת ההתחלה; כשהשחקן מגיע לנקודת ביקורת, הוא מועבר אליה.

local Players = game:GetService("Players")
local camp = workspace.Camp
camp.Touched:Connect(function(hit)
	local player = Players:GetPlayerFromCharacter(hit.Parent)
	if player then
		player.RespawnLocation = camp
	end
end)

RespawnLocation שייך לכל שחקן בנפרד, ולכן הגעה של שחקן אחד למחנה לא מעבירה אף שחקן אחר.

challenge icon

אתגר

בינוני

המשטח האפור הוא workspace.Start, והמשטח הכחול הזוהר הוא נקודת ביקורת (שניהם SpawnLocations). הסקריפט הזה נמצא בתוך נקודת הביקורת.

  1. כששחקן מצטרף, יש להגדיר את RespawnLocation שלו ל-workspace.Start.
  2. כששחקן נוגע בנקודת הביקורת, יש להגדיר את RespawnLocation שלו לנקודת הביקורת ולשנות את צבעה לירוק: Color3.fromRGB(0, 255, 0).

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

נסו בעצמכם

local Players = game:GetService("Players")
local checkpoint = script.Parent

Players.PlayerAdded:Connect(function(player)
	-- התחל כל שחקן ב-workspace.Start
end)

checkpoint.Touched:Connect(function(hit)
	local player = Players:GetPlayerFromCharacter(hit.Parent)
	if player then
		-- מעתה, גרום לשחקן הזה להופיע מחדש כאן

		-- שנה את צבע ה-checkpoint לירוק
	end
end)
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה תכנות משחקים ב-Roblox

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