أول لعبة Obby لك
جزء من قسم برمجة ألعاب Roblox في رحلة Lua على Coddy. الدرس 24 من 24.
تُعدّ لعبة مسار العقبات (obstacle course) لعبة Roblox الكلاسيكية الأولى: انتقل من البداية إلى النهاية دون لمس أي شيء قاتل. هذه اللعبة تحلّق في السماء:
Start: نقطة الظهورLavaFloor: منصة رمادية عريضة. شريطا الحمم على المنصة موجودان في مجلدLavaداخل workspace.Checkpoint: موقع ظهور في منتصف الطريقPath: ممر ضيقFinish: المنصة الذهبية
يشغّل سكربت واحد في ServerScriptService اللعبة بأكملها، مستخدمًا كل ما تعلّمته في هذه الدورة. هناك تفصيل جديد:
عند وجود موقعي SpawnLocation (البداية ونقطة التفتيش)، تعيد LoadCharacterAsync إظهار الفائز عند RespawnLocation الخاص به، لذا وجّهه إلى نقطة البداية مجددًا قبل إرساله إليها.
التحدي
صعباجعل مسار العقبات بأكمله يعمل باستخدام نص برمجي واحد:
- يحصل كل لاعب على
leaderstatsمع IntValueWinsبقيمة0، ويكونRespawnLocationلديه هوworkspace.Start. - كل جزء في
workspace.Lavaيقضي على من يلمسه. - لمس
workspace.Checkpointيجعله نقطة إعادة ظهور اللاعب. - لمس
workspace.Finishيضيف 1 بالضبط إلى Wins، ويعيّنworkspace.Startإلى RespawnLocation الخاص باللاعب، ثم ينقله إلى هناك باستخدامLoadCharacterAsync(). إكمال المسار مرة أخرى لاحقًا يضيف فوزًا آخر.
اضغط على تشغيل وأكمل مسار العقبات، ثم اضغط على تحقّق. يجتازه لاعب الاختبار مرتين.
جرّب بنفسك
local Players = game:GetService("Players")
-- 1. يحصل كل لاعب على leaderstats بقيمة Wins = 0، ويبدأ من نقطة البداية
Players.PlayerAdded:Connect(function(player)
end)
-- 2. كل جزء في workspace.Lava يقتل اللاعب
-- 3. تصبح نقطة التحقق نقطة عودة اللاعب بعد موته
-- 4. خط النهاية: +1 فوز، ثم العودة إلى نقطة البداية
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس برمجة ألعاب Roblox
5لعبتك الأولى
أول لعبة Obby لكتدرّب بنفسك: مترجم Lua عبر الإنترنت