예제 #1
0
        private void Loaded()
        {
            _instance = this;

            permission.RegisterPermission(UsagePermission, this);
            permission.RegisterPermission(GUIPermission, this);
            permission.RegisterPermission(FetchPermission, this);
            permission.RegisterPermission(AdminPermission, this);
            permission.RegisterPermission(KeepOnDeathPermission, this);
            permission.RegisterPermission(KeepOnWipePermission, this);
            permission.RegisterPermission(NoBlacklistPermission, this);

            for (ushort size = MinSize; size <= MaxSize; size++)
            {
                var sizePermission = $"{UsagePermission}.{size}";
                permission.RegisterPermission(sizePermission, this);
                _backpackSizePermissions.Add(sizePermission, size);
            }

            _backpackSizePermissions = _backpackSizePermissions
                                       .OrderByDescending(kvp => kvp.Value)
                                       .ToDictionary(kvp => kvp.Key, kvp => kvp.Value);

            if (!_config.DropOnDeath || !ConVar.Server.corpses)
            {
                Unsubscribe(nameof(OnPlayerCorpseSpawned));
            }

            foreach (var player in BasePlayer.activePlayerList)
            {
                CreateGUI(player);
            }
        }
예제 #2
0
            public static Backpack Get(ulong id)
            {
                if (_instance._backpacks.ContainsKey(id))
                {
                    return(_instance._backpacks[id]);
                }

                var fileName = $"{_instance.Name}/{id}";

                TryMigrateData(fileName);

                Backpack backpack;

                if (Interface.Oxide.DataFileSystem.ExistsDatafile(fileName))
                {
                    LoadData(out backpack, fileName);
                }
                else
                {
                    backpack = new Backpack(id);
                    Backpacks.SaveData(backpack, fileName);
                }

                Interface.Oxide.DataFileSystem.GetDatafile(fileName).Settings = new JsonSerializerSettings
                {
                    DefaultValueHandling = DefaultValueHandling.Ignore
                };

                _instance._backpacks.Add(id, backpack);

                backpack.Initialize();

                return(backpack);
            }
예제 #3
0
        private void Loaded()
        {
            _instance = this;

            LoadConfig();
            LoadMessages();

            permission.RegisterPermission("backpacks.use", this);
            permission.RegisterPermission("backpacks.use.small", this);
            permission.RegisterPermission("backpacks.use.medium", this);
            permission.RegisterPermission("backpacks.use.large", this);
            permission.RegisterPermission("backpacks.use.xlarge", this);
            permission.RegisterPermission("backpacks.admin", this);

            foreach (var basePlayer in BasePlayer.activePlayerList)
            {
                try
                {
                    OnPlayerInit(basePlayer);
                }
                catch (Exception)
                {
                }
            }
        }
예제 #4
0
            public void SaveData()
            {
                _itemDataCollection = _itemContainer.itemList
                                      .Select(ItemData.FromItem)
                                      .ToList();

                Backpacks.SaveData(this, $"{_instance.Name}/{_ownerId}");
            }
예제 #5
0
        public static int displayMode = 0; //0 = Only from player's belt
                                           //1 = From player's belt and inventory
        #endregion

        void Loaded()
        {
            thisPlugin = this;
            foreach (BasePlayer player in BasePlayer.activePlayerList)
            {
                player.SendConsoleCommand("bind tab inventory.toggle;backpackInvButton");
                Puts(player.inventory.containerWear.canAcceptItem.Method.Name.ToString());
            }
        }
예제 #6
0
        private void Loaded()
        {
            Instance = this;

            LoadConfig();
            LoadMessages();

            permission.RegisterPermission("backpacks.use", this);
            permission.RegisterPermission("backpacks.admin", this);

            foreach (var basePlayer in BasePlayer.activePlayerList)
            {
                OnPlayerInit(basePlayer);
            }
        }
예제 #7
0
        private void Loaded()
        {
            _instance = this;

            permission.RegisterPermission(UsagePermission, this);
            permission.RegisterPermission(AdminPermission, this);

            for (ushort size = MinSize; size <= MaxSize; size++)
            {
                var sizePermission = $"{UsagePermission}.{size}";
                permission.RegisterPermission(sizePermission, this);
                _backpackSizePermissions.Add(sizePermission, size);
            }

            _backpackSizePermissions = _backpackSizePermissions
                                       .OrderByDescending(kvp => kvp.Value)
                                       .ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
        }
예제 #8
0
        private void Loaded()
        {
            _instance = this;

            permission.RegisterPermission(UsagePermission, this);
            permission.RegisterPermission(AdminPermission, this);

            // Register v2.x.x permissions for migration
            permission.RegisterPermission(UsagePermissionSmall, this);
            permission.RegisterPermission(UsagePermissionMedium, this);
            permission.RegisterPermission(UsagePermissionLarge, this);

            for (ushort size = MinSize; size <= MaxSize; size++)
            {
                var sizePermission = $"{UsagePermission}.{size}";
                permission.RegisterPermission(sizePermission, this);
                _backpackSizePermissions.Add(sizePermission, size);
            }

            _backpackSizePermissions = _backpackSizePermissions
                                       .OrderByDescending(kvp => kvp.Value)
                                       .ToDictionary(kvp => kvp.Key, kvp => kvp.Value);

            // Migrate permissions from v2.x.x to v3.x.x
            foreach (string group in permission.GetPermissionGroups(UsagePermissionSmall))
            {
                permission.GrantGroupPermission(group, $"{UsagePermission}.1", this);
                permission.RevokeGroupPermission(group, UsagePermissionSmall);
            }

            foreach (string group in permission.GetPermissionGroups(UsagePermissionMedium))
            {
                permission.GrantGroupPermission(group, $"{UsagePermission}.2", this);
                permission.RevokeGroupPermission(group, UsagePermissionMedium);
            }

            foreach (string group in permission.GetPermissionGroups(UsagePermissionLarge))
            {
                permission.GrantGroupPermission(group, $"{UsagePermission}.5", this);
                permission.RevokeGroupPermission(group, UsagePermissionLarge);
            }
        }
예제 #9
0
            public static Backpack Get(ulong id)
            {
                if (id == 0)
                {
                    _instance.PrintWarning("Accessing backpack for ID 0! Please report this to the author with as many details as possible.");
                }

                if (_instance._backpacks.ContainsKey(id))
                {
                    return(_instance._backpacks[id]);
                }

                var fileName = $"{_instance.Name}/{id}";

                TryMigrateData(fileName);

                Backpack backpack;

                if (Interface.Oxide.DataFileSystem.ExistsDatafile(fileName))
                {
                    LoadData(out backpack, fileName);
                }
                else
                {
                    backpack = new Backpack(id);
                    Backpacks.SaveData(backpack, fileName);
                }

                Interface.Oxide.DataFileSystem.GetDatafile(fileName).Settings = new JsonSerializerSettings
                {
                    DefaultValueHandling = DefaultValueHandling.Ignore
                };

                _instance._backpacks.Add(id, backpack);

                backpack.Initialize();

                return(backpack);
            }