طقم NPC

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

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

لاستخدام NPC في لعبتك:

  1. اختر واحدة من مجموعات NPC التالية:

    زومبي يسيل لعابه
    جنود
    روبوتات RO-01
    روبوتات NP-C 9000
  2. في صفحة عنصر NPC، انقر على زر الحصول على الأخضر وآكد المعاملة.

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

  4. اختر قسم المخزون في صندوق الأدوات لديك.

  5. ابحث عن NPC وانقر عليه لإضافته إلى المكان.

هيكل الشخصية

تحتوي كل نموذج NPC عادةً على الكائنات التالية:

اسم الكائن أو [النوع]النوعالوصف
الرسوم المتحركةFolderيحتوي على الرسوم المتحركة، مثل AttackAnimation أو DeathAnimation.
Pose الأوليةFolderيحتوي على معلومات الوضعية.
تحريكScriptيحمّل ويشغل الرسوم المتحركة على هيكل الشخصية. راجع تحريك للحصول على مزيد من التفاصيل.
[إكسسوار]Accessoryأحد الإكسسوارات المحتملة المتعددة لـ NPC مثل القبعات، الأسلحة، إلخ.
الصحةScriptعادةً ما تعيد توليد صحة Humanoid بمرور الوقت. تعطل هذا سيمنع الشخصية من استعادة صحتها.
HumanoidHumanoidيدير خصائص متعلقة بـ Humanoid، مثل Humanoid.Health، Humanoid.WalkSpeed، Humanoid.DisplayDistanceType، إلخ.
NPCScript

يحدد سلوكيات معينة للشخصية مثل التجوال، الهجوم، إلخ. ويحتوي على الكائنات التالية:

Maid (ModuleScript) تحدد فئة مفيدة في إطلاق الموارد المستخدمة.

Ragdoll (ModuleScript) يحدد وظيفة تحول الشخصية إلى جسم غير مثبت يتأثر بالفيزياء (يحتوي على RigTypes ModuleScript التي تحدد العديد من الوظائف المساعدة).

RbxNpcSoundsScriptيحدد ويدير السلوك المتعلق بتأثيرات الصوت للشخصية مثل الجري، الموت، إلخ.
أجزاء الجسمBasePartأجزاء مختلفة من الجسم متصلة بـ HumanoidRootPart أو أجزاء الجسم المجاورة من خلال Motor6D أو كائنات القيود. راجع أجزاء الجسم للحصول على مزيد من التفاصيل.
HumanoidRootPartBasePartجزء خاص غير مرئي يعتبر الجذر للهيكل؛ وهو أيضًا PrimaryPart لنموذج الشخصية بـ Model.
الإعداداتConfigurationيحتوي على كائنات قيمة تضبط سلوكيات متنوعة. راجع الإعدادات لمعرفة المزيد من التفاصيل.

ملاحظات التصميم

عند استخدام طقم NPC، ضع في اعتبارك الملاحظات التصميمية التالية:

  • يمكن تخصيص المظهر المرئي لشخصية NPC عن طريق إضافة/تعديل كائنات [أجزاء الجسم] المتنوعة وإضافة كائنات Accessory.

  • يستخدم الجنود، وزومبي يسيل لعابه، وروبوتات NP-C 9000 Rthro كأساس لهيكلهم. ومع ذلك، تستخدم روبوتات RO-01 قاعدة Rthro معدلة تضيف أجزاء دفع مرتبطة بـ UpperTorso باستخدام WeldConstraints. إن استخدام المفاصل البسيطة بهذه الطريقة يتيح لك تضمين هندسة إضافية لشخصياتك دون تغيير الهيكل الأصلي.

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

تحريك

يتولى برنامج تحريك Script في نموذج NPC Model إدارة الإعدادات المتعلقة بالرسوم المتحركة ويحتوي على الكائنات التالية:

اسم الكائن أو [النوع]النوعالوصف
ScaleDampeningPercentNumberValueيحدد كيفية تعديل سرعات الرسوم المتحركة أثناء تغيير حجم الشخصية (أقل من 1 يعني أن تشغيل الرسوم المتحركة يتغير عكسياً عندما تتغير الشخصية في الحجم).
PlayEmoteBindableFunctionيمكن استدعاء هذا من برامج نصية أخرى لفرض اتخاذ وضعية معينة.
[وضعية]StringValueإشارة إلى فئة رسوم متحركة قابلة للتشغيل مثل الوقوف، القفز، المشي، إلخ. يمكن أن يحتوي هذا الكائن على أي عدد من الرسوم المتحركة.

تحتوي هذه الرسوم المتحركة على وزن (NumberValue) يحدد أولوية واحدة من الرسوم المتحركة العديدة لتشغيلها أثناء اتخاذ الوضعية؛ وعادةً ما تستخدم لإضافة تنوع إلى وضعيات الوقوف والرقص.

أجزاء الجسم

تمثل أجزاء الجسم BasePart في نموذج NPC Model أجزاء مختلفة من شخصية NPC وتحتوي على الكائنات التالية:

اسم الكائن أو [النوع]النوعالوصف
AvatarPartScaleTypeStringValueيحدد كيفية تغيير حجم الجزء؛ يمكن أن تكون القيم Classic، ProportionsNormal، أو ProportionsSlender.
OriginalSizeVector3Valueيحدد حجم الجزء عندما يكون تجسيم الشخصية 1.
[Attachment]Attachmentيحدد نقطة نسبية للجزء الفردي قد تستخدمها البرامج النصية، والتأثيرات، والكائنات مثل Tool أو Accessory أثناء تحديد الموقع.
[Motor6D]Motor6Dمفصل متحرك بين جسمين. لاحظ أن Animator يعتمد على اسم Motor6Ds ليكون متسقاً مع ذلك الخاص بـ Motor6Ds المستخدمة عند إنشاء الرسوم المتحركة، لذا تجنب إعادة تسمية هذا الكائن.
[Joint]WeldConstraint، Constraint، JointInstanceمفصل غير متحرك بين جسمين.
[Sound]Soundيجد غالبًا في الرأس أو HumanoidRootPart؛ يشغل الأصوات من داخل الهيكل كما تتحكم بها نصوص RbxNpcSounds.

الإعدادات

يتضمن كل NPC كائن Configuration ضمن تسلسله الهرمي والذي يعمل كحاوية لكائنات القيمة. يتم استخدام هذه من قبل نص NPC لضبط سلوكيات متنوعة. ما لم يُحدد خلاف ذلك، تنطبق هذه على جميع الشخصيات.

اسم الكائن أو [النوع]النوعالوصف
DestroyOnDeathBoolValueتسبب في تدمير NPC بالكامل بعد فترة وجيزة من موته. قم بإيقاف تشغيل هذا للراغدولات ليكون لها استمرارية.
PatrolEnabledBoolValueتسبب في تجول NPC في منطقة حول موضعه الابتدائي.
PatrolRadiusNumberValueيحدد أقصى مسافة يمكن أن يتجول بها NPC بعيداً عن موضعه الابتدائي، بشرط أن تكون PatrolEnabled صحيحة.
RagdollEnabledBoolValueتسبب في أن يصبح NPC غير متماسك عندما يموت، بدلاً من أن يتفكك.
AttackDamageNumberValueيحدد مقدار الصحة التي تفقدها الضحية عندما يهاجمها NPC. ينطبق هذا فقط على مجموعات الزومبي والجنود.
AttackDelayNumberValueيحدد الحد الأدنى من الثواني بين اللقطات. ينطبق هذا فقط على مجموعات الجنود.
AttackModeNumberValueيحدد ما الذي سوف يهاجمه الجندي، بناءً على نظام العلامات. ينطبق هذا فقط على مجموعات الجنود.
AttackRadiusNumberValueيحدد أقصى مسافة يجب أن يكون فيها NPC من ضحية محتملة قبل أن يحاول الهجوم. ينطبق هذا فقط على مجموعات الزومبي والجنود.
ClipCapacityNumberValueيحدد عدد الرصاصات التي يمكن للجندي إطلاقها قبل الحاجة إلى إعادة التحميل. ينطبق هذا فقط على مجموعات الجنود.
ReloadDelayNumberValueيحدد عدد الثواني التي يجب أن تمر قبل أن يتم إعادة تحميل مشط سلاح الجندي. ينطبق هذا فقط على مجموعات الجنود.

تعيين العلامات

يستخدم نص NPC علامات CollectionService لإدارة العدائية تجاه الشخصيات الأخرى واللاعبين. يمكن تعيين علامات مختلفة من الجدول التالي كما يلي:

  • لتعيين علامة (أو علامات) إلى NPC آخر، قم بتعيينها إلى Model الأعلى في الهيكل باستخدام قسم العلامات في خصائصه.

  • لتعيين علامة إلى شخصية Player، يمكنك إضافة Script إلى StarterCharacterScripts مع استدعاء CollectionService:AddTag(). على سبيل المثال:


    local CollectionService = game:GetService("CollectionService")
    CollectionService:AddTag(script.Parent, "SoldierEnemy")
العلامةالهدف
SoldierEnemy أو SoldierFriend

تحدد ما إذا كان يجب على الجندي، بناءً على قيمة إعداد AttackMode الخاصة به، مهاجمة شخصية أخرى. عندما يتم تعيين AttackMode للجندي إلى 1، يجب أن تُعطى الشخصيات الأخرى علامة SoldierEnemy لتعتبر قابلة للهجوم. عندما يتم تعيين AttackMode للجندي إلى 2، تعتبر جميع الكائنات التي لا تحمل علامة SoldierFriend قابلة للهجوم. عندما يتم تعيين AttackMode للجندي إلى 3، يتم تجاهل هذه العلامات تمامًا وسيهاجم الجندي جميع الشخصيات.

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