Иконка ресурса

FREE SimpleWhitelist : 1.0.0 1.0.0

Нет прав для скачивания
C#:
using Newtonsoft.Json;
using Oxide.Core;
using System.Collections.Generic;

namespace Oxide.Plugins;

[Info("SimpleWhitelist", "Bubbafett", "1.0.0")]
[Description("Plugin to create simple whitelist of who can join your server.")]
public class SimpleWhitelist : RustPlugin
{
    #region Config

    public required Configuration PluginConfig;
    private static string _permAllow = "SimpleWhitelist.Allow";

    public class Configuration
    {
        [JsonProperty(PropertyName = "Version (DO NOT CHANGE)", Order = int.MaxValue)]
        public VersionNumber Version = new(1, 0, 0);

        [JsonProperty(PropertyName = "Whitelist Enabled")]
        public bool Enabled = true;

        [JsonProperty(PropertyName = "Use Permission")]
        public bool PermEnabled = false;

        [JsonProperty(PropertyName = "Kick Message")]
        public string KickMessage = "You are not whitelisted to join this server.";

        [JsonProperty(PropertyName = "Whitelisted Steam IDs", ObjectCreationHandling = ObjectCreationHandling.Replace)]
        public List<ulong> SteamIDs = [0, 1];
    }

    protected override void LoadConfig()
    {
        base.LoadConfig();
        PluginConfig = Config.ReadObject<Configuration>();
        if (PluginConfig == null)
        {
            PluginConfig = new Configuration();
            SaveConfig();
            return;
        }

        if (PluginConfig.Version >= Version) return;
        PrintWarning("Outdated configuration file detected. Updating...");
        UpdateConfig();
        SaveConfig();
    }

    private void UpdateConfig()
    {
        if (PluginConfig.Version >= Version) return;
        if (PluginConfig.Version <= new VersionNumber(1, 0, 0))
        {
            // Updates go here
        }
        PluginConfig.Version = Version;
        SaveConfig();
    }

    protected override void LoadDefaultConfig() => new Configuration();
    protected override void SaveConfig() => Config.WriteObject(PluginConfig, true);

    #endregion

    private object? CanUserLogin(string name, string id, string ipAddress)
    {
        if (!PluginConfig.Enabled) return null;
        if (PluginConfig.PermEnabled & permission.UserHasPermission(id, _permAllow)) return null;
        if (ulong.TryParse(id, out ulong steamId) && PluginConfig.SteamIDs.Contains(steamId)) return null;
        return PluginConfig.KickMessage;
    }
}

Автор
15FPS
Скачиваний
0
Просмотры
1
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок
Сверху