أنشئ زومبيًا
الدرس 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التحدي
سهلأنزل زومبيًا عند بداية المسار.
- بالقرب من الأعلى:
local ServerStorage = game:GetService("ServerStorage")وlocal enemies = workspace.Enemies. - رتّب
workspace.Path.Waypoints:GetChildren()حسبtonumber(a.Name)وضع النتائج فيwaypoints. - اكتب
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