آليات اللعبة

1

نظرة عامة على الخريطة

آليات اللعبة (قابلة لإعادة التحرير) هي أحد قوالب اللعب الرسمية المثبتة مسبقًا في محرر Free Fire CraftLand. وهي توفر للمطورين مخططًا قابلًا لإعادة الاستخدام لميزات اللعب الأساسية، ويتألف بشكل أساسي من ثلاثة مكونات رئيسية: مشاهد الخريطة وإعدادات القواعد ونصوص البرامج النصية.

ضمن هذا القالب، يمكنك تجربة وتعلم منهجية تحرير اللعب الأساسية — التفاعل مع الآليات المصممة مسبقًا وتجربة حلقات التغذية الراجعة الخاصة بها.

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

سيناريو الخريطة

أولاً، مقدمة لتصميم المشهد: تعتمد المساحة الإجمالية على المشهد الفارغ الافتراضي، مع مساحة مربعة بسيطة مغلقة وآليات تفاعلية منتشرة في جميع الأنحاء (داخل المربع الأحمر في أعلى الصورة أدناه). يمكن تقسيم اللاعبين إلى ثلاثة فرق وسيظهرون على أحد جانبي الخريطة عند دخولهم اللعبة (المربع الأحمر في أسفل الصورة أدناه)، ويشارك بحرية في تجربة اللعب الأساسية.

2

بالإضافة إلى إجراء تعديلات سريعة على الكائنات مباشرةً داخل المشهد، يمكنك أيضًا إدارة جميع كائنات المشهد بشكل شامل من خلال النقر على المزيد - مدير الكائنات

3

المتعلقة بالوظائف

القواعد

لتكوين قواعد اللعب، انتقل إلى الإعدادات > إعدادات اللعب > محرر قواعد اللعب

4

هنا يمكنك تعديل القواعد التفصيلية الخاصة بهذا النموذج، بما في ذلك: الوضع، وإعدادات السمات، والاقتصاد، والكاميرا.

تختلف إعدادات قواعد النموذج الحالي بشكل أساسي عن الإعدادات الافتراضية في المجالات التالية: الوضع والاقتصاد. فيما يلي قائمة بالإدخالات الخاصة بالقواعد التي تختلف عن الإعدادات الافتراضية.

الوضع

إعدادات الدور: تكوين المعلمات المتعلقة بالدور.

تكوين الفريق: يحدد عدد اللاعبين في كل جلسة، وفتحات الفريق المتاحة، والحد الأدنى من اللاعبين المطلوبين لبدء اللعب

5

الاقتصاد

تحرير المتجر: يحدد العناصر التي يمكن للاعبين شراؤها باستخدام الرموز في مواقع محددة وأسعارها

ملاحظة: نظرًا لأن اللعب الأساسي لهذا النموذج يركز على تجارب الآليات، فإن آلات البيع ليست معدة مسبقًا. إذا لزم الأمر، يمكن سحبها من مكتبة الكائنات إلى المشهد وإنشاؤها

6 7

واجهة المستخدم

لإنشاء واجهة مستخدم مخصصة، حدد المزيد - HUD مخصص

8

هنا يمكنك تعديل واجهة HUD المخصصة التي يمكن للاعبين التفاعل معها أثناء المباريات، والانتقال إلى تصميمات البرامج النصية المقابلة

تخدم واجهة HUD المخصصة للقالب الحالي آليات البوابة التي يتم تنشيطها بواسطة الأزرار فقط

لتعديل عناصر تحكم معينة، حدد تحرير التخطيط - ثم اختر عنصر التحكم المطلوب من القائمة اليسرى

9 10

هنا يمكنك ضبط خصائص مختلفة لعناصر تحكم محددة، مثل: الحجم والموضع وزاوية الدوران والرؤية والشفافية واللون والمحتوى المعروض وما إلى ذلك.

الانتقال إلى تصميم البرنامج النصي للعنصر الرسومي المقابل:

انقر فوق تحرير البرنامج النصي - الانتقال إلى واجهة تحرير البرنامج النصي HUD. سيتم تفصيل طرق إنشاء البرامج النصية المحددة أدناه.

11

نظرة عامة على واجهة HUD داخل اللعبة: (تظهر تلقائيًا عندما يدخل شخصية اللاعب نطاق التشغيل المخصص لـ زر الباب)

12

يتحكم هذا الزر في فتح/إغلاق الباب داخل آلية الباب المزود بزر

البرمجة الفوقية

تتطلب آليات اللعب الإضافية محرر البرمجة الفوقية، الذي يمكن الوصول إليه عن طريق:

انقر على المزيد - نصوص العناصر، ثم حدد النص المحدد الذي ترغب في تحريره من الزاوية العلوية اليمنى من الواجهة

13 14

يقدم هذا القسم بشكل أساسي آليات اللعب الأساسية تحت عنوان ”آليات اللعبة“ وكيفية تنفيذ القواعد المحددة الأخرى عبر البرامج النصية.

يمكنك تعديل نصوص برمجية محددة وضبط المعلمات ذات الصلة هنا

للحصول على مزيد من التفاصيل حول وظائف النصوص البرمجية، انقر فوق النص البرمجي المحدد لعرض التفاصيل

نصوص برمجية مخصصة للتشغيل

يوضح هذا القسم تأثيرات ومحتوى النصوص البرمجية لكل آلية

رقم اسم الآلية
منطقة الشفاء
منطقة الضرر
منطقة ظهور الوحوش
منطقة الفخاخ
منطقة النقل الفوري
منطقة عرض النص
منطقة تغيير الملابس
المصعد
الباب الأوتوماتيكي
الباب الزر

منطقة الشفاء

15
  1. عند الدخول، تستعيد شخصيات اللاعبين صحتهم باستمرار بمعدل 15 نقطة صحة في الثانية، مصحوبة بتأثيرات بصرية للشفاء

نظرة عامة:

16
  • يتم تضمين الوظيفة الأساسية لهذه الآلية - شفاء اللاعبين (زيادة نقاط صحتهم) - في الوظيفة التالية، التي يتم تنفيذها لكل لاعب مؤهل يدخل الآلية. فيما يلي تنفيذ البرنامج النصي المحدد:

المنطقة 2-3

وظيفة ”Updatetreat“

  1. إذا كان ”ListOfTreat“ > 0 ونتيجة وقت اللعبة ناقص المتغير المخصص ”LastUpDateTime“ أكبر من 1000، فاضبط المتغير المخصص ”LastUpDateTime“ على وقت اللعبة
  2. قم بفهرسة عنصر ’Player‘ داخل حاوية البيانات ”ListOfTreat“. إذا كانت الصحة الحالية للاعب < صحتهم القصوى، فقم بزيادة صحة ذلك اللاعب بمقدار 15
17
  • عندما يتلقى اللاعب علاجًا، نرغب أيضًا في تقديم ملاحظات مرئية من خلال تأثيرات خاصة للإشارة إلى أن الوظيفة نشطة. يتم تضمين هذه الوظيفة في الوظيفة التالية؛ وفيما يلي تنفيذ البرنامج النصي المحدد:

المنطقة 2-2

وظيفة ”CreateEffects“

  1. أضف اللاعب إلى القائمة ”ListOfTreat“
  2. قم بإنشاء تأثير تيار هوائي تصاعدي على اللاعب، مع تعيين نوع الحلقة على ”Loop“ (حلقة)، وتعيين ”Play Immediately“ (تشغيل فوري) على ”True“ (صحيح)، وإرجاع ”SpecialEffect“ (تأثير خاص)
  3. أدخل ”SpecialEffect“ (تأثير خاص) في قائمة ”SpecialEffect“ (تأثير خاص) في الفهرس المطابق لأول ظهور له على اللاعب
  4. قم بإنشاء ”Tween“ (توين) لـ ’SpecialEffect‘ (تأثير خاص) ليتبع هدف اللاعب، بدون إزاحة على المحاور XYZ، وبدون نظام إحداثيات مرجعي، وقم بتعيينه على ”Play Immediately“ (تشغيل فوري)، وإرجاع ”Tween“ (توين)
  5. اضبط لون تأثير ”SpecialEffect“ على اللون الأخضر
  6. اضبط مقياس تأثير ”SpecialEffect“ على 0.5x على طول جميع المحاور XYZ
  7. أدخل ’Tween‘ في قائمة ”Tween“ في الفهرس المطابق لأول ظهور له على المشغل
18
  • يحدد هذا القسم بشكل أساسي المتغيرات لتحديد توقيت تنفيذ الأحداث، ويتعامل مع آليات دخول/خروج اللاعبين، ويستدعي الوظائف في اللحظات المناسبة. فيما يلي تنفيذ البرنامج النصي المحدد:

المنطقة 2-1

  1. في بداية المرحلة، اضبط المتغير المخصص ”LastUpdateTime“ على وقت اللعبة
  2. عندما يدخل شخصية اللاعب هذا المشغل المخصص، استدعِ وظيفة ’CreateEffects‘
  3. عندما تغادر شخصية اللاعب هذا المشغل المخصص، قم بتدمير وحذف القيم المستهدفة دفعة واحدة (تتطلب بعض الأهداف الفهرسة عبر قائمة)
  4. عند التحديث، استدعِ وظيفة ”UpdateTreat“
19

الملحق: المتغيرات والوظائف المخصصة المطلوبة لهذا البرنامج النصي. يمكنك عرضها وإدارتها بالنقر فوق المتغيرات والوظائف.

20 21

مناطق الضرر

”22“
  1. عند الدخول، تتعرض شخصيات اللاعبين لخسارة مستمرة في الصحة بمعدل 15 نقطة صحة في الثانية

نظرة عامة:

23
  • يتم تضمين الوظيفة الأساسية لهذه الآلية - إحداث ضرر للاعبين (تقليل صحتهم) - في الوظيفة التالية، التي يتم تنفيذها لكل لاعب مؤهل يدخل المنطقة. يتم تنفيذ البرنامج النصي المحدد على النحو التالي:

المنطقة 3-2

وظيفة ”UpdateInjure“

  1. إذا كان طول ”ListOfInjure“ > 0
  2. إذا كانت نتيجة وقت اللعبة مطروحًا منها المتغير المخصص ”LastUpdateTime“ تزيد عن 1000، فاضبط المتغير المخصص ”LastUpdateTime“ بحيث يساوي وقت اللعبة، ثم قم بفهرسة العنصر ’Player‘ داخل حاوية البيانات ”ListOfInjure“
  3. إذا كانت الصحة الحالية للاعب ≠ 0، فقم بإلحاق 15 ضررًا بهذا اللاعب
24
  • يحدد هذا القسم بشكل أساسي المتغيرات لتحديد توقيت تنفيذ الحدث، ويتعامل مع دخول/خروج اللاعبين من الآلية، ويستدعي الوظائف حسب الحاجة. فيما يلي تنفيذ البرنامج النصي المحدد:

المنطقة 3-1

  1. عند بدء المرحلة، اضبط المتغير المخصص ”LastUpdateTime“ على وقت اللعبة الحالي
  2. عندما يدخل/يخرج شخصية اللاعب من هذا المشغل المخصص، أضف/أزل اللاعب من ’ListOfInjure‘
  3. عند التحديث، استدع وظيفة ”UpdateInjure“
26

الملحق: المتغيرات والوظائف المخصصة المطلوبة لهذا البرنامج النصي. يمكنك عرضها وإدارتها بالنقر فوق المتغيرات والوظائف

27 28

منطقة توليد الوحوش

29
  1. تولد زومبي واحد بالقرب من هذه المنطقة عندما يدخل شخصية اللاعب
  • يمكن تشغيل الوظيفة الأساسية لهذه الآلية - توليد الزومبي - بواسطة كل لاعب يدخلها، مصحوبة بمؤثرات صوتية مناسبة. فيما يلي تنفيذ البرنامج النصي المحدد:
  1. عندما يدخل شخصية اللاعب هذا المشغل المخصص، قم بإنشاء زومبي عند الإحداثيات: XYZ = (إحداثيات X للاعب - 2، إحداثيات Y للاعب، إحداثيات Z للاعب - 2). يجب أن يكون الزومبي من النوع العادي، مع ضبط الهدف التلقائي على صحيح، ونوع السلوك السلبي، وعدم تعيين مسار.
  2. قم بإنشاء مؤثر صوتي تنبيهي غير مستهدف مع نوع حلقة ”مرة واحدة“ و”تشغيل فوري“ مضبوط على صحيح.
”30“

منطقة الفخ

31 32
  1. عند دخول شخصية اللاعب، سيسقط القفص الفخ فوق رأسه، مما يحصر اللاعب داخل تلك المنطقة
  2. بعد سقوط القفص الفخ، سيظهر عد تنازلي مدته 10 ثوانٍ، وسيتم استعادة الفخ عند انتهاء العد التنازلي

نظرة عامة:

33
  • الوظيفة الأساسية لهذه الآلية - إسقاط قفص الفخ واحتجاز اللاعبين - موجزة في الوظيفة التالية، التي يتم تنفيذها لكل لاعب مؤهل يدخل الآلية
  • في الوقت نفسه، يتم تضمين تهيئة الآلية كوظيفة، تشمل تجميعًا موحدًا لكائنات فخ المشهد وإخفاء نص العد التنازلي مسبقًا. فيما يلي تنفيذ البرنامج النصي المحدد:

المنطقة 4-2

وظيفة ”TrapFalls“

  1. إذا كانت ”TrapState“ صحيحة، انقل كائن المستوى ”Trap“ (العنصر ”Trap“ داخل حاوية بيانات الفهرس ”Trap“) إلى الإحداثيات XYZ = (إحداثيات X ”Trap“، إحداثيات Y ’Trap‘ - 2، إحداثيات Z ”Trap“)
  2. اضبط ”TrapState“ على false

وظيفة ”Initialisation“

  1. أضف ”Iron Fence1-4“ إلى ’Trap‘
  2. اضبط المتغير المخصص ”TrapTime“ على true
  3. إنشاء كائن نصي عند الإحداثيات XYZ = (إحداثيات X لكائن المشهد ”Block“، إحداثيات Y لكائن المشهد ”Block“ + 3، إحداثيات Z لكائن المشهد ’Block‘)، إرجاع ”Text“
  4. اضبط المتغير المخصص ”Time“ على ”Text“
  5. اضبط موضع ”Text“ على الإحداثيات: XYZ = (إحداثيات X لكيان المشهد ”Block“، إحداثيات Y لكيان المشهد ”Block“ + 3، إحداثيات Z لكيان المشهد ”Block“)
  6. اضبط محتوى ”Text“ على السلسلة ’10‘
  7. اضبط عامل مقياس ”Text“ على 0 في جميع اتجاهات XYZ
34
  • عند نشر الفخ، اعرض عد تنازلي مدته 10 ثوانٍ للاعب. بعد انتهاء العد التنازلي، اسحب الفخ وأخفِ نص العد التنازلي. هذه الوظيفة مغلفة جزئيًا في الوظيفة التالية؛ وتطبيق البرنامج النصي المحدد هو كما يلي:

المنطقة 4-3

وظيفة ”UpdateInjure“

  1. إذا كان ”TrapState“ خاطئًا، وكانت نتيجة وقت اللعبة مطروحًا منها المتغير المخصص ”LastUpDateTime“ تزيد عن 1000، فاضبط المتغير المخصص ”LastUpDateTime“ بحيث يساوي وقت اللعبة. حوّل السلسلة ’Time‘ إلى عدد صحيح وأعد " Result”، قم بتعيين محتوى “Time” إلى “Result”-1
  2. إذا كان محتوى “Time” هو 0، فقم بتعيين عامل القياس لـ “Text” إلى 0 في جميع اتجاهات XYZ، وقم بتعيين محتوى “Text” إلى السلسلة “10”، واستدعاء الدالة ’TrapRecovery‘، وقم بتعيين “TrapState" إلى صحيح
35

المنطقة 4-4

  1. إذا كان ”TrapState“ false، فقم بفهرسة العنصر ”Each“ في حاوية البيانات ”Trap“، مع نقل كائن المستوى ”Each“ إلى الإحداثيات XYZ = (إحداثي X ”Each“، إحداثي Y ”Each“ + 2، إحداثي Z ’Each‘)
  2. اضبط عامل القياس ”Time“ على 2 في جميع اتجاهات XYZ
36
  • يحدد هذا القسم بشكل أساسي توقيت استدعاء كل وظيفة؛ وفيما يلي تنفيذ البرنامج النصي المحدد:

المنطقة 4-1

  1. عند بدء اللعبة، استدعِ وظيفة ”التهيئة“
  2. عندما يدخل شخصية اللاعب هذا المشغل المخصص، انتظر 0.3 ثانية قبل استدعاء وظيفتي ”TrapFalls“ و ”CountDown“
  3. أثناء التحديثات، استدعِ وظيفة ’UpdateInjure‘
37

الملحق: المتغيرات والوظائف المخصصة المطلوبة لهذا البرنامج النصي. يمكنك عرضها وإدارتها بالنقر فوق المتغيرات والوظائف على التوالي.

38 39

### منطقة الإرسال

40 41
  1. عرض عد تنازلي لمدة 3 ثوانٍ عند دخول شخصية اللاعب، مع تشغيل تأثير النقل الفوري على الشخصية في نفس الوقت
  2. عند انتهاء العد التنازلي، يتم نقل الشخصية إلى الموقع المحدد

نظرة عامة:

42
  • يتم تضمين الوظيفة الأساسية لهذه الآلية - نقل اللاعبين الداخلة إلى الموقع المحدد بعد 3 ثوانٍ - في الوظيفة التالية، والتي يمكن تنفيذها لكل لاعب مؤهل يدخل الآلية. فيما يلي تنفيذ البرنامج النصي المحدد:

المنطقة 5-2

وظيفة ”MyUpdate“

  1. استرداد عنصر ”Player“ من حاوية بيانات الفهرس ”PlayerList“
  2. تعيين المتغير المؤقت ”State“ إلى قيمة ’index‘ من ”PlayerStateList“
  3. إذا كان ”state“ = 1، فاضبط المتغير المؤقت ”enter_tick“ على ”index“ من ”EnterTickList“، واضبط المتغير المؤقت ”stay_tick“ على وقت اللعبة ناقص ”enter_tick“، واضبط المتغير المؤقت ’countdown‘ على القيمة (3000 - ”stay_tick“) * 0.001 مقربة لأعلى
  4. إذا كان ”countdown“ > 0، فاضبط محتوى ”index“ في ”TextEntityList“ على السلسلة ”countdown“. خلاف ذلك، اضبط المتغير المؤقت ”target_pos“ على موضع كائن المشهد ”TeleportTar“، ثم انقل اللاعب إلى الإحداثيات XYZ = (إحداثي X ”target_pos“، إحداثي Y ’target_pos‘ + 2، إحداثي Z ”target_pos“) ، قم بالتدوير بزوايا أويلر XYZ = (0، 0، 0)
43
  • عندما يكون اللاعب على وشك الانتقال الفوري، نرغب أيضًا في تنبيهه بصريًا عبر تأثيرات خاصة بأن الوظيفة نشطة، مع عرض عد تنازلي للانتقال الفوري مدته 3 ثوانٍ. هذه الوظيفة موجودة في الوظيفة التالية؛ فيما يلي تنفيذ البرنامج النصي المحدد:

المنطقة 5-3

وظيفة ”InitPlayerData“

  1. أضف اللاعب إلى ”PlayerList“، وأضف 0 إلى ”PlayerStateList“، وأضف 0 إلى ”EnterTickList“
  2. أنشئ كائن نصي عند الإحداثيات XYZ = (0، 0، 0)، وأعد ’TextEntity‘
  3. أنشئ ”TextEntity“ لتتبع اللاعب، مع إزاحة من نظام الإحداثيات الخاص به بمقدار XYZ = (0، 1.5، 0) وقم بالتشغيل على الفور
  4. أضف ”TextEntity“ إلى ”TextEntityList“
  5. أنشئ تأثيرًا بصريًا لشرارة على اللاعب، واضبط نوع التكرار على التكرار، واضبط التشغيل على الفور على صحيح، وأعد ”VisualEffectEnti“
  6. اضبط لون التأثير البصري ’VisualEffectEnti‘ على الأزرق
  7. أنشئ " VisualEffectEnti” ليتبع هدف اللاعب، بدون إزاحة على طول المحاور XYZ بالنسبة لنظام الإحداثيات الخاص بهم، وقم بالتشغيل على الفور.
  8. أضف ’VisualEffectEnti‘ إلى “VisualEffectList"
44

المنطقة 5-4

وظيفة ”ReadyToTeleport“

  1. اضبط ”مؤشر“ ”PlayerStateList“ على 1
  2. اضبط ”مؤشر“ ”EnterTickList“ على وقت اللعبة
  3. اضبط محتوى ”TextEntityList“ في ”مؤشر“ على فارغ
  4. اضبط عامل القياس لـ ’TextEntityList‘ في ”مؤشر“ على 1 في جميع اتجاهات المحاور XYZ
  5. اضبط عامل القياس لـ ”index“ في ”VisualEffectList“ على 1 في جميع اتجاهات XYZ
45
  • عند إلغاء نقل اللاعب، يتم تنفيذ الإجراءات التالية: إخفاء نص العد التنازلي وتأثيرات النقل. يتم تضمين هذه الوظيفة في الدالة التالية؛ ويتم تنفيذ البرنامج النصي المحدد على النحو التالي:

المنطقة 5-5

وظيفة ”AbortTeleport“

  1. ضبط ”مؤشر“ ”PlayerStateList“ على 0
  2. ضبط عامل القياس لـ ”مؤشر“ في ”TextEntityList“ على 0 في جميع اتجاهات XYZ
  3. ضبط عامل القياس لـ ’مؤشر‘ في ”VisualEffectList“ على 0 في جميع اتجاهات XYZ
46
  • يحدد هذا القسم بشكل أساسي توقيت استدعاء الوظيفة؛ ويلي ذلك تنفيذ البرنامج النصي المحدد:

المنطقة 5-1

  1. ابدأ تنفيذ الحلقة: انتظر 0.2 ثانية، ثم استدعِ وظيفة ”MyUpdate“
  2. عندما يدخل شخصية اللاعب هذا المشغل المخصص، اضبط المتغير المؤقت ”index“ على الموضع الذي يظهر فيه ”Player“ لأول مرة في ”PlayerList“. إذا كان index=-1، فاستدع وظيفة ”InitPlayerData“؛ استدع وظيفة ’ReadyToTeleport‘
  3. عندما تغادر شخصية اللاعب هذا المشغل المخصص، استدع وظيفة ”AbortTeleport“
47

الملحق: المتغيرات والوظائف المخصصة المطلوبة لهذا البرنامج النصي. يمكنك عرضها وإدارتها بالنقر فوق المتغيرات والوظائف

48 49

منطقة عرض النص

50
  1. عرض نص ”HelloWorld“ عند دخول شخصية اللاعب
  2. إخفاء نص ’HelloWorld‘ عند مغادرة شخصية اللاعب
  • يتم تضمين الوظيفة الأساسية لهذه الآلية - عرض وإخفاء نص ”HelloWorld“ في الأوقات المناسبة - في الوظيفة التالية
  • يحدد هذا المحتوى أيضًا توقيت استدعاء الوظيفة المذكورة أعلاه؛ ويتم تنفيذ البرنامج النصي المحدد على النحو التالي:
  1. عندما يدخل/يخرج شخصية اللاعب من هذا المشغل المخصص، قم بإلحاق/إزالة ”Player“ من قائمة ”ListOfPlayer“
  2. في موضع كيان المشهد ”CueArea“ (المسجل كموقع)، استدعِ وظيفة ”CreateTips“/استدعِ وظيفة ’DeleteTips‘

وظيفة ”CreateTips“

  1. قم بإنشاء كائن نصي عند إحداثيات الموضع XYZ = (إحداثي ”Location“ X، إحداثي ”Location“ Y + 2، إحداثي ”Location“ Z)، مع إرجاع ”Tips“
  2. قم بتعيين المتغير المخصص ’Tips‘ = ”Tips“
  3. قم بتعيين محتوى ”Tips“ إلى ”Hello World“

وظيفة ”DeleteTips“

إذا كان طول ’PlayerList‘ ≤ 0، فقم بإتلاف ”Tips“

51

الملحق: المتغيرات والوظائف المخصصة المطلوبة لهذا البرنامج النصي. يمكنك عرضها وإدارتها بالنقر فوق المتغيرات والوظائف
52 53

منطقة تغيير الملابس

54
  1. عند الدخول، يتغير مظهر شخصية اللاعب وفقًا لجنسه
  • يمكن تشغيل الوظيفة الأساسية لهذه الآلية - تغيير ملابس اللاعبين إلى ملابس مناسبة لجنسهم - من قبل كل لاعب يدخلها؛ ويتم تنفيذ البرنامج النصي المحدد على النحو التالي:

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

  1. عند بدء اللعبة، أضف الملابس التالية إلى ”خزانة ملابس النساء“ و" Men’sWardrobe”
  2. عند دخول شخصية إلى هذا المشغل المخصص، إذا كان جنسها 2، قم بخلط “Men’sWardrobe” وقم بتعيين ملابسها إلى المجموعة الموجودة في الفهرس 0 من “Men’sWardrobe”
  3. خلاف ذلك، قم بخلط “Women’sWardrobe” وقم بتعيين ملابسها إلى المجموعة الموجودة في الفهرس 0 من “Women’sWardrobe"
55

الملحق: المتغيرات المخصصة المطلوبة لهذا البرنامج النصي. يمكنك عرضها وإدارتها بالنقر فوق المتغيرات

56

رفع

57
  1. عندما يدخل شخصية اللاعب المصعد، سيرتفع تدريجياً حتى يصل إلى الارتفاع الأقصى المحدد
  2. عندما يخرج شخصية اللاعب من المصعد، سينزل تدريجياً حتى يعود إلى موضعه الأولي

نظرة عامة:

58
  • يتم تضمين الوظيفة الأساسية لهذا الآلية - وهي جعل كائن المصعد يصعد عند دخول اللاعب وينزل عند خروجه - في الوظيفة التالية، التي يتم تنفيذها لكل لاعب مؤهل يدخل الآلية. فيما يلي تنفيذ البرنامج النصي المحدد:

المنطقة 6-2، 6-3

وظيفة ”CreateAnElevator“

  1. اضبط المتغير المخصص ’ElevatorsLocation‘ على موضع ”Elevator“
  2. قم بتنفيذ الحلقة عند استيفاء الشرط: طول PlayerList > 0. انتظر 0.5 ثانية، واضبط الإحداثي Y لـ ElevatorsLocation على القيمة الحالية + 0.2، وقم بتحديث المتغير المخصص ElevatorsLocation، واضبط موضع Elevator على ElevatorsLocation، واضبط موضع هذا المشغل المخصص على ElevatorsLocation
  3. استمر في التكرار حتى يصبح طول ”PlayerList“ ≤ 0 أو المتغير المخصص ”Mark“ ≥ 20، وإلا قم بزيادة ’Mark‘ بمقدار 1

وظيفة ”DescendElevator“

  1. تم استيفاء الشرط: تنفيذ الحلقة عندما يكون طول ”قائمة اللاعبين“ = 0: انتظر 0.5 ثانية، واضبط المتغير المؤقت ”الوقت“ على موضع ”المصعد“، واضبط الإحداثي Y لـ ”الوقت“ على القيمة الحالية - 0.2، وقم بتحديث المتغير المخصص ”الوقت“، واضبط موضع ”المصعد“ على ”الوقت“، واضبط موضع هذا المشغل المخصص على ’الوقت‘
  2. حتى ”قائمة اللاعبين“ > 0 أو إحداثيات Y لـ ”Time“ ≤ 2.8، وإلا استمر في التكرار وقم بتعيين قيمة ”Mark“ على القيمة الحالية ناقص 1
”59“ 60
  • يحدد هذا القسم بشكل أساسي توقيت استدعاءات الوظائف ويحدد المتغيرات لتعيين القيم لكائنات المشهد. فيما يلي تنفيذ البرنامج النصي المحدد:

المنطقة 6-1

  1. عندما يدخل شخصية اللاعب هذا المشغل المخصص، أضف اللاعب إلى ”ListOfInjure“ واستدعِ وظيفة ”CreateAnElevator“
  2. عندما تغادر شخصية اللاعب هذا المشغل المخصص، أزل اللاعب من ’ListOfInjure‘. إذا كان طول " PlayerList” ≤ 0، استدعِ وظيفة “DescendElevator”
  3. عند بدء اللعبة، اضبط المتغير المخصص ’Elevator‘ على كائن المشهد “High-Tech Platform A1"
61

الملحق: المتغيرات والوظائف المخصصة المطلوبة لهذا البرنامج النصي. يمكنك عرضها وإدارتها بالنقر فوق المتغيرات والوظائف.

62 63

الأبواب الأوتوماتيكية

64
  1. عندما يقترب شخصية اللاعب من الباب (يدخل نطاق المشغل المخصص)، سيتم فتح الباب تلقائيًا
  2. عندما يبتعد الشخصية عن الباب مرة أخرى (يخرج من نطاق المشغل المخصص)، سيغلق الباب تلقائيًا

نظرة عامة:

65
  • الوظيفة الأساسية لهذه الآلية - فتح الباب عند اقتراب اللاعب وإغلاقه عند مغادرته - موجزة في الوظيفة التالية، التي يتم تنفيذها لكل لاعب مؤهل يدخل الآلية. فيما يلي تنفيذ البرنامج النصي المحدد:

المناطق 7-3 و 7-4

وظيفة ”OpenTheDoor“

إذا كان طول ”PlayerList“ ≥ 0، يتم استيفاء الشرط: ابدأ تنفيذ الحلقة عندما يكون ”Mark“ ≤ 5 حتى يصبح طول ’PlayerList‘ = 0 أو ”Mark“ > 5؛ وإلا، استمر في الحلقة:

  1. انتظر 0.5 ثانية
  2. اضبط إحداثيات موضع ”المنصة اليابانية A1“ XYZ = (إحداثي X ”المنصة اليابانية A1“ + 0.2، إحداثي Y ”المنصة اليابانية A1“، إحداثي Z ”المنصة اليابانية A1“)
  3. اضبط إحداثيات الموقع XYZ لـ ”المنصة اليابانية A1(1)“ على: (إحداثيات X لـ ”المنصة اليابانية A1(1)“ - 0.2، إحداثيات Y لـ ”المنصة اليابانية A1(1)“، إحداثيات Z لـ ”المنصة اليابانية A1(1)“)
  4. قم بزيادة قيمة ”Mark“ بمقدار 1

وظيفة ”CloseTheDoor“

إذا كان طول ”قائمة اللاعبين“ يساوي 0، فقم بتنفيذ الحلقة عندما يكون ”العلامة“ ≥ 0 حتى يكون طول ”قائمة اللاعبين“ > 0 أو ’العلامة‘ = 0؛ وإلا، فاستمر في الحلقة:

  1. انتظر 0.5 ثانية
  2. اضبط قيمة ”العلامة“ لتكون أقل بـ 1 من قيمتها الحالية
  3. اضبط إحداثيات الموضع XYZ لـ ”المنصة اليابانية A1“ على: (إحداثي X للمنصة اليابانية A1 - 0.2، إحداثي Y للمنصة اليابانية A1، إحداثي Z للمنصة اليابانية A1)
  4. اضبط إحداثيات الموقع XYZ لـ ”المنصة اليابانية A1(1)“ على: XY = (إحداثي X لـ ”المنصة اليابانية A1(1)“ + 0.2)، Y = (إحداثي Y لـ ”المنصة اليابانية A1(1)“)، Z = (إحداثي Z لـ ”المنصة اليابانية A1(1)“) إحداثيات Z ”المنصة اليابانية A1(1)“
66 67
  • يتضمن هذا القسم بشكل أساسي تعريف المتغيرات لتحديد توقيت تنفيذ الأحداث، ومعالجة آليات دخول/خروج اللاعبين، واستدعاء الوظائف في اللحظات المناسبة. فيما يلي تنفيذ البرنامج النصي المحدد:

المنطقة 7-1، 7-2

  1. عند بدء اللعبة، قم بتعيين المتغير المخصص ”Mark“ على 0
  2. عندما يدخل/يخرج شخصية اللاعب من هذا المشغل المخصص، انتظر حتى الإطار التالي، أضف/أزل اللاعب من ”PlayerList“، انتظر حتى الإطار التالي، ثم استدع وظيفة ’OpenTheDoor‘/”CloseTheDoor“
68 69

الملحق: المتغيرات والوظائف المخصصة المطلوبة لهذا البرنامج النصي. يمكنك عرضها وإدارتها بالنقر فوق المتغيرات والوظائف

70 71

بوتون جيت

72 73
  1. عندما يقترب شخصية اللاعب من الباب (يدخل نطاق المشغل)، ستعرض واجهة المستخدم زرًا XX . يؤدي النقر على هذا الزر إلى فتح الباب؛ أما النقر عليه مرة أخرى فيؤدي إلى إغلاق الباب
    . عندما يبتعد الشخصية عن الباب (يخرج من نطاق المشغل)، يختفي زر واجهة المستخدم XX، بينما يظل الباب في حالته الحالية مفتوحًا/مغلقًا.
  • الوظيفة الأساسية لهذه الآلية - فتح الباب عند ضغط اللاعب على الزر وإغلاقه عند الضغط عليه مرة أخرى - موجودة في الوظيفة التالية، والتي يمكن تنفيذها لكل لاعب مؤهل يدخل الآلية:
  • يشمل ذلك أيضًا معالجة دخول/خروج اللاعبين من الآلية واستدعاء الوظيفة في الوقت المناسب. فيما يلي تنفيذ البرنامج النصي المحدد:
  1. عند دخول لاعب إلى هذا المشغل المخصص، اضبط خاصية الرؤية لواجهة المستخدم المخصصة ”HudList“ على true

  2. عندما ينضم لاعب إلى اللعبة، استدعِ وظيفة ’CreateHUD‘

  3. وظيفة ”CreateHUD“

تضيف اللاعب إلى ”PlayerList“

تنشئ ’زر‘ HUD مخصص للاعب XX وتعيد ”Ui“

أدخل ”Ui“ في ”HudList“ في الموضع المطابق لأول ظهور لـ ”Player“ في ’PlayerList‘

اضبط خاصية الرؤية لـ ”HudList“ (كواجهة مستخدم مخصصة) على false

  1. عندما يغادر اللاعب هذا المشغل المخصص، اضبط خاصية الرؤية لواجهة المستخدم المخصصة ”HudList“ على false
74

الملحق: المتغيرات والوظائف المخصصة المطلوبة لهذا البرنامج النصي. يمكنك عرضها وإدارتها بالنقر فوق المتغيرات والوظائف

75 ! 76

البرنامج النصي العام

  • لتبسيط محتوى البرنامج النصي وتسهيل مراقبة حالات الآليات المتعددة عبر متغير واحد (على سبيل المثال، مدة تشغيل مصعد الآلية ⑧ أو حالة فتح/إغلاق زر الباب الآلية ⑩)، نحتاج إلى متغير عام (مسجل باسم Mark)

عند بدء اللعبة، اضبط المتغير المخصص ”Mark“ على 0

77

ملاحظة: يمكن عرض المتغيرات المخصصة المطلوبة لهذا البرنامج النصي وإدارتها بالنقر فوق المتغيرات

78

برنامج نصي للاعب

  • لضمان تمتع اللاعبين بتجربة لعب سلسة، يجب السماح لهم بالعودة إلى الحياة بعد الموت. فيما يلي تنفيذ البرنامج النصي المحدد:
  1. عندما ينضم لاعب إلى اللعبة، اضبط المتغير المخصص ”DamageDetermina“ على false
  2. عندما يُقتل لاعب، انتظر 3 ثوانٍ وأعده إلى الحياة في الإطار التالي
79

الملحق: المتغيرات المخصصة المطلوبة لهذا البرنامج النصي. يمكنك عرضها وإدارتها بالنقر فوق المتغيرات

80

برنامج HUD

نظرة عامة:

81
  • نظرًا لأن النقر على الزر من قبل اللاعبين سيؤدي إلى سلوكيات مختلفة بناءً على الحالة الحالية للباب، فمن الضروري هنا تقييم خصائص الكيان وقيمة المتغير المخصص Mark، ثم استدعاء الوظيفة المقابلة. فيما يلي تنفيذ البرنامج النصي المحدد:

المنطقة 1-1

  1. عند النقر على الزر!XX ، إذا كان موضع المحور X للكيان ”Frozen Steel Panel A1“ ≥2 والمتغير المخصص ”Mark“ ≠ 1، فاستدعِ وظيفة ’CloseTheDoor‘
  2. خلاف ذلك، استدعِ وظيفة ”OpenTheDoor“
82
  • الوظيفة الأساسية للآلية ⑩Button Door—فتح/إغلاق الباب وتثبيته—موجودة في الوظيفة التالية، والتي يمكن تنفيذها لكل لاعب مؤهل يدخل هذه الآلية. فيما يلي تنفيذ البرنامج النصي المحدد:

المناطق 1-2، 1-3

وظيفة ”OpenTheDoor“

  1. إذا كانت المتغير المخصص ”Mark“ = 0، فاضبط ”Mark“ = 1
  2. ابدأ الحلقة: انتظر 0.5 ثانية، وحرك الكائن 0.2 وحدة على طول المحور X. استمر حتى يصبح إحداثي X للكائن ≥ 2، ثم اضبط ’Mark‘ = 2 واقطع الحلقة

وظيفة ”CloseTheDoor“

  1. إذا كانت المتغير المخصص ”Mark“ = 2، فاضبط ’Mark‘ = 1
  2. ابدأ الحلقة: انتظر 0.5 ثانية، وحرك الكائن على طول المحور X بمقدار -0.2 حتى يصبح موضعه على المحور X ≤ 1، واضبط ”Mark“ = 0 واقطع الحلقة
83 84

الملحق: الوظائف المخصصة المطلوبة لهذا البرنامج النصي. يمكنك عرضها وإدارتها بالنقر فوق الوظائف

85

برنامج نقطة إعادة الظهور

  • بمجرد دخول اللاعبين إلى اللعبة وبدء تجربة اللعب الأساسي، تصبح نقطة إعادة الظهور مكونًا غير وظيفي قد يعطل نشاط اللاعبين. لذلك، يجب تعيينها إلى حالة غير نشطة.
  1. عند بدء الجولة، اضبط حالة نشاط هذا الكيان على صحيح
  2. انتظر لمدة ثانيتين
  3. اضبط حالة نشاط هذا الكيان على خطأ
86

توصيات التحرير الثانوية

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