مُدَحْرِج الأَزْوَاج

:discourse2: ملخص يضيف مُلقّي النرد مُلقّي نرد غنيًا بالميزات إلى منشوراتك في Discourse، ليناسب احتياجاتك في الألعاب القائمة على المنتديات!
:hammer_and_wrench: رابط المستودع https://github.com/discourse/discourse-dice
:open_book: جديد في سِمات Discourse؟ دليل المبتدئين لاستخدام سِمات Discourse

تثبيت هذا المكون السِّماتي

:information_source: المشرفون: يُرجى النظر في تعطيل إعداد discourse narrative bot disable public replies بعد التثبيت، حيث أن هذا المكون السِّماتي يحل تمامًا محل سلوك رمي النرد الخاص بالبوت.

:game_die: الاستخدام الأساسي

يقوم المكون السِّماتي بتفسير الرميات المُنسقة كـ [wrap=dice].

[wrap=dice]d20[/wrap]
[wrap=dice]d100[/wrap]
[wrap=dice]2d6[/wrap]

يمكنك رمي عدة نرد من نفس النوع، وتطبيق تعديلات جمعية، والتحقق تلقائيًا من النتيجة مقابل عتبة نجاح:

[wrap=dice]2d6+3t12[/wrap]

image

:woman_scientist: الميزات المتقدمة: الحرجة، الرميات المنقسمة

يمكنك تحديد رموز طبيعية محددة (natural rolls) تُعتبر “ضربات حرجة” باستخدام خيار crit=. يتم التحقق من الضربات الحرجة قبل تطبيق التعديل الجمعي.

[wrap=dice crit=1,100]1d100[/wrap]
[wrap=dice crit=1,20]d20+3[/wrap]

image

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

إذا كنت تسمح بالتحقق من رميات متعددة مقابل نفس العتبة، يمكنك إضافة مُعدّل الفردية i بالتزامن مع العتبات t. سيتم تلخيص عدد النرد الناجحة التي تجاوزت العتبة في النهاية.

[wrap=dice]5d100t60i[/wrap]
[wrap=dice]3d20-5t0i[/wrap]

:information_source: حاليًا، تُظهر الرميات قبل تطبيق التعديلات. قد يتغير هذا في المستقبل بناءً على الملاحظات.

:no_entry: القيود

لتجنب التخريب عبر نصوص المنشورات الكبيرة، يتوفر حد أقصى لعدد النرد لكل رمية في إعدادات السِّمة للمشرف لتعديله. الافتراضي هو 80 نرد.

لا يُسمح بالنرد ذات 0 أوجه أو 1 وجه. لا يُسمح برمي 0 نرد، ولا يُسمح بالنرد التي تزيد أوجهها عن حوالي 67 مليون وجه لأسباب تتعلق بالأداء.

:gear: التفاصيل التقنية، والغش

تُحسب الرميات باستخدام JavaScript باستخدام مولد أرقام عشوائية (RNG) مُغذّى بمعرف المنشور وطابعه الزمني للتكوين، بالترتيب عبر جسم المنشور. لا تكون قيم الرميات مرئية قبل إنشاء المنشور.

تُطبّق عدة أنماط تنسيق خاصة على الرميات للتمييز بينها وبين النص العادي في المنشورات. هذا لا يمنع الأشخاص من نشر الصور!

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

إذا كنت بحاجة إلى إضافة رميات نرد إضافية إلى منشورك، فيجب إضافتها في الأسفل للحفاظ على نتائج جميع الرميات السابقة. إضافة رميات نرد جديدة في أعلى المنشور ستؤدي إلى تعشيش نتائج جميع الرميات. لهذا السبب، فإن وجود أي رميات خاطئة في منشور ما ستمنع جميع الرميات اللاحقة من العمل.
معاينة المُنشئ (composer preview) ستخبرك ما إذا كان تحديد النرد الخاص بك :game_die: صحيحًا أو :warning: خاطئًا.

في حين أن هذه التدابير يمكن أن تساعد في منع الغش العرضي، قد يحاول غشاش مصمم التنبؤ بوقت إرسال منشوره. إذا كنت تفكر في ذلك لأي شيء ذي قيمة، اطلب من مستخدم موثوق لا يمكنه استلام المكافأة تأليف المنشور، أو استخدم مصدرًا مستقلًا مثل https://random.org ، الذي يقدم خدمات مدفوعة للقرعات والمسابقات القابلة للتدقيق.

تذكر أن تستمتع!

الإعدادات

الاسم الوصف
الحد الأقصى للنرد
الترجمة الافتراضي
dice.result.success_count.one (%{count} نجاح)
dice.result.success_count.other (%{count} نجاحات)
dice.excessive.quantity.one كمية نرد مفرطة (الحد الأقصى %{count})
dice.excessive.quantity.other كمية نرد مفرطة (الحد الأقصى %{count})
dice.excessive.faces لا يمكن أن يتجاوز عدد أوجه النرد 67,000,000
dice.missing.faces مواصفات نرد غير صالحة: مفقود عدد الأوجه
dice.invalid.generic مواصفات نرد غير صالحة. التنسيق: 2d20+3
dice.invalid.quantity لا يمكن أن يكون عدد النرد صفرًا
dice.invalid.faces لا يمكن أن يكون عدد أوجه النرد صفرًا أو واحدًا
dice.invalid.modifier لا يمكن أن يكون المعدل صفرًا
dice.invalid.threshold لا يمكن أن تكون العتبة صفرًا
dice.invalid.crits أرقام خاطئة في سمة الحرجة. (يجب أن تكون crit=4,5,6)
dice.invalid.halt_after_error توقف الرمي بسبب خطأ سابق. أصلح الأخطاء لعرض النتائج.

:discourse2: مُستضاف لدينا؟ تتوفر المكونات السِّماتية للاستخدام في خططنا القياسية، والتجارية، والمؤسسية.

33 إعجابًا

إذا كان أي شخص مهتمًا بتنفيذ أداة رمي نرد أكثر تنوعًا في Discourse باستخدام شخصية ذكاء اصطناعي، فقد قمت بذلك في مجتمع أديره وهو يعمل بشكل ممتاز. لقد قمت بإعداد شخصية ذكاء اصطناعي وسمحت لها باستخدام أداة Random Picker، وضبطت إعداد ‘max context posts’ على 1، وأعطيتها هذه التعليمات:

لقد قمت بربط الشخصية بمستخدم (في هذه الحالة @dice)، بحيث يمكن استدعاؤها في أي منشور بقول شيء مثل @dice 3d6، وسيقوم الروبوت بالرد بالنتيجة. يمكنك رؤيتها أثناء العمل في هذا الموضوع من مجتمعي (إذا كنت مهتمًا بألعاب الطاولة، فلا تتردد في الانضمام إلى المجتمع - إنه لا يزال جديدًا جدًا).

بالطبع، هذا يستخدم الذكاء الاصطناعي، لذا فهو يتطلب مفتاح واجهة برمجة تطبيقات LLM. أنا أستخدم GPT-4o-mini، لذا فإن التكلفة منخفضة جدًا، خاصة بالنسبة للحجم الذي أنظر إليه هنا.

5 إعجابات

لمن قد يكون مهتمًا، قمت بتحديث المكون الأصلي لواجهة برمجة التطبيقات (API) الجديدة. لم أرغب في استخدام نموذج لغوي كبير (LLM) لرمي نرد بسيط، أو استخدام البوت، لقد أعجبني المكون الأصلي كثيرًا…

على أي حال، اضطررت لطلب المساعدة من كلود (Claude)، لذا إذا لاحظ أي شخص عبارة “AI BLABLABLA”، نعم، أنت على حق، أنا أعترف. لقد استخدمته.

بالنسبة لأولئك الذين ما زالوا مهتمين، أستضيف النسخة المتفرعة (تم أرشفة مستودع Git الأصلي).

أتطلع إلى الحصول على ملاحظات ونقد (أو حتى إهانات، لا أهتم).

4 إعجابات