Menu
CoddyTech

הנפה

שיעור 2 מתוך 20 בקורס משחק Roblox: זירות קרב של Coddy.

עם כלי ביד, לחיצה (או הקשה) מפעילה את האירוע Activated של הכלי, גם בשרת. הנפת החרב מפעילה את אנימציית החיתוך של Roblox: אובייקט Animation מזהה אותה לפי המזהה שלה, וה־Animator של הדמות, שנמצא בתוך ה־Humanoid שלה, טוען אותה לרצועה כדי להפעיל אותה:

local slash = Instance.new("Animation")
slash.AnimationId = "rbxassetid://522635514"
character.Humanoid.Animator:LoadAnimation(slash):Play()

ללא הגבלה, שחקן יכול ללחוץ מהר ככל שירצה, לכן כל הנפה שומרת בטבלה, לכל שחקן, מתי התרחשה ההנפה הקודמת, ומונעת הנפה נוספת במשך Settings.SwingCooldown שניות.

challenge icon

אתגר

קל
  1. בחלק העליון, הוסף local lastSwing = {} ואת האנימציה slash מסוג Animation (מזהה rbxassetid://522635514).
  2. כתוב את swing(player) מעל PlayerAdded: החזר אם אין לשחקן דמות חיה או אם הוא הניף את החרב לפני פחות מ־Settings.SwingCooldown; אחרת, שמור את הזמן והפעל את הנפת החרב ב־Animator שלו.
  3. במקום שבו אתה נותן את החרב, חבר את Activated שלה ל־swing(player).

לחץ על Play, החזק את החרב ולחץ. לאחר מכן לחץ על Check.

נסו בעצמכם

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

print("Swords deal " .. Settings.SwordDamage .. " damage")

-- כל שחקן מקבל Kills בטבלת המובילים, וחרב בכל פעם שהוא נולד מחדש
Players.PlayerAdded:Connect(function(player)
	local leaderstats = Instance.new("Folder")
	leaderstats.Name = "leaderstats"
	leaderstats.Parent = player

	local kills = Instance.new("IntValue")
	kills.Name = "Kills"
	kills.Parent = leaderstats

	player.CharacterAdded:Connect(function()
		local sword = ServerStorage.Sword:Clone()
		sword.Parent = player.Backpack
	end)
end)
quiz iconבחנו את עצמכם

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

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