MySQL: Online
Load: Low
Sandbox: Ready

إضافة ملف إعدادات إلى إضافة CounterStrikeSharp الخاصة بك

القيم المكتوبة في الشيفرة مقبولة للتجربة، لكن الإضافة الحقيقية تحتاج إلى إعدادات: رسائل وحدود وبيانات قاعدة البيانات. يستطيع CounterStrikeSharp إنشاء ملف إعدادات JSON وقراءته نيابةً عنك انطلاقًا من فئة C# بسيطة.

1

لماذا نستخدم ملف إعدادات

مع ملف الإعدادات يعدّل مالك الخادم ملفًا نصيًا ويعيد التحميل بدل أن ينتظر منك تغيير الشيفرة وإرسال إصدار جديد. كما يُبقي الأسرار، مثل كلمات المرور، خارج الشيفرة المصدرية.

2

صِف الإعدادات في فئة

أنشئ فئة ترث من BasePluginConfig. كل خاصية هي إعداد، والقيمة التي تسندها هي القيمة الافتراضية. تحدد JsonPropertyName الاسم المستخدم في الملف.

using System.Text.Json.Serialization;
using CounterStrikeSharp.API.Core;

public class MyConfig : BasePluginConfig
{
    [JsonPropertyName("WelcomeMessage")]
    public string WelcomeMessage { get; set; } = "Welcome to the server!";

    [JsonPropertyName("MaxWarnings")]
    public int MaxWarnings { get; set; } = 3;
}
3

اربطها بالإضافة

اجعل الإضافة تنفّذ IPluginConfig مع فئة الإعدادات الخاصة بك. يقرأ CounterStrikeSharp حينها الملف ويستدعي OnConfigParsed قبل Load ويسلّمك القيم المحمّلة.

public class MyPlugin : BasePlugin, IPluginConfig<MyConfig>{
    public override string ModuleName => "Config Example";
    public override string ModuleVersion => "1.0.0";

    public MyConfig Config { get; set; } = new();
    public void OnConfigParsed(MyConfig config)    {        Config = config;    }}
4

أين يُنشأ الملف

عند أول تحميل للإضافة يكتب الإطار الملف بقيمك الافتراضية في configs/plugins داخل مجلد يحمل اسم الإضافة. يعدّل مالكو الخوادم هذا الملف.

counterstrikesharp
configs
plugins
ConfigExample
ConfigExample.json
5

كيف يبدو الملف

الناتج ملف JSON بسيط فيه إدخال واحد لكل خاصية. يمكن للمالك تغيير القيم وترك الباقي كما هو.

{
  "WelcomeMessage": "Welcome to the server!",
  "MaxWarnings": 3
}
6

استخدم القيم

اقرأ الإعدادات من الخاصية Config في أي مكان من الإضافة بعد تحليل الإعدادات، مثلًا في Load أو في معالج حدث.

Logger.LogInformation("Warnings allowed: {Max}", Config.MaxWarnings);
7

أمور يجب تذكّرها

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

لا تغيّر اسم خاصية بين الإصدارات دون إعلان. المالكون الذين يحدّثون سيفقدون إعداداتهم دون أن يلاحظوا.

هل كان هذا الدليل مفيدًا؟

وجد مستخدم واحد هذا الدليل مفيدًا
تم إنشاء الصفحة في 0.015 ثانية
CounterStrikeSharp Web Compiler V1.0 - صُنع بواسطة بواسطة RomaniaBarlap من أجل المجتمع.