نقل التطويرات وتوثيق واختبار 2.13 للإصلاحات النهائية للإصدار.
مستودع الإضافات VSH2
ملاحظة: سيتم تحديث هذا الملف التمهيدي قريبًا. شكرا لك على صبركم!
VSH2 هو إعادة كتابة لـ VSH1. كان لدى كل من VSH1 وFF2 إطار عمل سيئ للغاية لوضع اللعبة يستخدم ترميزًا غير مطابق للمواصفات ومخترقًا. يمكنني حتى أن أذهب إلى أبعد من ذلك لأقول إنهم ربما لم يكن لديهم إطار عمل على الإطلاق ولا أي هيكل حقيقي للكود الخاص به.
يحتوي VSH2 في الواقع على إطار عمل منظم قائم على الأحداث يجمع بين أفضل ميزات كل من FF2 وVSH1 ليس فقط من خلال دعم الزعماء المتعددين ولكن أيضًا لتسهيل إضافة زعماء جدد ومنحهم قدرات وآليات فريدة حقًا من خلال منح المطور كامل حقوقه. ، تحكم غير مقيد بالكود بدلاً من ملفات التكوين الصارمة.
كان غرض FF2 هو أن يكون من السهل جدًا إضافة الرؤساء بطريقة عامة ومختصرة. بالطبع هناك مقايضة: يعد FF2 أكثر صعوبة، إن لم يكن من المستحيل، لتخصيص آليات وقدرات الرئيس دون الحاجة إلى إعادة ترميز أجزاء من FF2 نفسه. VSH2، نظرًا لأنه يتطلب على الأقل بعض الخبرة مع SourcePawn، يعد إنشاء زعماء جدد أكثر صعوبة إلى حد ما بالنسبة للمبتدئين مما لو كانوا يستخدمون FF2 ولكن اختيار مكافآت VSH2 يأخذ الطريق الأصعب من خلال السماح لك بالتحكم بالقرب من كل سلوك رئيس فردي و منطق.
إذا كنت بحاجة إلى مساعدة في إعداد الرؤساء أو على الأقل تحتاج إلى بعض المعلومات حول واجهة برمجة التطبيقات (API) لبناء الرؤساء، فاستفد من واجهة برمجة تطبيقات VSH2 الواسعة من خلال إلقاء نظرة على VSH2 wiki
ملحوظة: سيعمل VSH2 بشكل جيد تمامًا كما هو خارج الصندوق كبديل لـ VSH1، ولكن تم تصميمه مع وضع مطوري SourcePawn القادرين في الاعتبار لتحقيق أقصى استفادة من إطار العمل المشفر من الصفر!
addons/sourcemod/configs
. تأكد من الاحتفاظ ببنية المجلد الموجود في التكوينات.استخدم بناء جملة sourcepawn الجديد (sourcemod 1.7+).
العبارات التي تتطلب أقواسًا (مثل عبارات 'if') يجب أن يكون كل جانب من الأقواس متباعدًا بحيث تلامس أقواس البداية الكلمة الأساسية للإنشاء، على سبيل المثال construct( code/expression )
.
يجب أن تحتوي التعليقات ذات السطر الواحد التي تنقل رسالة على ثلاث خطوط مائلة: ///
.
يجب أن تحتوي التعليقات متعددة الأسطر التي تنقل رسالة على نجمة بداية إضافية: /**
.
الخصائص والوظائف والأساليب التي يقل عددها عن 30 سطرًا من التعليمات البرمجية يجب أن تبدأ بـ {
قوس في نمط K&R C، على سبيل المثال: ret func() {
.
يجب أن تكون أسماء المتغيرات المحلية في حالة الثعبان.
يجب أن تحتوي أسماء الخصائص على بادئة مكونة من حرف واحد من نوعها.
يجب تسمية الدوال والأساليب وخرائط الطرق والتعدادات وقيم التعداد في PascalCase. Pascal_Case مقبول أيضًا.
قد تكون قيم التعداد المستخدمة كأعلام بأحرف كبيرة.
قواعد الثوابت المسماة:
1.0
) يجب أن تكون ثوابت تعداد تضاف مع 0.0
في موقع (مواقع) استخدامها.3.14
) يجب أن تكون محددة بواسطة المعالج المسبق. متسلسلة if
لم تكن العبارات سيئة ولكن إذا كانت البيانات عبارة عن شيء واحد فقط في كل مرة، فاستخدم عبارات if-else if
.
if-else if
على قطعة واحدة من البيانات، فاستخدم عبارة switch
.تتيح لك حقول/علامات البت استخدام int واحد كـ 32 منطقيًا. يكون مفيدًا إذا كان من الممكن أن يكون العنصر جوانب متعددة في وقت واحد.
1 << n
حيث n
من 0 إلى 31.IntLog2
في int_log.inc
: n == IntLog2(1 << n)
لا توجد زيادات مسبقة ++i, i--
, زيادات لاحقة فقط i++, i--