MySQL: Online
Load: Low
Sandbox: Ready

Aggiungere un file di configurazione al tuo plugin CounterStrikeSharp

I valori scritti nel codice vanno bene per una prova, ma un vero plugin ha bisogno di impostazioni: messaggi, limiti, dati del database. CounterStrikeSharp può creare e leggere per te una configurazione JSON a partire da una semplice classe C#.

1

Perché una configurazione

Con una configurazione, il proprietario del server modifica un file di testo e ricarica, invece di aspettare che tu cambi il codice e invii una nuova versione. Inoltre tiene i segreti, come le password, fuori dal codice sorgente.

2

Descrivi le impostazioni in una classe

Crea una classe che eredita da BasePluginConfig. Ogni proprietà è un’impostazione e il valore assegnato è quello predefinito. JsonPropertyName fissa il nome usato nel file.

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

Collegala al plugin

Fai implementare al plugin IPluginConfig con la tua classe di configurazione. CounterStrikeSharp legge allora il file e chiama OnConfigParsed prima di Load, consegnandoti i valori caricati.

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

Dove viene creato il file

La prima volta che il plugin si carica, il framework scrive il file con i tuoi valori predefiniti in configs/plugins, in una cartella con il nome del plugin. I proprietari del server modificano questo file.

counterstrikesharp
configs
plugins
ConfigExample
ConfigExample.json
5

Com’è fatto il file

Il risultato è un semplice file JSON con una voce per ogni proprietà. Il proprietario può cambiare i valori e lasciare invariato il resto.

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

Usa i valori

Leggi le impostazioni dalla proprietà Config in qualsiasi punto del plugin, dopo che la configurazione è stata analizzata, per esempio in Load o in un gestore di eventi.

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

Cose da ricordare

Le modifiche al file si applicano quando il plugin viene ricaricato, non all’istante. Se rinomini o rimuovi una proprietà in una nuova versione, avvisa gli utenti, perché il loro vecchio file ha ancora i vecchi nomi. E dato che la configurazione è testo leggibile, non metterci nulla che non vorresti far vedere a un admin.

Non cambiare mai il nome di una proprietà tra una versione e l’altra senza dirlo. Chi aggiorna perderebbe le proprie impostazioni senza accorgersene.

Questo tutorial ti è stato utile?

1 utente ha trovato utile questo tutorial
Pagina generata in 0.014 secondi
CounterStrikeSharp Web Compiler V1.0 - Realizzato con da RomaniaBarlap per la comunità.