Menu
CoddyTech

أنشئ زومبيًا

الدرس 2 من 22 في دورة لعبة Roblox: الدفاع عن الأبراج على Coddy.

تسير الأعداء على مسار تحدده أجزاء غير مرئية في workspace.Path.Waypoints، وتُسمّى من 1 إلى 6. لا يضمن GetChildren أي ترتيب، لذا رتّبها أولًا حسب الرقم في أسمائها:

local points = workspace.Path.Waypoints:GetChildren()
table.sort(points, function(a, b)
	return tonumber(a.Name) < tonumber(b.Name)
end)

كل عدو هو نموذج في ServerStorage.Enemies. انسخه، وانقل النموذج بأكمله باستخدام PivotTo، واجعله تابعًا لمساحة العمل كي يظهر:

local runner = ServerStorage.Enemies.Runner:Clone()
runner:PivotTo(points[3].CFrame + Vector3.new(0, 4, 0))
runner.Parent = workspace.Enemies
challenge icon

التحدي

سهل

أنزل زومبيًا عند بداية المسار.

  1. بالقرب من الأعلى: local ServerStorage = game:GetService("ServerStorage") وlocal enemies = workspace.Enemies.
  2. رتّب workspace.Path.Waypoints:GetChildren() حسب tonumber(a.Name) وضع النتائج في waypoints.
  3. اكتب spawnEnemy(kind): انسخ ServerStorage.Enemies[kind]، واستخدم PivotTo لوضعه على ارتفاع 5 وحدات studs فوق waypoints[1]، واجعله تابعًا لـenemies، ثم أعده. استدعِ spawnEnemy("Zombie").

اضغط على «العب»: سيظهر زومبي عند بداية المسار. ثم اضغط على «تحقق».

جرّب بنفسك

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

print("The base can take " .. Settings.BaseHealth .. " hits")

-- يحصل كل لاعب على Money في لوحة المتصدرين
Players.PlayerAdded:Connect(function(player)
	local leaderstats = Instance.new("Folder")
	leaderstats.Name = "leaderstats"
	leaderstats.Parent = player

	local money = Instance.new("IntValue")
	money.Name = "Money"
	money.Value = Settings.StartMoney
	money.Parent = leaderstats
end)

-- الدرس 2: يوضع هنا الكود الخاص بإظهار Zombie

جميع دروس لعبة Roblox: الدفاع عن الأبراج

تدرّب بنفسك: Playground لـ Roblox