ممارسة إذا/ثم مع الفخاخ

*This content is translated using AI (Beta) and may contain errors. To view this page in English, click here.

تعتبر الفخاخ التي تقلل من صحة اللاعبين عنصرًا ممتعًا في طريقة اللعب يمكن برمجته باستخدام العبارات الشرطية. مارس استخدام العبارات الشرطية من خلال إنشاء جزء يحدد صحة اللاعب إلى صفر عند لمسه.

إعداد الفخ

تعمل الفخاخ بشكل استثنائي في الألعاب التي تحتوي على تحديات تعتمد على الحركة، مثل الألعاب المنصات. ستبدأ هذه الخطوات بإعداد المتغيرات والدوال اللازمة. قم بما تستطيع دون النظر إلى صناديق الكود أولاً.

  1. أنشئ جزءًا للفخ وسمه. أدخل سكريبت في الجزء.

  2. في السكريبت، أضف تعليقًا وصفيًا ثم استخدم متغيرًا للإشارة إلى والد السكريبت.

    -- إذا لمس لاعب هذا الجزء، حدد صحته إلى 0
    local trapPart = script.Parent
  3. أنشئ دالة باسم onTouch() مع معلمة باسم otherPart.

    -- إذا لمس لاعب هذا الجزء، حدد صحته إلى 0
    local trapPart = script.Parent
    local function onTouch(otherPart)
    end
  4. اربط الدالة بحدث Touched للجزء الفخ ليتم تشغيلها كلما لمست شيء ما الجزء.

    local trapPart = script.Parent
    local function onTouch(otherPart)
    end
    trapPart.Touched:Connect(onTouch)

تحقق من لمسة اللاعب

تذكر، أن المعلمة otherPart تسجل أي شيء يلمس الجزء الفخ، والذي قد يكون جزءًا من لاعب أو مجرد قاعدة.

لضمان أن الفخ سيدمر اللاعبين فقط ولن يدمر عناصر الزخرفة العشوائية، استخدم عبارة if/then للتحقق مما إذا كان ما في otherPart يحتوي على كائن Humanoid.

ابحث عن كائن محدد

يمكن استخدام الدالة FindFirstChildWhichIsA() للبحث عن أنواع كائنات محددة، وهو أمر مفيد لأننا نبحث عن كائن من نوع Humanoid. من المحتمل أن يلمس اللاعب الفخ بجزء فقط من شخصيته، لذا يجب إعداد متغير للعثور على والد الجزء الملموس والبحث فيه عن Humanoid.

  1. في onTouch(), اكتب local character = otherPart.Parent.

    local trapPart = script.Parent
    local function onTouch(otherPart)
    -- يجد كائن والد otherPart
    local character = otherPart.Parent
    end
    trapPart.Touched:Connect(onTouch)
  2. تحقق مما إذا كان character يحتوي على Humanoid بكتابة:

    local humanoid = character:FindFirstChildWhichIsA("Humanoid")

    local trapPart = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    end
    trapPart.Touched:Connect(onTouch)

تحقق باستخدام عبارة if

إذا تم العثور على Humanoid، فقم بتحديد صحة Humanoid إلى صفر.

  1. استخدم عبارة if للتحقق مما إذا كان قد تم تعيين Humanoid بنجاح إلى local humanoid.

    local trapPart = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    -- يقيم ما إذا كان قد تم العثور على Humanoid
    if humanoid then
    end
    end
    trapPart.Touched:Connect(onTouch)
  2. أضف عبارة طباعة وتحقق من الكود حتى الآن.

    local trapPart = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    -- يقيم ما إذا كان قد تم العثور على Humanoid
    if humanoid then
    print("تم العثور على Humanoid")
    end
    end
    trapPart.Touched:Connect(onTouch)
  3. قم بتشغيل الكود وتحقق من أنك تستطيع رؤية الإخراج كلما لمس لاعب الجزء.

تغيير صحة اللاعب

إذا كانت العبارة صحيحة، يمكنك استخدام نفس متغير humanoid لتحديد صحة اللاعب إلى 0.

  1. بين then و end, اكتب humanoid.Health = 0.

    سكريبت مكتمل
    local trapPart = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    -- يقيم ما إذا كان قد تم العثور على Humanoid
    if humanoid then
    print("تم العثور على Humanoid")
    humanoid.Health = 0
    end
    end
    trapPart.Touched:Connect(onTouch)
  2. اختبر الفخ.

ملخص

استخدم هذا الجزء من الفخ العبارات الشرطية لاكتشاف أجزاء Humanoid وتحديد صحة Humanoid إلى صفر. هذا السكريبت هو تحسين على السكريبت السابق للفخ، الذي دمر أي كائن يلمسه بغض النظر عما كان.

ومع ذلك، لا يزال لديه بعض العيوب. الكائنات Humanoid ليست موجودة فقط في اللاعبين. توجد الكائنات Humanoid أيضًا في الشخصيات غير القابلة للعب. السكريبت جيد فقط في تحديد صحة اللاعب إلى صفر. يمكنك التجربة بطرح كمية صغيرة من الصحة، ولكن من المحتمل أن يتم طرح الصحة بشكل أسرع مما هو مرغوب. تقدم الدروس اللاحقة تحسينات إضافية لمنح تحكم أكبر في مقدار الصحة التي يتم طرحها من اللاعبين.

©2026 شركة Roblox Corporation. تُعد منصّة Roblox، وشعار Roblox وشعار "توسيع حدود المخيلة"، من ضمن علاماتنا التجارية المسجّلة وغير المسجّلة في الولايات المتحدة وبلدان أخرى.