MySQL: Online
Load: Low
Sandbox: Ready

अपने CounterStrikeSharp प्लगइन में कॉन्फ़िग फ़ाइल जोड़ना

कोड में सीधे लिखे मान टेस्ट के लिए ठीक हैं, पर असली प्लगइन को सेटिंग चाहिए: संदेश, सीमाएँ, डेटाबेस का विवरण। CounterStrikeSharp एक सादी C# क्लास से आपके लिए JSON कॉन्फ़िग बना और पढ़ सकता है।

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 फ़ाइल पढ़ता है और Load से पहले OnConfigParsed बुलाकर आपको लोड हुए मान सौंप देता है।

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

मानों का इस्तेमाल करें

कॉन्फ़िग पार्स हो जाने के बाद प्लगइन में कहीं भी, जैसे Load में या किसी इवेंट हैंडलर में, Config प्रॉपर्टी से सेटिंग पढ़ें।

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

याद रखने की बातें

फ़ाइल के बदलाव तुरंत नहीं, प्लगइन के दोबारा लोड होने पर लागू होते हैं। नए वर्शन में कोई प्रॉपर्टी का नाम बदलें या हटाएँ, तो उपयोगकर्ताओं को बताएँ, क्योंकि उनकी पुरानी फ़ाइल में अब भी पुराने नाम हैं। और कॉन्फ़िग पढ़ने लायक़ टेक्स्ट है, इसलिए उसमें ऐसा कुछ न रखें जो आप किसी एडमिन को नहीं दिखाना चाहेंगे।

वर्शनों के बीच बिना सूचना के प्रॉपर्टी का नाम कभी न बदलें। अपडेट करने वाले मालिकों की सेटिंग उन्हें पता चले बिना खो जाएँगी।

क्या यह ट्यूटोरियल उपयोगी था?

1 उपयोगकर्ता को यह ट्यूटोरियल उपयोगी लगा
पेज 0.017 सेकंड में जनरेट हुआ
CounterStrikeSharp Web Compiler V1.0 - इसके साथ बनाया गया द्वारा RomaniaBarlap समुदाय के लिए।