من لمسه؟
جزء من قسم برمجة ألعاب Roblox في رحلة Lua على Coddy. الدرس 14 من 24.
hit هو جزء من الجسم، وhit.Parent هي الشخصية التي ينتمي إليها ذلك الجزء من الجسم. تحوّل خدمة Players الشخصية إلى اللاعب الذي يتحكم فيها:
local Players = game:GetService("Players")
local player = Players:GetPlayerFromCharacter(hit.Parent)عندما لا يكون الجسم الملامس شخصية (مثل كرة أو لبنة ساقطة)، تُعيد GetPlayerFromCharacter القيمة nil، لذا تحقّق من ذلك قبل استخدامها:
local player = Players:GetPlayerFromCharacter(hit.Parent)
if player then
print(player.Name .. " found the secret")
endبعد الحصول على اللاعب، يمكنك الوصول إلى أي شيء بداخله، مثل لوحة النتائج الخاصة به: player.leaderstats.Coins.Value. يؤدي تعيين Value باستخدام = إلى استبدال قيمته.
التحدي
متوسطالمنصة المتوهجة هي الكنز، وهذا السكربت موجود بداخلها. لدى كل لاعب مسبقًا leaderstats، وفيه Coins بقيمة 0.
عندما يلمس لاعب الكنز، اطبع اسمه واجعل قيمة Coins لديه 100. يجب ألا تتسبب الأشياء التي ليست لاعبين في حدوث خطأ.
اضغط على Play، وقف عليها وراقب لوحة النتائج، ثم اضغط على Check.
جرّب بنفسك
local Players = game:GetService("Players")
local treasure = script.Parent
treasure.Touched:Connect(function(hit)
local player = Players:GetPlayerFromCharacter(hit.Parent)
-- إذا كان لاعبًا: اطبع اسمه واضبط Coins لديه على 100
end)
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس برمجة ألعاب Roblox
تدرّب بنفسك: مترجم Lua عبر الإنترنت