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

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

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

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

  1. اختر سلاحًا من الأسفل، وانتقل إلى رابط مكتبة الأصول.

    مسدس

    بندقية

    بندقية آلية

    بندقية رشاشة

    بندقية قنص

    قوس ونشاب

    قاذف قنابل

    قاذف صواريخ

    بندقية سكة حديد

  2. في صفحة عنصر السلاح، انقر على زر الحصول على النموذج ووافق على المعاملة.

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

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

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

هيكل مجلد النظام

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

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

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

هيكل السلاح

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

نوع السلاح

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

نموذج السلاح

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

يتضمن النموذج أيضًا السلالات المهمة التالية التي يمكن أن تكون مرتبطة بأحد أجزاء النموذج BaseParts:

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

التكوين

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

فيما يلي التكوينات الأساسية وقيمها الافتراضية:

العنصرالوصفالافتراضي
AimTrackاسم مسار الرسوم المتحركة للتصويب في Assets/Animations من مجلد النظام.RifleAim
AimZoomTrackاسم مسار الرسوم المتحركة لتكبير التصويب في Assets/Animations من مجلد النظام.RifleAimDownSights
AmmoCapacityعدد الطلقات في كل "مخزن ذخيرة" قبل أن يتعين على اللاعب إعادة التحميل. لاحظ أن الذخيرة غير محدودة وهذا لا يحدد مقدار الذخيرة التي يحملها اللاعب.30
BulletSpeedسرعة التي تسير بها الرصاص/المقذوفات عند إطلاقها. تعيين هذه القيمة إلى قيمة عالية جدًا مثل 20000 يحاكي أسلحة الرماية مثل البنادق الليزرية.1000
BurstShotCooldownالوقت بين كل طلقة في دفعة؛ يهم فقط إذا قمت بتعيين FireMode إلى Burst.قيمة ShotCooldown
FiredPlaybackSpeedRangeمقدار يمكن أن يتغير فيه نغمة صوت Fired للسلاح. قم بتعيين هذه القيمة إلى 0 لتشغيلها دائمًا بنفس النغمة.0.1
FireModeاختر من بين Semiautomatic (طلقة واحدة لكل نقرة/لمسة)، Automatic (إطلاق مستمر)، أو Burst (دفعة من الطلقات تساوي NumBurstShots في كل نقرة/لمسة).Semiautomatic
FullDamageDistanceأقصى مسافة يمكن أن تسبب فيها الطلقات ضررًا كاملًا. أي شيء يُصاب بعد هذه المسافة سيتلقى ضررًا أقل كلما اقتربت المسافة من ZeroDamageDistance.1000
GravityFactorمقدار تأثير الجاذبية على كل رصاصة/مقذوف. على سبيل المثال، هذه القيمة لـ قوس ونشاب هي 1 لأن الأسهم تنحني أثناء الطيران، ولكن هذه القيمة لـ قاذف الصواريخ هي 0 لأن الصواريخ المدفوعة تسير بشكل مستقيم.0
HasScopeقم بتعيينها إلى true إذا كنت تريد استخدام المنظار المحدد في واجهة المستخدم للأسلحة.false
HitDamageمقدار الضرر الذي تسببه كل إصابة مباشرة.10
MaxDistanceأقصى مسافة تسير بها الرصاص/المقذوفات قبل أن تختفي.2000
MaxSpreadأقصى مقدار من الانتشار للسلاح.قيمة MinSpread
MinSpreadأدنى مقدار من الانتشار للسلاح.0
NumBurstShotsعدد الطلقات لكل نقرة/دفعة؛ يهم فقط إذا قمت بتعيين FireMode إلى Burst.3
NumProjectilesعدد الرصاص/المقذوفات التي ستطلق في نفس الوقت عند النقر/اللمس مرة واحدة. هذا مفيد للأسلحة مثل البندقية التي تطلق عدة رصاصات في نفس الوقت. لاحظ أن طلقة واحدة ستستخدم دائمًا رصاصة واحدة بغض النظر عن هذه القيمة.1
RecoilDecayمعامل الانخفاض للارتداد؛ بشكل أساسي معدل انخفاض الارتداد بعد إطلاق النار.0.825
RecoilDelayTimeوقت الانتظار بعد إطلاق النار/النقر قبل إضافة الارتداد إلى الكاميرا.0.07
RecoilMaxأقصى ارتداد يُضاف لكل طلقة.0.5
RecoilMinأدنى ارتداد يُضاف لكل طلقة.0.05
ReloadAnimationاسم مسار الرسوم المتحركة لإعادة التحميل في Assets/Animations من مجلد النظام.RifleReload
ShotCooldownأدنى وقت انتظار بين النقرات. بالنسبة للأسلحة التي لديها FireMode من Automatic، فإن هذا هو أيضًا الوقت بين الطلقات أثناء الضغط على زر الإطلاق أو الضغط على النقر.0.1
StartupTimeمدة الوقت بعد تجهيز السلاح قبل أن يتمكن اللاعب من إطلاق النار. يمنع هذا اللاعبين من إطلاق طلقة واحدة من عدة أسلحة مختلفة بسرعة.0.2
TotalRecoilMaxإجمالي أقصى ارتداد متراكم. لن يتجاوز الارتداد الحالي للسلاح هذه القيمة أبدًا.2
ZeroDamageDistanceأي شيء يُصاب عند أو بعد هذه المسافة لن يتلقى أي ضرر.10000

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

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

رسوم متحركة وصوت الزنبرك

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

  • سلالات نموذج السلاح نموذج السلاح:

    • BoltBasePart الذي يتحرك عند إطلاق السلاح.
    • BoltMotorMotor6D المستخدمة لتحريك الزنبرك. تأكد من تعيين Part0 لنموذج السلاح إلى PrimaryPart للسلاح وPart1 إلى جزء Bolt.
    • BoltMotorStartAttachment التي تحدد موضعها على BasePart الأب حيث يكون الزنبرك في حالة راحة.
    • BoltMotorTargetAttachment التي تحدد موضعها على BasePart الأب حيث يتحرك الزنبرك عند الإطلاق.
    • BoltOpenSound
      اختياري
      Sound التي تُشغل عند فتح الزنبرك.
    • BoltCloseSound
      اختياري
      Sound التي تُشغل عند إغلاق الزنبرك.
  • سلالات مجلد التكوين للسلاح:

    • ActionOpenTime
      اختياري
      — الوقت الذي يستغرقه الزنبرك للتحرك إلى وضع الفتح. الافتراضي هو 0.025.
    • ActionCloseTime
      اختياري
      — الوقت الذي يستغرقه الزنبرك للتحرك إلى وضع الإغلاق. الافتراضي هو 0.075.

قذائف الرصاص الملقاة

يمكن أن تتضمن الأسلحة قذائف رصاص فعلية تُلقى عند الإطلاق وتسقط على الأرض.

  • سلالات نموذج السلاح نموذج السلاح:

    • CasingEjectPointAttachment التي تحدد موضعها على BasePart الأب حيث تريد أن تخرج قذائف الرصاص. لاحظ أن اتجاهها يحدد الاتجاه الذي تخرج منه القذائف.
  • سلالات مجلد التكوين للسلاح:

    • CasingEffect — اسم BasePart للقذيفة في Assets/Effects/Casings من مجلد النظام.
    • CasingEjectSpeedMin
      اختياري
      — الحد الأدنى لسرعة إلقاء القذائف. الافتراضي هو 15.
    • CasingEjectSpeedMax
      اختياري
      — الحد الأقصى لسرعة إلقاء القذائف. الافتراضي هو 18.
  • طفل من BasePart للقذيفة في Assets/Effects/Casings من مجلد النظام:

    • CasingHitSound
      اختياري
      Sound التي تُشغل عند ضرب القذائف للأرض.

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

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

  • سلالات مجلد التكوين للسلاح:

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

    • Flying
      اختياري
      Sound التي تُشغل أثناء سفر الرصاصة/المقذوف.
    • Beam0
      اختياري
      — الفتحة الأولى لـ Beam خلف الرصاصة/المقذوف. لا تنسَ تعيين Attachment0 وAttachment1.
    • Beam1
      اختياري
      — الفتحة الثانية لـ Beam خلف الرصاصة/المقذوف. لا تنسَ تعيين Attachment0 وAttachment1.
    • Attachment0
      اختياري
      Attachment التي تحدد موضعها على BasePart الأب حيث تحدد مؤخرة الأشعة المتخلفة؛ تأكد من تعيين Beam.Attachment0 على كل من Beam0 وBeam1 إلى هذا.
    • Attachment1
      اختياري
      Attachment التي تحدد موضعها على BasePart الأب حيث تحدد مقدمة الأشعة المتخلفة؛ تأكد من تعيين Beam.Attachment1 على كل من Beam0 وBeam1 إلى هذا.
    • TrailParticles
      اختياري
      ParticleEmitter المرتبط كطفل مباشر لـ Attachment0؛ ستصدر هذه أثناء سفر الرصاصة/المقذوف.
    • LeadingParticles
      اختياري
      ParticleEmitter المرتبط كطفل مباشر لـ Attachment1؛ ستصدر هذه أثناء سفر الرصاصة/المقذوف.
    • HitEffect
      اختياري
      Attachment التي سيتم تعيين موضعها إلى Beam.Attachment1 لـ Beam0 عندما تضرب الرصاصة/المقذوف. يجب عليك تحديد Beam0 وملحقاته لكي يعمل هذا بشكل صحيح.
    • HitSound
      اختياري
      Sound المرتبطة كطفل مباشر لـ HitEffect؛ تُشغل عند ضرب الرصاصة/المقذوف.
    • HitParticles
      اختياري
      Sound المرتبطة كطفل مباشر لـ HitEffect؛ تصدر عند ضرب الرصاصة/المقذوف.
    • Mesh
      اختياري
      SpecialMesh التي تريد أن تظهر كمقذوف مادي. تأكد من تعيين ShouldMovePart في تكوين السلاح إلى true إذا كان لديك كائن مرئي هنا.

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

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

  • ShotEffect — اسم تأثير الطلقة المخزن في WeaponsSystem/Assets/Effects/Shots. كطفل لهذا التأثير، قم بتضمين أصل ParticleEmitter يسمى MuzzleParticles.
  • NumMuzzleParticles
    اختياري
    — عدد جزيئات الفوهة التي ستصدر. الافتراضي هو 50.

ومضات الفوهة

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

  • سلالات نموذج السلاح نموذج السلاح:

    • MuzzleFlash0Attachment المستخدمة لتحديد جانب واحد من وميض الفوهة. لا يهم الموضع.
    • MuzzleFlash1Attachment المستخدمة لتحديد الجانب المقابل من وميض الفوهة. لا يهم الموضع.
    • MuzzleFlashBeam لتأثير وميض الفوهة. تأكد من تعيين Attachment0 إلى MuzzleFlash0 وAttachment1 إلى MuzzleFlash1.
  • سلالات مجلد التكوين للسلاح:

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

مسارات الجزيئات

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

  • TrailLength
    اختياري
    — طول المسار خلف الرصاصة/المقذوف؛ الافتراضي هو nil مما يعني أن طول المسار سيتم حسابه بدلاً من ذلك باستخدام TrailLengthFactor.
  • TrailLengthFactor
    اختياري
    — إذا تم تحديده، سيتم تعيين طول المسار إلى هذه القيمة مضروبة في المسافة التي قطعتها الرصاصة/المقذوف في الإطار الأخير؛ الافتراضي هو 1. لاحظ أن هذا سيتم تجاوزه إذا قمت بتضمين TrailLength.
  • ShowEntireTrailUntilHit
    اختياري
    — قم بتعيينها إلى true لعرض المسار من طرف السلاح إلى حيثما يكون المقذوف؛ سيؤدي ذلك إلى تجاوز كل من TrailLength وTrailLengthFactor وسيختفي المسار فقط عندما يضرب المقذوف شيئًا. قم بتعيينها إلى false لاستخدام أحد الخيارين أعلاه لحساب طول المسار. الافتراضي هو false.

علامات الإصابة

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

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

كما هو مذكور في HitMarkEffect أعلاه، يمكنك إضافة جزء/شبكة داخل WeaponsSystem/Assets/Effects/HitMarks لتظهر كمقذوف مادي. على سبيل المثال، تضمين جزء MeshPart للسهم وتعيين AlignHitMarkToNormal إلى false سيجعل السهم يبرز من السطح من الاتجاه الذي أطلقته منه. قد يحتوي هذا Part/MeshPart/SpecialMesh على السلالات التالية:

  • Glow
    اختياري
    Decal التي تظهر على السطح المصاب بشكل كامل، ثم تصبح شفافة بسرعة، مثل تأثير متوهج على السطح يتلاشى بسرعة. مفيد لأشياء مثل إظهار علامة حمراء متوهجة حيث تضرب المتفجرات.
  • BulletHole
    اختياري
    Decal التي تظهر على السطح المصاب بشكل كامل وبعد 4 ثوانٍ، تتلاشى إلى الشفافية على مدى ثانية واحدة.
  • ImpactBillboard
    اختياري
    BillboardGui التي تظهر على السطح المصاب، دائمًا تواجه الكاميرا.
  • Impact
    اختياري
    ImageLabel كطفل مباشر لـ ImpactBillboard؛ يبدأ بشكل كامل، وينمو إلى الحجم الكامل لـ ImpactBillboard على مدى 0.1 ثانية، ثم ينكمش إلى نصف حجمه ويتلاشى إلى الشفافية الكاملة على مدى 0.1 ثانية.

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

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

  • ExplodeOnImpact
    اختياري
    — قم بتعيينها إلى true إذا كنت تريد أن تنفجر الرصاص/المقذوفات للسلاح عند التأثير، وfalse خلاف ذلك. الافتراضي هو false.
  • BlastRadius
    اختياري
    BlastRadius للانفجار؛ الافتراضي هو 8.
  • BlastPressure
    اختياري
    BlastPressure للانفجار؛ الافتراضي هو 10000.
  • BlastDamage
    اختياري
    — الضرر الذي يلحق بالأشياء في مركز الانفجار. لاحظ أن الانفجار يلحق ضررًا أقل كلما ابتعدت الأشياء المصابة عن مركز الانفجار. الافتراضي هو 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 — معدل شحن السلاح. يجب تحديد هذه القيمة للإشارة إلى أن السلاح يستخدم الشحن.
    • DischargeRate
      اختياري
      — معدل تفريغ السلاح. الافتراضي هو 0 مما يعني أن السلاح لن يتم تفريغه على الإطلاق.
    • ChargePassively
      اختياري
      — قم بتعيينها إلى true إذا كنت تريد أن يشحن السلاح بشكل سلبي بحيث يطلق النار على الفور عند النقر، أو false إذا كنت تريد النقر/اللمس لشحن السلاح وإطلاقه بمجرد الوصول إلى الشحن الكامل. الافتراضي هو false.
    • ChargingParticlesRatePerCharge
      اختياري
      — عدد الجزيئات التي ستصدر من جميع مصادر ChargingParticles مضروبة في الشحن الحالي للسلاح. الافتراضي هو 20، مما يعني أنه إذا كان شحن السلاح عند 10%، ستصدر كل مصدر ChargingParticles جزيئتين (20*0.1)، وإذا كان شحن السلاح عند 90%، ستصدر كل مصدر 18 جزيئة (20*0.9).
    • FireDischarge
      اختياري
      — مقدار الشحن الذي سيفقده السلاح بعد إطلاق طلقة مشحونة بالكامل. الافتراضي هو 1.
    • NumChargeCompleteParticles
      اختياري
      — عدد الجزيئات التي ستصدرها مصدر ChargeCompleteParticles بمجرد أن يكون السلاح مشحونًا بالكامل. الافتراضي هو 25.
    • NumDischargeCompleteParticles
      اختياري
      — عدد الجزيئات التي ستصدرها مصدر DischargeCompleteParticles عندما يتم تفريغ السلاح بالكامل. الافتراضي هو 25.

سلاح القوس

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

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

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

تشمل سلالات نموذج السلاح نموذج السلاح:

  • LeftString
    اختياري
    Beam للنصف الأيسر المرئي من الوتر.
  • RightString
    اختياري
    Beam للنصف الأيمن المرئي من الوتر.
  • Arrow
    اختياري
    BasePart للسهم الذي يظهر عندما يتم سحب القوس بالكامل. لاحظ أن هذا هو فقط للمظهر المرئي على القوس (السهم الذي يتم إطلاقه فعليًا سيكون ShotEffect كما هو موضح في تأثيرات المقذوف/الإصابة والأصوات).
  • String1Attachment لنقطة المركز للوتر.
  • StringLooseAttachment النقطة التي يجب أن يكون فيها String1 عندما يكون القوس في حالة راحة.
  • StringTightAttachment النقطة التي يجب أن يكون فيها String1 عندما يتم سحب القوس بالكامل.
  • Arms
    اختياري
    Part التي تعمل فقط كمؤشر داخلي على أن أذرع القوس ستتحرك. قد تحتوي على الأطفال المباشرين التالية:
    • LeftString0Attachment النقطة التي يتم فيها ربط الجانب الأيسر من الوتر بالقوس.
    • RightString0Attachment النقطة التي يتم فيها ربط الجانب الأيمن من الوتر بالقوس.
    • LeftLooseAttachment النقطة التي يجب أن يكون فيها LeftString0 عندما يكون القوس في حالة راحة.
    • RightLooseAttachment النقطة التي يجب أن يكون فيها RightString0 عندما يكون القوس في حالة راحة.
    • LeftTightAttachment النقطة التي يجب أن يكون فيها LeftString0 عندما يتم سحب القوس بالكامل.
    • RightTightAttachment النقطة التي يجب أن يكون فيها RightString0 عندما يتم سحب القوس بالكامل.
    • MeshSpecialMesh جزء من القوس الذي سينحني فعليًا عندما يتم سحب القوس. لاحظ أنه يجب عليك تحديد الكائنات الأربعة التالية من نوع Vector3Value لجعل هذا يتحرك.

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

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

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

  • ScalingElements هو Folder يحتوي على السلالات التالية:

    • DirectionalIndicatorsFolder حيث يتم تخزين جميع المؤشرات الاتجاهية.
    • CrosshairFrame يحتوي على UIAspectRatioConstraint وعلامات الصور لعناصر الأسفل واليسار واليمين والعلوي من علامة الهدف.
    • HitMarkerFrame يحتوي على UIAspectRatioConstraint وعلامة صورة HitMarkerImage التي تظهر وتختفي عندما ينجح اللاعب في ضرب شخصية لاعب آخر.
  • LargeTouchscreen هو Frame يحتوي على أزرار AimButton وFireButton التي تظهر على الشاشات الكبيرة.

  • Scope هو Frame يحتوي على علامة صورة ScopeImage التي تظهر عند التكبير على سلاح مع تمكين HasScope (انظر هيكل السلاح).

  • SmallTouchscreen هو Frame يحتوي على أزرار AimButton وFireButton التي تظهر على الشاشات الصغيرة.

المؤشرات الاتجاهية

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

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

  • مؤشر (Frame)
    • ImageLabel للمؤشر الاتجاهي. قد يتطلب تعديل دوران الصورة في الاستوديو ما لم تقم بتحميل الصورة بحيث تواجه الأسفل ولا يوجد حولها مساحة فارغة. يجب أن تحتوي علامة الصورة هذه أيضًا على UIAspectRatioConstraint الخاصة بها.
    • Configuration تحتوي على خصائص اختيارية لضبط:
      • DistanceLevelFromCenter
        اختياري
        — عدد مستويات المسافة من مركز الشاشة (كل مستوى مسافة حوالي 0.03 مقياس الشاشة). الافتراضي هو 6.
      • FadeTime
        اختياري
        — وقت تلاشي المؤشر بعد تفعيله ووقت TimeBeforeFade. الافتراضي هو 1.
      • Name
        اختياري
        — اسم المؤشر الاتجاهي كما تريد الإشارة إليه في الكود. الافتراضي هو اسم Frame العلوي للمؤشر.
      • TimeBeforeFade
        اختياري
        — عدد الثواني التي سيظهر فيها المؤشر قبل أن يتلاشى. الافتراضي هو 1.
      • TransparencyBeforeFade
        اختياري
        — شفافية المؤشر قبل أن يبدأ في التلاشي. الافتراضي هو 0.
      • WidthLevel
        اختياري
        — عدد مستويات العرض من المركز (كل مستوى عرض حوالي 0.03 مقياس الشاشة). الافتراضي هو قيمة DistanceLevelFromCenter.

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

self.DirectionalIndicatorGuiManager:ActivateDirectionalIndicator(indicatorName, worldPos)

لوحة الأضرار

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

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

DamageBillboardHandler:ShowDamageBillboard(damage, adornmentPart)

كاميرا الكتف

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

الركض والتكبير

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

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

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