مجموعة الأسلحة

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

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

لاستخدام سلاح معتمد في تجربتك:

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

  2. في الاستوديو، افتح صندوق الأدوات.

  3. حدد قسم المخزون في صندوق الأدوات الخاص بك.

  4. ابحث عن السلاح وانقر عليه لإضافته إلى المكان. عند السؤال عما إذا كنت تريد وضع الأداة في حزمة البداية، انقر نعم إذا كنت تريد أن يبدأ اللاعبون بالسلاح في حقيبتهم، أو انقر لا لوضع السلاح فقط في العالم ثلاثي الأبعاد كمكافأة.

  5. إذا كانت هذه هي المرة الأولى التي تدخل فيها سلاحًا معتمدًا، انقل مجلد WeaponsSystem إلى ServerScriptService ليتم استخدامه كمجلد نظام موحد لجميع الأسلحة المعتمدة في التجربة.

هيكل المجلد لنظام الأسلحة

مجلد WeaponsSystem هو مجلد موحد يحتوي على الأصول، والإعدادات، والبرامج النصية التي تمكّن جميع الأسلحة المعتمدة في التجربة. إذا وُجد في ServerScriptService، فإنه يتجاوز أي مجلدات WeaponsSystem المكافئة التي قد تكون موجودة ضمن أسلحة فردية.

يحتوي مجلد WeaponsSystem على العناصر التالية:

داخل مجلد WeaponsSystem، يتم التحكم في جوانب مختلفة بواسطة ModuleScripts التالية:

الجانبيتم التعامل معه بشكل رئيسي ضمن...
وظيفية الأسلحة
  • المكتبات/BaseWeapon
  • WeaponTypes/BulletWeapon
  • WeaponTypes/BowWeapon
الكاميرا فوق الكتف
  • المكتبات/ShoulderCamera
واجهة الأسلحة
  • المكتبات/WeaponsGui
  • المكتبات/DirectionalIndicatorGuiManager
  • المكتبات/DamageBillboardHandler

هيكل السلاح

الأسلحة المعتمدة هي Tools وتسمى كما ستظهر في حقيبة اللاعب. كل سلاح هيكلته تتبع تسلسل هرمي مشابه.

نوع السلاح

تتوافق خاصية WeaponType StringValue مع ModuleScript للسلاح في مجلد WeaponsSystem/WeaponTypes. القيمة الأساسية هما BulletWeapon و BowWeapon.

نموذج السلاح

يحتوي كل سلاح على Model يتكون من جزء أو أكثر من BaseParts لتشكيل السلاح المادي. يجب تعيين واحد من هؤلاء كـ PrimaryPart للنموذج.

يتضمن النموذج أيضًا النسخ المهمة التالية التي قد يتم توصيلها بواحد من BaseParts للنموذج:

  • TipAttachmentAttachment تحدد موضعها في BasePart الأبوين مكان خروج الرصاص/المقذوفات.
  • HandleAttachmentAttachment تحدد موضعها على BasePart الأبوين مكان تثبيت مقبض.
  • Fired
    اختياري
    Sound التي تُشغل عند إطلاق السلاح.
  • Reload
    اختياري
    Sound التي تُشغل عند إعادة تعبئة السلاح.
  • نسخ إضافية لأي خيارات متخصصة.

مقبض السلاح

تحدد قطعة Handle مكان حمل الشخصية للاعب للسلاح. يجب أن تكون Part، ويجب أن تُسمى مقبض، ويجب أن تكون طفلاً مباشراً للسلاح (الأداة).

مجلد التكوين

يحتوي مجلد التكوين على أنواع "القيمة" المحددة لسلوك السلاح. بجانب القيم الافتراضية، يمكنك إضافة عناصر تكوين إضافية لـ خيارات متخصصة عند الاقتضاء.

وفيما يلي الإعدادات الأساسية والقيم الافتراضية لها:

العنصرالوصفالافتراضي
سعة الذخيرةعدد الطلقات في كل "مخزن ذخيرة" قبل أن يتعين على اللاعب إعادة التحميل. لاحظ أن الذخيرة غير محدودة وهذا لا يحدد مقدار الذخيرة التي يحملها اللاعب.30
وضع الناراختر من إما نصف آلي (طلقة واحدة لكل نقرة/لمسة)، أوتوماتيكي (نيران مستمرة)، أو شرط تخزين (دفعة من الطلقات تساوي NumBurstShots في كل نقرة/لمسة).نصف آلي
فترة تبريد الطلقةأدنى وقت انتظار بين النقرات. بالنسبة للأسلحة مع وضع النار الأوتوماتيكي، فهذا هو أيضًا الوقت بين الطلقات أثناء الضغط على زر النار أو الضغط باستمرار.0.1
فترة تبريد الطلقات المتعددةالوقت بين كل طلقة في دفعة؛ يهم فقط إذا قمت بتعيين وضع النار إلى شرط تخزين.قيمة فترة تبريد الطلقة
عدد الطلقات لكل دفعةعدد الطلقات في كل نقرة/دفعة؛ يهم فقط إذا قمت بتعيين وضع النار إلى شرط تخزين.3
ضرر الضربمقدار الضرر الذي تسببه كل ضربة مباشرة.10
أقصى مسافة للضرر الكاملأقصى مسافة ستسبب الطلقات فيها ضررًا كاملًا. أي شيء يتم ضربه خارج هذه المسافة سيتلقى ضررًا أقل وأقل كلما اقتربت المسافة من أقصى مسافة للضرر الصفري.1000
أقصى مسافة للضرر الصفريأي شيء يتم ضربه عند أو بعد هذه المسافة لن يتلقى أي ضرر.10000
سرعة الرصاصالسرعة التي تسير بها الرصاص/المقذوفات عند الإطلاق. تعيين هذا لقيمة مرتفعة جدًا مثل 20000 يحاكي أسلحة التصوير بالرأس مثل البنادق الليزر.1000
أقصى مسافةأقصى مسافة تسير بها الرصاص/المقذوفات قبل الاختفاء.2000
أقل تباعدأقل مقدار للتباعد للسلاح.0
أقصى تباعدأقصى مقدار للتباعد للسلاح.قيمة أقل تباعد
عامل الجاذبيةمقدار تأثير الجاذبية على كل رصاصة/مقذوف. على سبيل المثال، هذه القيمة بالنسبة لـ القوس والنشاب هي 1 لأن السهام تنحني أثناء الطيران، ولكن هذه القيمة بالنسبة لـ قاذف الصواريخ هي 0 لأن الصواريخ المدفوعة تسير بشكل مستقيم.0
يحتوي على منظارحدد الخيار صحيح إذا كنت تريد استخدام المنظار المشار إليه في واجهة نظام الأسلحة.false
رسوم إعادة التحميلاسم المسار المتحرك لإعادة التحميل في Assets/Animations من مجلد النظام.ReloadRifle
تتبع الهدفاسم المسار المتحرك للتتبع الهدف في Assets/Animations من مجلد النظام.AimRifle
تتبع تقريب الهدفاسم المسار المتحرك للتقريب أثناء التتبع في Assets/Animations من مجلد النظام.RifleAimDownSights
أقل ارتدادأقل ارتداد يضاف لكل طلقة.0.05
أقصى ارتدادأقصى ارتداد يضاف لكل طلقة.0.5
إجمالي الحد الأقصى للارتدادإجمالي الارتداد المتراكم الأقصى. لن يتجاوز الارتداد الحالي للسلاح هذه القيمة.2
تآكل الارتدادمعامل التآكل للاحتباس؛ بشكل أساسي معدل انخفاض الارتداد بعد الإطلاق.0.825
فترة تأخير الارتدادوقت الانتظار بعد الإطلاق/النقر قبل إضافة الارتداد إلى الكاميرا.0.07
وقت التشغيلمدة الوقت التي تلي تجهيز السلاح قبل أن يتمكن اللاعب من إطلاق النار. هذا يمنع اللاعبين من إطلاق طلقة واحدة من عدة أسلحة مختلفة بشكل سريع.0.2
سرعة تكرار الصوت المجهزمقدار تغير طبقة الصوت لصوت Fired للسلاح. ضع هذا على 0 لتشغيله دائمًا بنفس الطبقة.0.1
عدد المقذوفاتعدد الرصاص/المقذوفات التي ستطلق في نفس الوقت عند النقر/اللمس مرة واحدة. هذا مفيد للأسلحة مثل البندقية الهجومية التي تطلق عدة رصاصات في نفس الوقت. لاحظ أن طلقة واحدة ستستخدم دائمًا ذخيرتها بدقة بغض النظر عن هذه القيمة.1

خيارات متخصصة

يمكنك إضافة/تعديل الخيارات التالية لأي سلاح. تتطلب هذه التخصيصات تعديل إما Model للسلاح أو Configuration للسلاح أو كليهما. بعض الإعدادات تعتمد على أخرى، مثل [جزيئات الفوهة](#مادة الفوهة) التي تتطلب الأطفال الضرورية لـ تأثيرات الضرب/المقذوفات والأصوات.

الرسوم المتحركة والمونات الميكانيكية

الجزيء bolt في السلاح هو الجزء الذي يتحرك للأمام والخلف في كل مرة يتم إطلاقه.

BoltBasePart الذي يتحرك عند إطلاق السلاح.
BoltMotorMotor6D يستخدم للتصميم لدفع الجزيء. تأكد من تعيين Part0 إلى PrimaryPart ونوع Part1 إلى جزء Bolt.
BoltMotorStartAttachment تحدد موضعها في BasePart الأبوين حيث يكون الجزيء في حالة راحة.
BoltMotorTargetAttachment تحدد موضعها في BasePart الأبوين حيث يتحرك الجزيء إلى عند التصوير.
BoltOpenSoundSound الذي يتم تشغيله عندما يتم فتح الجزيء.
اختياري
BoltCloseSoundSound الذي يتم تشغيله عندما يتم إغلاق الجزيء.
اختياري
العنصرالوصفالافتراضي
ActionOpenTimeالوقت الذي يستغرقه الجزيء للانتقال إلى وضعه المفتوح.0.025
ActionCloseTimeالوقت الذي يستغرقه الجزيء للانتقال إلى وضعه المغلق.0.075

استخراج علب الرصاص

يمكن أن تتضمن الأسلحة علب رصاص مادية يتم إخراجها عند الإطلاق وتسقط على الأرض.

CasingEjectPointAttachment تحدد موضعها في BasePart الأبوين حيث تريد إخراج علب الرصاص. لاحظ أن اتجاهها يحدد الاتجاه الذي تخرج منه العلب.
العنصرالوصفالافتراضي
CasingEffectاسم الجزء BasePart المخصص في الأصول/التأثيرات/علب ضمن مجلد النظام.
CasingEjectSpeedMinأدنى سرعة لإخراج العلب15
CasingEjectSpeedMaxأقصى سرعة لإخراج العلب18
CasingHitSoundSound يتم تشغيله عند اصطدام العلب بالأرض.
اختياري

تأثيرات المقذوفات/الضرب والأصوات

يمكنك تكوين مقذوفات مادية لأي سلاح، بالإضافة إلى Sounds و Beams و ParticleEmitters لتأثيرات الضرب والتأثيرات الخاصة الأخرى.

العنصرالوصفالافتراضي
ShotEffectاسم تأثير الطلقة المخزن في الأصول/التأثيرات/Shots ضمن مجلد النظام.
ShouldMovePartحدد صحيح إذا كان يجب أن يتحرك ShotEffect للسلاح مع المقذوف أو خاطئ إذا لم يكن كذلك. يجب عليك فقط ضبط هذا على صحيح إذا كان هناك كائن مرئي يتحرك مع كل طلقة، مثل سهم أو صاروخ.false
BeamFadeTimeالوقت الذي يستغرقه Beam0 أو Beam1 (انظر بالأسفل) للاختفاء بعد ضرب المقذوف/الطلقة لشيء ما. بشكل افتراضي، لن يتم تطبيق أي تلاشي يدوي من خلال الكود.0
BeamWidth0سمك Beam0 أو Beam1 عند Attachment0 (انظر بالأسفل).1.5
BeamWidth1سمك Beam0 أو Beam1 عند Attachment1 (انظر بالأسفل).1.8
NumHitParticlesعدد الجزيئات التي ستصدرها HitParticles (انظر بالأسفل) الناشر.3
HitParticlesUsePartColorحدد صحيح إذا كنت تريد أن تكون جزيئات الضرب بلون السطح المضروب؛ خاطئ إذا كنت تريد جزيئات الضرب ألا تغير اللون.صحيح

جزيئات تأثير الطلقة

نسخ من ShotEffect المحدد التي ذُكرت في القسم السابق

FlyingSound الذي يتم تشغيله بينما تسير الرصاصة/المقذوف.
اختياري
Beam0أول فتحة لجزيء Beam خلف الرصاصة/المقذوف. لا تنسى تعيين Attachment0 و Attachment1.
اختياري
Beam1ثاني فتحة لجزيء Beam خلف الرصاصة/المقذوف. لا تنسى تعيين Attachment0 و Attachment1.
اختياري
Attachment0Attachment موضعه في BasePart الأبوين يحدد الجزء الخلفي من الجزيئات المتخلفة؛ تأكد من تعيين Beam.Attachment0 على كلا من Beam0 و Beam1 لذلك.
اختياري
Attachment1Attachment موضعه في BasePart الأبوين يحدد الجزء الأمامي من الجزيئات المتخلفة؛ تأكد من تعيين Beam.Attachment1 على كلا من Beam0 و Beam1 لذلك.
اختياري
TrailParticlesParticleEmitter الذي يتم تعيينه كطفل مباشر لـ Attachment0؛ سوف يقوم بإصدار الجزيئات أثناء تحرك الرصاصة/المقذوف.
اختياري
LeadingParticlesParticleEmitter الذي يتم تعيينه كطفل مباشر لـ Attachment1؛ سوف يقوم بإصدار الجزيئات أثناء تحرك الرصاصة/المقذوف.
اختياري
HitEffectAttachment موضعه سيحدد موقع Beam.Attachment1 لـ Beam0 عندما تضرب الرصاصة/المقذوف. يجب أن تحدد Beam0 ووصلة التجهيزات الخاصة بها لكي تعمل بشكل صحيح.
اختياري
HitSoundSound التي يتم تعيينها كطفل مباشر لـ HitEffect؛ تُشغل عندما تضرب الرصاصة/المقذوف.
اختياري
HitParticlesSound التي يتم تعيينها كطفل مباشر لـ HitEffect؛ تصدر عندما تضرب الرصاصة/المقذوف.
اختياري
[ProjectilePart]أي Part أو MeshPart تريد أن تظهر كمقذوف مادي. تأكد من تعيين ShouldMovePart الذي تم الإشارة إليه في القسم السابق إلى صحيح إذا كان لديك كائن مرئي هنا.
اختياري

جزيئات الفوهة

هذا الخيار يقوم بإصدار جزيئات من ParticleEmitter المحدد عند TipAttachment Attachment للسلاح عندما يتم إطلاقه.

نسخ الإعدادات:

  • ShotEffect (StringValue) — اسم تأثير الطلقة المخزنة في WeaponsSystem/Assets/Effects/Shots.
  • NumMuzzleParticles (IntValue) (اختياري) — عدد جزيئات الفوهة التي سيتم إصدارها؛ الافتراضي هو 50.

لبناء تأثير الطلقة المحدد، أضف أصل ParticleEmitter في WeaponsSystem/Assets/Effects/Shots باسم MuzzleParticles.

التألق من الفوهة

هذا الخيار ينشئ تأثير وميض Beam عند إطلاق السلاح.

نسخ النموذج:

  • MuzzleFlash0 (Attachment) — تستخدم لتحديد أحد جانبي وميض الفوهة. لا يهم الموضع.
  • MuzzleFlash1 (Attachment) — تستخدم لتحديد الجانب المعاكس من وميض الفوهة. لا يهم الموضع.
  • MuzzleFlash (Beam) — تأكد من تعيين Attachment0 إلى MuzzleFlash0 و Attachment1 إلى MuzzleFlash1.

نسخ الضبط:

  • MuzzleFlashTime (NumberValue) (اختياري) — مدة ظهور وميض الفوهة؛ الافتراضي هو 0.03.
  • MuzzleFlashRotation0 (NumberValue) (اختياري) — الحد الأدنى لدوران وميض الفوهة؛ الافتراضي هو -math.pi.
  • MuzzleFlashRotation1 (NumberValue) (اختياري) — الحد الأقصى لدوران وميض الفوهة؛ الافتراضي هو math.pi.
  • MuzzleFlashSize0 (NumberValue) (اختياري) — الحد الأدنى لحجم وميض الفوهة؛ الافتراضي هو 1.
  • MuzzleFlashSize1 (NumberValue) (اختياري) — الحد الأقصى لحجم وميض الفوهة؛ الافتراضي هو 1.

جزيئات الذيل

هذا الخيار ينشئ أثرًا بطول متغير من السلاح إلى نقطة تأثير المقذوف.

نسخ الضبط:

  • TrailLength (NumberValue) (اختياري) — طول الأثر خلف الرصاصة/المقذوف؛ الافتراضي هو nil مما يعني أن طول الأثر سيتم حسابه باستخدام TrailLengthFactor.
  • TrailLengthFactor (NumberValue) (اختياري) — سيتم تعيين طول الأثر إلى هذه القيمة مضروبة في المسافة التي سارت بها الرصاصة/المقذوف في الإطار الأخير؛ الافتراضي هو 1. لاحظ أن هذا سيتم تجاوزه إذا قمت بتضمين TrailLength.
  • ShowEntireTrailUntilHit (BoolValue) (اختياري) — حدد صحيح لعرض الأثر من رأس السلاح حتى حيثما يكون المقذوف؛ سيتجاوز ذلك كلا من TrailLength و TrailLengthFactor وسيتوقف الأثر فقط لغضب المقذوف. حدد خاطئ لاستخدام أحد الخيارين أعلاه لحساب طول الأثر. الافتراضي هو خاطئ.

علامات الضرب

يظهر هذا الإضافة البصرية على السطح حيث تضرب المقذوفات وهو مفيد للسهام، وثقوب الرصاص، وعلامات الحروق، وما إلى ذلك.

نسخ الضبط:

  • HitMarkEffect (StringValue) (اختياري) — اسم تأثير علامة الضرب المخزن في WeaponsSystem/Assets/Effects/HitMarks؛ الافتراضي هو BulletHole.
  • AlignHitMarkToNormal (BoolValue) (اختياري) — حدد صحيح إذا كان يجب أن تكون علامة الضرب دائمًا متوافقة بشكل مسطح مع السطح مثل ثقب الرصاصة، أو خاطئ إذا كان يجب أن تظهر علامة الضرب ملتصقة بالسطح من الاتجاه الذي أتت منه المقذوفة (مثل السهم). الافتراضي هو صحيح.

يمكنك إضافة الأصل الاختياري التالي ضمن WeaponsSystem/Assets/Effects/HitMarks:

  • Glow (Decal) (اختياري) — تظهر على السطح المضروب بشكل غير شفاف كليًا، ثم بسرعة تصبح أكثر شفافية، مثل تأثير مضيء على السطح يتلاشى بسرعة. مفيد الأشياء مثل إظهار علامة حمراء متوهجة حيث تضرب المتفجرات.
  • BulletHole (Decal) (اختياري) — تظهر على السطح المضروب بشكل غير شفاف كليًا، وبعد 4 ثوانٍ، تتلاشى إلى الشفافية خلال 1 ثانية.
  • ImpactBillboard (BillboardGui) (اختياري) — تظهر على السطح المضروب، تواجه دائمًا نحو الكاميرا.
    • Impact (ImageLabel) (اختياري) — طفل مباشر لـ ImpactBillboard؛ يبدأ بشكل غير شفاف كليًا، ويكبر إلى الحجم الكامل لـ ImpactBillboard خلال 0.1 ثانية، ثم يتقلص إلى نصف حجمه ويتلاشى إلى الشفافية التامة خلال 0.1 ثانية.
  • أي Part/MeshPart/SpecialMesh التي تريد أن تظهر كمقذوف مادي (اختياري). على سبيل المثال، تضمين سهم MeshPart وتعيين AlignHitMarkToNormal الذي تم الإشارة إليه أعلاه إلى خاطئ سيجعل السهم يبرز من السطح من الاتجاه الذي أصابته.

المقذوفات المتفجرة

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

نسخ الضبط:

  • ExplodeOnImpact (BoolValue) (اختياري) — حدد صحيح إذا كنت تريد أن تنفجر الرصاص/المقذوفات للسلاح عند التأثير، خاطئ خلاف ذلك، الافتراضي هو خاطئ.
  • BlastRadius (NumberValue) (اختياري) — نصف القطر الفجوي للانفجار؛ الافتراضي هو 8.
  • BlastPressure (NumberValue) (اختياري) — ضغط الانفجار؛ الافتراضي هو 10000.
  • BlastDamage (NumberValue) (اختياري) — مقدار الضرر الذي يسبب للأشياء في مركز الانفجار. لاحظ أن الانفجار يلحق ضررًا أقل كلما ابتعدت الأشياء المضروبة عن مركز الانفجار. الافتراضي هو 100.

سلاح الشحن

سلاح الشحن مثل بندقية السكة يجب أن يتم شحنه بين الطلقات قبل أن يتمكن من الإطلاق مرة أخرى.

نسخ النموذج:

  • Charging (Sound) (اختياري) — يتم تشغيلها بينما يتم شحن السلاح.
  • Discharging (Sound) (اختياري) — يتم تشغيلها أثناء تفريغ السلاح، على سبيل المثال إذا كنت تشحن السلاح جزئيًا فقط وتترك زر الإطلاق.
  • ChargeComplete (Sound) (اختياري) — يتم تشغيلها عندما يصل السلاح إلى الشحن الكامل.
  • DischargeComplete (Sound) (اختياري) — يتم تشغيلها عندما يتم تفريغ السلاح بالكامل.
  • ChargeGlow (BasePart) (اختياري) — سيتقلص هذا الكائن تدريجيًا عندما يتم شحن السلاح، بحيث يصبح غير شفاف بالكامل عند الشحن 100%.
  • ChargeCompleteParticles (ParticleEmitter) (اختياري) — تصدر عندما ينتهي السلاح من الشحن. يمكن أن يكون هذا الناشر طفلًا لأي نموذج BasePart أو طفلًا من Attachment ضمن BasePart.
  • DischargeCompleteParticles (ParticleEmitter) (اختياري) — تصدر عندما يتم تفريغ السلاح بالكامل. يمكن أن يكون هذا الناشر طفلًا لأي نموذج BasePart أو طفلًا من Attachment ضمن BasePart.
  • ChargingParticles (ParticleEmitter) (اختياري) — تصدر بينما يتم شحن السلاح. يمكنك تضمين العديد من الناشرين بهذا الاسم وسيتسجدم كل منهم أثناء الشحن. يمكن أن يكون هذا الناشر طفلًا لأي نموذج BasePart أو طفلًا من Attachment ضمن BasePart.

نسخ الضبط:

  • ChargeRate (NumberValue) — معدل شحن السلاح. يجب تحديد هذه القيمة للإشارة إلى أن السلاح يستخدم الشحن.
  • DischargeRate (NumberValue) (اختياري) — معدل التفريغ للسلاح؛ الافتراضي هو 0 مما يعني أن السلاح لن يتفريغ على الإطلاق.
  • ChargePassively (BoolValue) (اختياري) — حدد صحيح إذا كنت تريد أن يتم شحن السلاح بشكل نشط لكي يطلق على الفور عندما تنقر، أو خاطئ إذا كنت تريد النقر/اللمس لشحن السلاح وإطلاقه عند الوصول للشحن الكامل. الافتراضي هو خاطئ.
  • ChargingParticlesRatePerCharge (IntValue) (اختياري) — عدد الجزيئات التي ستصدر من جميع الناشرين ChargingParticles مضروبة في الشحن الحالي للسلاح. الافتراضي هو 20، مما يعني أنه إذا كانت الشحنة للسلاح عند 10%، سيصدر كل ناشر من الناشرين جزيئين (20×0.1)، وإذا كانت الشحنة للسلاح عند 90%، سيصدر كل ناشر من الناشرين 18 جزيءًا (20×0.9).
  • FireDischarge (NumberValue) (اختياري) — مقدار الشحن الذي سيفقده السلاح بعد إطلاق طلقة مشحونة بالكامل؛ الافتراضي هو 1.
  • NumChargeCompleteParticles (IntValue) (اختياري) — عدد الجزيئات التي سيصدرها الناشر ChargeCompleteParticles عند شحن السلاح بالكامل. الافتراضي هو 25.
  • NumDischargeCompleteParticles (IntValue) (اختياري) — عدد الجزيئات التي سيصدرها الناشر DischargeCompleteParticles عند تفريغ السلاح بالكامل. الافتراضي هو 25.

سلاح القوس

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

بالإضافة إلى إضافة نموذج النسخ، تحتاج إلى تطبيق ما يلي:

  • اجعل السلاح سلاحًا قابلًا للشحن. على سبيل المثال، أضف ChargeRate المطلوبة ضمن تكوين السلاح الذي يحدد سرعة سحب الخيط. بالإضافة إلى ذلك، فكر في إضافة نسخ اختيارية لنموذج السلاح مثل صوت Charging للخيط/الأذرع عند سحبها.
  • تعيين WeaponType إلى BowWeapon كما هو موضح في هيكل السلاح.

نسخ النموذج:

  • LeftString (Beam) (اختياري) — نصف الخيط المرئي الأيسر.
  • RightString (Beam) (اختياري) — نصف الخيط المرئي الأيمن.
  • Arrow (BasePart) (اختياري) — السهم الذي يظهر عند سحب القوس بالكامل. لاحظ أن هذا فقط للظهور البصري على القوس (السهم الذي تم إطلاقه فعليًا سيكون ShotEffect كما هو مبين في تأثيرات الضرب/المقذوفات والأصوات).
  • String1 (Attachment) (اختياري) — النقطة المركزية للخيط.
  • StringLoose (Attachment) (اختياري) — النقطة حيث يجب أن يكون String1 عندما يكون القوس في حالة راحة.
  • StringTight (Attachment) (اختياري) — النقطة حيث يجب أن يكون String1 عندما يتم سحب القوس بالكامل.
  • Arms (Part) (اختياري) — جزء فقط يعمل كمؤشر داخلي بأن ذراعي القوس سيتم تحريكه. يمكن أن يحتوي على الأطفال المباشرين التالية:
  • LeftString0 (Attachment) (اختياري) — النقطة حيث يتم توصيل الجانب الأيسر من الخيط بالقوس.
  • RightString0 (Attachment) (اختياري) — النقطة حيث يتم توصيل الجانب الأيمن من الخيط بالقوس.
  • LeftLoose (Attachment) (اختياري) — النقطة حيث ينبغي أن يكون LeftString0 عندما يكون القوس في حالة راحة.
  • RightLoose (Attachment) (اختياري) — النقطة حيث ينبغي أن يكون RightString0 عندما يكون القوس في حالة راحة.
  • LeftTight (Attachment) (اختياري) — النقطة حيث ينبغي أن يكون LeftString0 عندما يتم سحب القوس بالكامل.
  • RightTight (Attachment) (اختياري) — النقطة حيث ينبغي أن يكون RightString0 عندما يتم سحب القوس بالكامل.
  • [SpecialMesh] (SpecialMesh) (اختياري) — الجزء من القوس الذي سينحني فعليًا عند شد القوس. لاحظ أنه يجب عليك تحديد الأربعة التالية من الكائنات Vector3Value لجعل هذا يتحرك.
  • LooseOffset (Vector3Value) (اختياري) — الفارق على SpecialMesh عندما يكون القوس في حالة راحة.
  • TightOffset (Vector3Value) (اختياري) — الفارق على SpecialMesh عندما يتم سحب القوس بالكامل.
  • LooseScale (Vector3Value) (اختياري) — مقياس SpecialMesh عندما يكون القوس في حالة راحة.
  • TightScale (Vector3Value) (اختياري) — مقياس SpecialMesh عندما يتم سحب القوس بالكامل.

واجهة نظام الأسلحة

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

واجهة WeaponsSystemGui هي كائن ScreenGui في WeaponsSystem/Assets يتم توصيله بـ PlayerGui عند بدء التجربة. تحتوي WeaponsSystemGui على 4 أبناء:

عناصر التوسيع

ScalingElements هو مجلد Folder متصل بـ WeaponsSystemGui بالأبناء التالية:

الاسمنوع المنصةالوصف
DirectionalIndicatorsFolderمجلد Folder حيث يتم تخزين جميع مؤشرات الاتجاه.
CrosshairFrameإطار Frame يحتوي على الكائنات التالية:

[UIAspectRationConstraint] - UIAspectRatioConstraint
Bottom - ImageLabel
Left - ImageLabel
Right - ImageLabel
Top - ImageLabel
HitMarkerFrameإطار Frame يحتوي على الكائنات التالية:

[UIAspectRatioConstraint] - UIAspectRatioConstraint
HitMarkerImage - ImageLabel التي تظهر وتبدأ بالتلاشي عندما ينجح اللاعب في ضرب شخصية لاعب آخر.

LargeTouchscreen

LargeTouchscreen هو إطار Frame يحتوي على الأزرار التي تظهر على الشاشات الكبيرة. يحتوي LargeTouchscreen على الأبناء التالية:

Scope

Scope هو إطار Frame يحتوي ScopeImage (ImageLabel) الذي يظهر عند تقريب السلاح مع HasScope مفعلًا (انظر هيكل السلاح).

Scope تحتوي على الأبناء التالية:

الاسمنوع المنصةالوصف
ScopeInstanceFrameإطار Frame يحتوي على الأصول التالية المستخدمة عند التقريب على سلاح مع HasScope مفعل:

[UIAspectRationConstraint] - UIAspectRatioConstraint
BottomBlack - Frame
LeftBlack - Frame
RightBlack - Frame
TopBlack - Frame

SmallTouchscreen

SmallTouchScreen هو إطار Frame يحتوي على الأزرار التي تظهر على الشاشات الصغيرة. يحتوي SmallTouchscreen على الأبناء التالية:

إنشاء مؤشر الاتجاه

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

لإنشاء مؤشر جديد، أضف إطار مؤشر جديد Frame في WeaponsSystemGui/ScalingElements/DirectionalIndicators بالهيكل التالي:

الاسمنوع المنصةالوصف
[UIAspectRationConstraint]UIAspectRatioConstraint
[ImageLabel]ImageLabelصورة لمؤشر الاتجاه. قد يتطلب تدوير الصورة في الاستوديو تعديلات ما لم تقم بتحميل الصورة بحيث تواجه للأسفل ولا يوجد حولها مساحة فارغة تقريبًا.
يجب أن تحتوي هذه الصورة على
UIAspectRatioConstraint الخاص بها أيضًا.
[Configuration]Configurationتحتوي على الخصائص الاختيارية للتعديل. انظر تهيئة المؤشر لمزيد من المعلومات.

بعد إنشائه، يمكنك تنشيط مؤشر عبر الأمر التالي داخل WeaponsSystem/Libraries/WeaponsGui حيث يكون indicatorName هو اسم السلسلة للمؤشر المفعّل وworldPos هو الموقع العالمي الذي يجب أن تشير إليه مؤشر الاتجاه:


self.DirectionalIndicatorGuiManager:ActivateDirectionalIndicator(indicatorName, worldPos)

تهيئة المؤشر

يمكن تعديل DirectionalIndicators بشكل أكبر عن طريق تعديل كائن Configuration المتصل تحت [Indicator]. جميع هذه الإعدادات لها قيمة افتراضية، لذلك لا حاجة لتعيين التكوينات عند عدم تعديل إعداد.

يمكن تعيين الإعدادات التالية:

الاسمنوع المنصةالوصف
DistanceLevelFromCenterNumberValueعدد مستويات المسافة من مركز الشاشة (كل مستوى مسافة هو حوالي 0.03 مقياس الشاشة)؛ الافتراضي هو 6.
FadeTimeNumberValueوقت تلاشي المؤشر بعد تفعيله وزمن TimeBeforeFade؛ الافتراضي هو 1.
NameStringValueاسم مؤشر الاتجاه كما تريد الإشارة إليه في الكود؛ الافتراضي هو اسم الإطار الأساسي للمؤشر.
TimeBeforeFadeNumberValueعدد الثواني التي سيظهر فيها المؤشر قبل أن يتلاشى؛ الافتراضي هو 1.
TransparencyBeforeFadeNumberValueشفافية المؤشر قبل أن يبدأ في التلاشي؛ الافتراضي هو 0.
WidthLevelNumberValueعدد مستويات العرض من المركز (كل مستوى عرض هو حوالي 0.03 مقياس الشاشة)؛ الافتراضي هو قيمة DistanceLevelFromCenter.

عرض لافتة الضرر

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

تتم معالجة لافتات الضرر في WeaponsSystem/Libraries/DamageBillboardHandler ويمكن تفعيلها من أي كود من جانب العميل كما يلي، حيث يكون damage هي مقدار الضرر الذي تم إلحاقه وadornmentPart هو الجزء الذي سيتم تزيينه بالإعلان، مثل رأس الضحية:


DamageBillboardHandler:ShowDamageBillboard(damage, adornmentPart)

الكاميرا على الكتف

الكاميرا على الكتف هي كاميرا من منظور ثالث تراقب من فوق كتف اللاعب الأيمن. لتخصيص الكاميرا على الكتف، قم بتعديل المتغيرات تحت تعليق -- "معلمات التكوين (ثوابت)" في دالة ShoulderCamera.new() ضمن WeaponsSystem/Libraries/ShoulderCamera. يمكنك تعديل أمور مثل مجال الرؤية، والإزاحة من الشخصية، وسرعة المشي أثناء الجري أو التقريب، وما إلى ذلك.

التحكم في الجري والتقريب

بشكل افتراضي، يضيف نظام الأسلحة إمكانية "الجري"، بحيث يمكن للاعبين الجري عن طريق الضغط على مفتاح Shift، أو الدفع بالكامل على العصا الديناميكية (الجوال)، أو الدفع بالكامل على عصا التحكم اليسرى (وحدة التحكم). إذا كنت ترغب في تعطيل الجري، فقم بتعيين قيمة SprintEnabled ضمن WeaponsSystem/Configuration إلى خاطئ.

يقلل النظام أيضًا من سرعة اللاعب أثناء التصويب/التقريب، ولكن يمكنك تعطيل هذا السلوك عن طريق تعيين قيمة SlowZoomWalkEnabled إلى خاطئ.

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