إضافة بونص جديد في ماتين2: دليل كامل من الصفر (APPLY) 2026

دليل كامل لإضافة بونص جديد في ماتين2 (APPLY): اختيار الرقم، السيرفر، الكلاينت، AFFECT_DICT، نص التلميح، البروتو، الاختبار، وجدول كل الأرقام.

إضافة بونص جديد في ماتين2 هي أكثر تعديل يطلبه أصحاب السيرفرات: تبي أداتك تعطي «ضرر إضافي ضد الزعماء» أو «مقاومة خاصة» أو أي خاصية ما هي موجودة في اللعبة الأصلية. في هذا الدليل نشرح إضافة بونص جديد من الصفر وبكل التفاصيل: كيف يمر البونص (APPLY) من السيرفر إلى الكلاينت إلى نص التلميح، وأي رقم تختاره، وكيف تجرّبه، وكل خطأ ممكن يصادفك. فحصنا ملفات سورس حقيقية (length.h وItemData.h وuitooltip.py وlocaleinfo.py) ونقلنا منها الأرقام والأسطر كما هي، وما كان يختلف من سورس لآخر نبّهنا عليه ووضحنا لك كيف تتأكد منه بنفسك.

إضافة بونص جديد في ماتين2: دليل كامل من الصفر (APPLY) 2026

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

محتويات المقالة:

ما المقصود بإضافة بونص جديد في ماتين2؟

البونص في السورس اسمه APPLY: رقم يدل على نوع الخاصية، وبجانبه قيمة. كل أداة في ملف البروتو تحمل ثلاثة بونصات كحد أقصى، لأن الثابت ITEM_APPLY_MAX_NUM = 3 في ملف ItemData.h.

لما يلبس اللاعب الأداة، يحوّل السيرفر كل APPLY إلى خاصية في اللاعب اسمها POINT (مثل الحياة القصوى أو الضرر)، ومنها يحسب الضرر والدفاع. أما الكلاينت فما يهمه التأثير نفسه، يهمه يعرف اسم البونص ليكتب جملته في التلميح.

لهذا تمر إضافة بونص جديد على ثلاث جهات لازم تتفق على نفس الرقم:

  1. السيرفر: الرقم في length.h والتأثير الفعلي في الحسابات.
  2. الكلاينت (C++): الرقم في ItemData.h وتصديره لبايثون.
  3. الكلاينت (بايثون): السطر في AFFECT_DICT داخل uitooltip.py ونص الجملة في ملف اللغة.

أنواع البونصات التي تستفيد من نفس النظام

الميزة الحلوة: إذا أنجزت إضافة بونص جديد مرة واحدة، يشتغل في كل الأماكن التالية بدون شغل إضافي في الواجهة، لأن كلها تستدعي نفس الدالة __GetAffectString:

  • بونصات الأداة الثابتة: الثلاثة المكتوبة في البروتو.
  • البونصات العشوائية (الصفات الإضافية): اللي تظهر على الأداة بعد إضافة أو تبديل البونص.
  • بونص الإكسسوارات بعد الصقل بالمعادن: الكلاينت يحسب الزيادة من البونص الأساسي (10% و20% و40%) ويعرضها بنفس الدالة.
  • بونص الأزياء: ملفاتنا فيها APPLY_COSTUME_ATTR_BONUS للأزياء.

متطلبات إضافة بونص جديد قبل ما تبدأ

  • سورس السيرفر وأنت قادر تعدله وتعيد بناءه، راجع 🔒 هذا الرابط خاص بهذا المقال
    لعرضه يجب تسجيل الدخول وكتابة تعليق داخل نفس المقال تنبيه مهم ( التعليقات عشواية سوف يتم رفضها وفي حال تكرار سوف يتم حظر ).
    .
  • سورس الكلاينت (UserInterface) لإعادة بناء الـ exe، راجع 🔒 هذا الرابط خاص بهذا المقال
    لعرضه يجب تسجيل الدخول وكتابة تعليق داخل نفس المقال تنبيه مهم ( التعليقات عشواية سوف يتم رفضها وفي حال تكرار سوف يتم حظر ).
    .
  • ملفات الكلاينت (root) وكلاينتك على بايثون 2.7: ملفاتنا تستخدم xrange وhas_key وصيغة raise X, "..."، فاكتب الكود بصيغة بايثون 2.
  • أداة لتعديل البروتو مثل 🔒 هذا الرابط خاص بهذا المقال
    لعرضه يجب تسجيل الدخول وكتابة تعليق داخل نفس المقال تنبيه مهم ( التعليقات عشواية سوف يتم رفضها وفي حال تكرار سوف يتم حظر ).
    .
  • برنامج بحث داخل الملفات (grep أو بحث VS Code في المجلد كله).
  • نسخة احتياطية كاملة وسيرفر تجريبي: تعديل الأرقام خطأ واحد فيه يخرب بونصات اللاعبين.

خريطة الملفات اللي بتعدلها

الملف المشروع وش تعدل فيه
length.h السيرفر تعريف الثابت برقمه
ملف قائمة POINT وجدول aApplyInfo السيرفر ربط البونص بخاصية وتطبيق التأثير (تُعرف بالبحث)
ItemData.h الكلاينت C++ تعريف نفس الثابت بنفس الرقم
ملف تصدير ثوابت وحدة item الكلاينت C++ إضافة سطر PyModule_AddIntConstant
uitooltip.py الكلاينت root سطر في AFFECT_DICT
locale_game.txt أو locale_game_ex.txt الكلاينت locale نص التلميح
ملف البروتو (item_proto) السيرفر والكلاينت استخدام البونص في أداة

خطوات إضافة بونص جديد بالتفصيل

الخطوة 1: اختيار رقم البونص (انتبه لهذا الفخ)

قائمة البونصات في ملفاتنا تنتهي بأرقام صريحة:

APPLY_ACCEDRAIN_RATE         = 91,
APPLY_RESIST_MAGIC_REDUCTION = 92,
APPLY_RESIST_MOUNT_FALL      = 93,
APPLY_MOUNT                  = 95,

MAX_APPLY_NUM                = 127,

يعني الأرقام من 0 إلى 93 والرقم 95 مستخدمة، و94 فاضي، والأرقام من 96 إلى 126 فاضية. والفخ في إضافة بونص جديد بدون رقم صريح: الثابت بعد APPLY_ANTI_PENETRATE_PCT (رقمه 90) يأخذ تلقائيًا 91، وهذا نفس رقم APPLY_ACCEDRAIN_RATE. المترجم ما ينبّه لأن تكرار القيمة في enum مسموح، لكن البونصين يختلطان في اللعبة. لهذا أعطِ بونصك رقمًا صريحًا دائمًا، وفي مثالنا نستخدم 96.

الخطوة 2: تعريف البونص في السيرفر

في length.h قبل MAX_APPLY_NUM:

APPLY_MOUNT                  = 95,
APPLY_BOSS_DAMAGE_BONUS      = 96,

MAX_APPLY_NUM                = 127,

لا تتجاوز MAX_APPLY_NUM. ولا تغيّر أرقام البونصات الموجودة أبدًا لأن بيانات اللاعبين المخزنة تعتمد عليها.

الخطوة 3: ربط البونص بتأثير فعلي في السيرفر

تعريف الرقم لوحده ما يسوي شي. السيرفر يحوّل كل APPLY إلى POINT عبر جدول يسمى عادة aApplyInfo ودالة تطبّق البونص عند لبس الأداة. الأسماء تختلف بين السورسات، فلا تعتمد على اسم ملف، ابحث بنفسك:

grep -rn "aApplyInfo" game/
grep -rn "POINT_MAX_NUM" common/ game/
grep -rn "APPLY_ANTI_PENETRATE_PCT" .

عندك طريقتان حسب نوع البونص:

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

إذا اخترت الثانية فخذ التالي بالاعتبار: في ملفاتنا POINT_MAX_NUM = 255، يعني رقم النقطة الجديدة لازم يكون أقل من 255 وغير مستخدم، وأضفه في آخر القائمة بدون ما تحرك الأرقام الموجودة. وإذا كان جدول aApplyInfo مصفوفة مرتبة بالأرقام، تأكد أن عدد الأسطر قبل سطر بونصك يساوي 96 بالضبط، واملأ الموضع الفارغ (رقم 94) بسطر POINT_NONE. مثال توضيحي (الأسماء والصيغة تختلف حسب سورسك):

// في ملف قائمة POINT، في آخرها وبرقم غير مستخدم
POINT_BOSS_DAMAGE_BONUS,

// في جدول aApplyInfo (الموضع 96)
{ POINT_BOSS_DAMAGE_BONUS },

// في دالة حساب الضرر (ابحث عن CalcMeleeDamage)
if (pVictim->IsMonster() && pVictim->GetMobRank() >= MOB_RANK_BOSS)
	iDam += iDam * GetPoint(POINT_BOSS_DAMAGE_BONUS) / 100;

البونصات تُحسب من الأدوات اللي يلبسها اللاعب، فغالبًا ما تحتاج تخزين النقطة الجديدة في قاعدة البيانات.

الخطوة 4: تعريف البونص في الكلاينت وتصديره لبايثون

في ItemData.h أضف الثابت بنفس الرقم تمامًا:

APPLY_MOUNT                  = 95,
APPLY_BOSS_DAMAGE_BONUS      = 96,

MAX_APPLY_NUM                = 127,

الأسماء قد تختلف بين الطرفين (في السيرفر APPLY_ATTBONUS_WARRIOR وفي الكلاينت APPLY_ATT_BONUS_TO_WARRIOR)، والمهم أن الرقم يتطابق.

بعدها صدّر الثابت لبايثون، لأن uitooltip.py يقرأ البونصات من وحدة item باسم مثل item.APPLY_MAX_HP. ملف التصدير هو الذي فيه أسطر PyModule_AddIntConstant، وهو ليس PythonItem.cpp (هذا خاص بالأدوات الساقطة على الأرض). للوصول إليه ابحث:

grep -rn "APPLY_ANTI_PENETRATE_PCT" UserInterface/

وأضف سطرًا مثل جيرانه (اسم المتغير poModule يتبع الملف عندك):

PyModule_AddIntConstant(poModule, "APPLY_BOSS_DAMAGE_BONUS", CItemData::APPLY_BOSS_DAMAGE_BONUS);

إذا نسيت هذه الخطوة يتعطل uitooltip.py عند فتح اللعبة بخطأ AttributeError، وتجده في ملف syserr، راجع 🔒 هذا الرابط خاص بهذا المقال
لعرضه يجب تسجيل الدخول وكتابة تعليق داخل نفس المقال تنبيه مهم ( التعليقات عشواية سوف يتم رفضها وفي حال تكرار سوف يتم حظر ).
.

الخطوة 5: إظهار البونص في التلميح (AFFECT_DICT)

دالة __GetAffectString تبحث عن نوع البونص في AFFECT_DICT وتستدعي الجملة المرتبطة به. القاموس في ملفاتنا فيه نحو 87 بونصًا. أضف سطرك في آخره:

		item.APPLY_RESIST_MOUNT_FALL : localeInfo.TOOLTIP_APPLY_RESIST_MOUNT_FALL,
		item.APPLY_BOSS_DAMAGE_BONUS : localeInfo.TOOLTIP_APPLY_BOSS_DAMAGE_BONUS,
	}

الدالة نفسها تعطيك تشخيصًا جاهزًا: لو الرقم غير موجود في القاموس تعرض اللعبة UNKNOWN_TYPE[96] 10، ولو الجملة ما تقبل القيمة تعرض UNKNOWN_VALUE.

نصائح إضافية في هذه الخطوة:

  • عرض التلميح: لون السطر يتحدد حسب القيمة، فالقيمة الموجبة تظهر بلون الزيادة (دالة GetChangeTextLineColor).
  • التلميح الضيق: إذا كانت جملتك طويلة، أضف رقم البونص في قاموس ATTRIBUTE_NEED_WIDTH بعرض أكبر، وهو يعمل مع البونصات العشوائية ذات القيمة الموجبة:
    	ATTRIBUTE_NEED_WIDTH = {
    		...
    		96 : 240,
    	}
  • إخفاء بونص تقني: دالة __AppendAffectInformation تتجاوز بونص التقاط الأجنحة APPLY_ACCEDRAIN_RATE وبونص المركب APPLY_MOUNT فلا يظهران في قائمة البونصات. إذا كان بونصك تقنيًا ولا تبيه ظاهرًا، أضف له شرط continue مثلهما.

الخطوة 6: كتابة نص البونص في ملف اللغة

نصوص TOOLTIP_* ما هي مكتوبة في localeinfo.py. هذا الملف يقرأها وقت التشغيل من locale_game.txt عبر دالة LoadLocaleFile. كل سطر ثلاثة حقول مفصولة بمسافة Tab: الاسم، ثم النص، ثم النوع. النوع SA يمرر القيمة للنص، وSNA نص ثابت بلا قيمة. أضف (كلمة [TAB] تعني ضغطة Tab حقيقية):

TOOLTIP_APPLY_BOSS_DAMAGE_BONUS[TAB]ضرر إضافي ضد الزعماء +%d%%[TAB]SA
TOOLTIP_APPLY_EXAMPLE_FIXED[TAB]مقاومة خاصة[TAB]SNA

لاحظ %%: النوع SA يمرر النص عبر عملية % في بايثون، فلو كتبت % مفردة يحدث خطأ في بايثون. والأفضل وضع الأسطر في locale_game_ex.txt إن كان كلاينتك يفعّل app.ENABLE_LOCALE_COMMON، لأن الملف يُحمَّل إضافيًا بعد الأساسي من locale/common/ ومن مجلد لغتك، فما تلمس الملف الكبير. واحفظ الملف بنفس ترميز locale_game.txt الموجود عندك.

الخطوة 7: استخدام البونص في أداة

في البروتو اكتب نوع البونص (الاسم أو رقمه بحسب أداتك) وقيمته في أحد الأزواج الثلاثة، ثم أعد توليد ملفات البروتو للسيرفر والكلاينت. للتفاصيل راجع 🔒 هذا الرابط خاص بهذا المقال
لعرضه يجب تسجيل الدخول وكتابة تعليق داخل نفس المقال تنبيه مهم ( التعليقات عشواية سوف يتم رفضها وفي حال تكرار سوف يتم حظر ).
واستخدم 🔒 هذا الرابط خاص بهذا المقال
لعرضه يجب تسجيل الدخول وكتابة تعليق داخل نفس المقال تنبيه مهم ( التعليقات عشواية سوف يتم رفضها وفي حال تكرار سوف يتم حظر ).
. وابحث عن اسم بونص قياسي في سورس السيرفر (grep -rn "APPLY_ANTI_PENETRATE_PCT" .) لتعرف الأماكن اللي تقرأ اسم البونص من الملف النصي وتحتاج سطرًا لبونصك.

الخطوة 8 (اختيارية): إدخاله في البونصات العشوائية

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

كيف تختبر إضافة بونص جديد؟

  1. أعد بناء السيرفر والكلاينت.
  2. أنشئ أداة تجريبية بالبونص الجديد في البروتو وأعد توليده.
  3. أعطِ نفسك الأداة بأمر المشرف /item.
  4. مرّر الماوس عليها وتأكد من جملة التلميح ولونها.
  5. البسها وتحقق أن التأثير فعليًا اشتغل (مثلًا زاد الضرر ضد الزعيم).
  6. اخلعها وتأكد أن التأثير رجع كما كان.
  7. جرّب بقيمة سالبة وقيمة كبيرة ليظهر لك أي خلل مبكرًا.
  8. راقب ملفي syserr على السيرفر والكلاينت أثناء الاختبار.

مثال تطبيقي كامل: ضرر إضافي ضد الزعماء

الطبقة وش تضيف
الرقم 96
length.h (السيرفر) APPLY_BOSS_DAMAGE_BONUS = 96,
ربط التأثير سطر في aApplyInfo + نقطة POINT_BOSS_DAMAGE_BONUS + شرط الزعيم في حساب الضرر
ItemData.h (الكلاينت) APPLY_BOSS_DAMAGE_BONUS = 96,
تصدير بايثون سطر PyModule_AddIntConstant
uitooltip.py سطر في AFFECT_DICT (+ عرض في ATTRIBUTE_NEED_WIDTH عند الحاجة)
ملف اللغة TOOLTIP_APPLY_BOSS_DAMAGE_BONUS بنوع SA
البروتو أداة بنوع البونص وقيمة (مثلًا 10)

أخطاء إضافة بونص جديد وحلولها

العَرَض السبب الحل
يظهر UNKNOWN_TYPE[96] 10 في التلميح الرقم غير موجود في AFFECT_DICT أضف السطر (الخطوة 5)
يظهر UNKNOWN_VALUE الجملة لم تُطبَّق على القيمة: غالبًا نسيت العمود الثالث SA أو نسيت %d صحّح سطر ملف اللغة (الخطوة 6)
خطأ بايثون يظهر في syserr عند عرض التلميح كتبت % مفردة بدل %% اكتب %%
الكلاينت يتعطل عند الإقلاع (AttributeError) الثابت غير مصدَّر لبايثون أضف PyModule_AddIntConstant (الخطوة 4)
بونصان مختلطان رقم مكرر في enum (الفخ في الخطوة 1) أعطِ كل ثابت رقمًا صريحًا مختلفًا
تظهر جمل خاطئة على الأدوات الرقم مختلف بين السيرفر والكلاينت طابق الرقمين في الملفين
البونص يظهر لكن بلا تأثير لم يُربط بتأثير في السيرفر راجع الخطوة 3 (جدول التحويل والمعادلة)
التلميح ضيق والنص مقطوع الجملة أطول من عرض التلميح أضف رقمك في ATTRIBUTE_NEED_WIDTH
خطأ عند قراءة البروتو أداة أو كود قراءة البروتو لا يعرف الاسم الجديد ابحث عن اسم بونص قياسي وانسخ مواضعه
كود بايثون لا يشتغل كتبته بصيغة بايثون 3 والكلاينت 2.7 اكتبه بصيغة بايثون 2

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

أمور متقدمة تحتاج انتباه

  • أكثر من ثلاثة بونصات على الأداة: الحد 3 مربوط ببنية البروتو والحزم والجداول، وتغييره يحتاج تعديلات واسعة وليس للمبتدئين.
  • القيم العشرية: البونص يحمل أعدادًا صحيحة، فإذا تحتاج نسبة بكسور استخدم قيمة أكبر (مثل الألف) واقسمها في المعادلة.
  • القيم السالبة: تدعمها دالة اللون، لكن اختبرها في الحساب حتى لا ينقص الضرر عن الصفر.
  • الحدود: نوع البونص يُخزَّن عادة في بايت واحد، فلا يزيد عن 255، والحد المعتمد عندك 127.
  • التوثيق: سجّل أرقامك الخاصة في ملف (96 لهذا، 97 لذاك) حتى لا تُستخدم مرتين.
  • إدارة النسخ: استخدم Git على السورس، فيسهل عليك الرجوع وقت يتعطل شي.

جدول أرقام البونصات في ملفاتنا

هذه القائمة الكاملة كما خرجت من ملف length.h الذي فحصناه (الرقم 94 غير مستخدم):

الرقم البونص الرقم البونص الرقم البونص
0 APPLY_NONE 1 APPLY_MAX_HP 2 APPLY_MAX_SP
3 APPLY_CON 4 APPLY_INT 5 APPLY_STR
6 APPLY_DEX 7 APPLY_ATT_SPEED 8 APPLY_MOV_SPEED
9 APPLY_CAST_SPEED 10 APPLY_HP_REGEN 11 APPLY_SP_REGEN
12 APPLY_POISON_PCT 13 APPLY_STUN_PCT 14 APPLY_SLOW_PCT
15 APPLY_CRITICAL_PCT 16 APPLY_PENETRATE_PCT 17 APPLY_ATTBONUS_HUMAN
18 APPLY_ATTBONUS_ANIMAL 19 APPLY_ATTBONUS_ORC 20 APPLY_ATTBONUS_MILGYO
21 APPLY_ATTBONUS_UNDEAD 22 APPLY_ATTBONUS_DEVIL 23 APPLY_STEAL_HP
24 APPLY_STEAL_SP 25 APPLY_MANA_BURN_PCT 26 APPLY_DAMAGE_SP_RECOVER
27 APPLY_BLOCK 28 APPLY_DODGE 29 APPLY_RESIST_SWORD
30 APPLY_RESIST_TWOHAND 31 APPLY_RESIST_DAGGER 32 APPLY_RESIST_BELL
33 APPLY_RESIST_FAN 34 APPLY_RESIST_BOW 35 APPLY_RESIST_FIRE
36 APPLY_RESIST_ELEC 37 APPLY_RESIST_MAGIC 38 APPLY_RESIST_WIND
39 APPLY_REFLECT_MELEE 40 APPLY_REFLECT_CURSE 41 APPLY_POISON_REDUCE
42 APPLY_KILL_SP_RECOVER 43 APPLY_EXP_DOUBLE_BONUS 44 APPLY_GOLD_DOUBLE_BONUS
45 APPLY_ITEM_DROP_BONUS 46 APPLY_POTION_BONUS 47 APPLY_KILL_HP_RECOVER
48 APPLY_IMMUNE_STUN 49 APPLY_IMMUNE_SLOW 50 APPLY_IMMUNE_FALL
51 APPLY_SKILL 52 APPLY_BOW_DISTANCE 53 APPLY_ATT_GRADE_BONUS
54 APPLY_DEF_GRADE_BONUS 55 APPLY_MAGIC_ATT_GRADE 56 APPLY_MAGIC_DEF_GRADE
57 APPLY_CURSE_PCT 58 APPLY_MAX_STAMINA 59 APPLY_ATTBONUS_WARRIOR
60 APPLY_ATTBONUS_ASSASSIN 61 APPLY_ATTBONUS_SURA 62 APPLY_ATTBONUS_SHAMAN
63 APPLY_ATTBONUS_MONSTER 64 APPLY_MALL_ATTBONUS 65 APPLY_MALL_DEFBONUS
66 APPLY_MALL_EXPBONUS 67 APPLY_MALL_ITEMBONUS 68 APPLY_MALL_GOLDBONUS
69 APPLY_MAX_HP_PCT 70 APPLY_MAX_SP_PCT 71 APPLY_SKILL_DAMAGE_BONUS
72 APPLY_NORMAL_HIT_DAMAGE_BONUS 73 APPLY_SKILL_DEFEND_BONUS 74 APPLY_NORMAL_HIT_DEFEND_BONUS
75 APPLY_PC_BANG_EXP_BONUS 76 APPLY_PC_BANG_DROP_BONUS 77 APPLY_EXTRACT_HP_PCT
78 APPLY_RESIST_WARRIOR 79 APPLY_RESIST_ASSASSIN 80 APPLY_RESIST_SURA
81 APPLY_RESIST_SHAMAN 82 APPLY_DEF_GRADE 83 APPLY_COSTUME_ATTR_BONUS
84 APPLY_MAGIC_ATTBONUS_PER 85 APPLY_MELEE_MAGIC_ATTBONUS_PER 86 APPLY_RESIST_ICE
87 APPLY_RESIST_EARTH 88 APPLY_RESIST_DARK 89 APPLY_ANTI_CRITICAL_PCT
90 APPLY_ANTI_PENETRATE_PCT 91 APPLY_ACCEDRAIN_RATE 92 APPLY_RESIST_MAGIC_REDUCTION
93 APPLY_RESIST_MOUNT_FALL 95 APPLY_MOUNT

أسئلة شائعة عن إضافة بونص جديد

كم بونص جديد أقدر أضيف؟

في ملفاتنا الأرقام الفاضية 94 و96 إلى 126، يعني 32 رقمًا قبل MAX_APPLY_NUM. تأكد بالبحث أن إضافاتك الأخرى ما تستخدمها.

هل إضافة بونص جديد تحتاج تعديل قاعدة البيانات؟

عادةً لا، لأن البونص يُخزَّن نوعًا وقيمة داخل بيانات الأداة. لكن تأكد من سورسك.

هل يعمل على بايثون 3؟

الملفات التي فحصناها بايثون 2.7. وإذا كان كلاينتك بايثون 3 فخطواته نفسها مع اختلاف في صياغة الكود.

هل يظهر البونص في الصفات العشوائية للأداة؟

التلميح نعم، لأن القاموس نفسه يخدم النوعين. وأن يخرج كاحتمال عشوائي يحتاج إدخاله في جدول البونصات العشوائية بالسيرفر (الخطوة 8).

كيف أخفي بونصًا تقنيًا من التلميح؟

أضف شرط continue له في __AppendAffectInformation مثل ما يحصل مع APPLY_ACCEDRAIN_RATE وAPPLY_MOUNT.

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

قارن القائمتين بأداة مقارنة ملفات (diff) أو استعمل الجدول أعلاه كمرجع، وراجع كل مرة تضيف فيها بونصًا.

أحتاج مساعدة في تطبيق بونص مخصص على سيرفري؟

اسأل فريق AZO ONE عبر 🔒 هذا الرابط خاص بهذا المقال
لعرضه يجب تسجيل الدخول وكتابة تعليق داخل نفس المقال تنبيه مهم ( التعليقات عشواية سوف يتم رفضها وفي حال تكرار سوف يتم حظر ).
ونساعدك.

الخلاصة

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

مواضيع تهمك

  • 🔒 هذا الرابط خاص بهذا المقال
    لعرضه يجب تسجيل الدخول وكتابة تعليق داخل نفس المقال تنبيه مهم ( التعليقات عشواية سوف يتم رفضها وفي حال تكرار سوف يتم حظر ).
  • 🔒 هذا الرابط خاص بهذا المقال
    لعرضه يجب تسجيل الدخول وكتابة تعليق داخل نفس المقال تنبيه مهم ( التعليقات عشواية سوف يتم رفضها وفي حال تكرار سوف يتم حظر ).
  • 🔒 هذا الرابط خاص بهذا المقال
    لعرضه يجب تسجيل الدخول وكتابة تعليق داخل نفس المقال تنبيه مهم ( التعليقات عشواية سوف يتم رفضها وفي حال تكرار سوف يتم حظر ).
  • 🔒 هذا الرابط خاص بهذا المقال
    لعرضه يجب تسجيل الدخول وكتابة تعليق داخل نفس المقال تنبيه مهم ( التعليقات عشواية سوف يتم رفضها وفي حال تكرار سوف يتم حظر ).
  • 🔒 هذا الرابط خاص بهذا المقال
    لعرضه يجب تسجيل الدخول وكتابة تعليق داخل نفس المقال تنبيه مهم ( التعليقات عشواية سوف يتم رفضها وفي حال تكرار سوف يتم حظر ).

تبي أحد يضيف لك بونصات مخصصة على سيرفرك بتأثيراتها كاملة؟ فريق AZO ONE يسوي لك ذلك ضمن 🔒 هذا الرابط خاص بهذا المقال
لعرضه يجب تسجيل الدخول وكتابة تعليق داخل نفس المقال تنبيه مهم ( التعليقات عشواية سوف يتم رفضها وفي حال تكرار سوف يتم حظر ).
على ديسكورد.

اترك ردّاً

منتجات برمجية · AZO ONE
جاهز تطلق سيرفر ماتين2؟
اختر الطريق: نجهّز لك السيرفر كاملًا، أو تشتري الملفات وتبدأ بنفسك.
خدمات ماتين2
399 ر.س 500 ر.س
ملفات سيرفر · Oldschool 1-99
399 ر.س 500 ر.س