Menu
CoddyTech
flag Ar iconالعربيةdown icon

التلويح بالسيف

الدرس 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 المتحركة (المعرّف 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: ساحات القتال