Ejemplo n.º 1
0
        private void OnWear(UnturnedPlayer player, UnturnedPlayerEvents.Wearables wear, ushort id, byte?quality)
        {
            if ((player.IsAdmin && Configuration.Instance.IgnoreAdmins) || player.GetPermissions().Any(x => x.Name == "extrarestrictor.bypass"))
            {
                return;
            }

            RestrictedItem item = Configuration.Instance.Restricted.FirstOrDefault(x => x.Id == id);

            if (item != null && !player.GetPermissions().Any(x => x.Name == item.Bypass))
            {
                // Gotta wait until the next frame for the item to be removed
                switch (wear)
                {
                    #region WearSwitch
                case UnturnedPlayerEvents.Wearables.Backpack:
                    StartCoroutine(InvokeOnNextFrame(() =>
                                                     player.Player.clothing.askWearBackpack(0, 0, new byte[0], true)));
                    break;

                case UnturnedPlayerEvents.Wearables.Glasses:
                    StartCoroutine(InvokeOnNextFrame(() =>
                                                     player.Player.clothing.askWearGlasses(0, 0, new byte[0], true)));
                    break;

                case UnturnedPlayerEvents.Wearables.Hat:
                    StartCoroutine(InvokeOnNextFrame(() =>
                                                     player.Player.clothing.askWearHat(0, 0, new byte[0], true)));
                    break;

                case UnturnedPlayerEvents.Wearables.Mask:
                    StartCoroutine(InvokeOnNextFrame(() =>
                                                     player.Player.clothing.askWearMask(0, 0, new byte[0], true)));
                    break;

                case UnturnedPlayerEvents.Wearables.Pants:
                    StartCoroutine(InvokeOnNextFrame(() =>
                                                     player.Player.clothing.askWearPants(0, 0, new byte[0], true)));
                    break;

                case UnturnedPlayerEvents.Wearables.Shirt:
                    StartCoroutine(InvokeOnNextFrame(() =>
                                                     player.Player.clothing.askWearShirt(0, 0, new byte[0], true)));
                    break;

                case UnturnedPlayerEvents.Wearables.Vest:
                    StartCoroutine(InvokeOnNextFrame(() =>
                                                     player.Player.clothing.askWearVest(0, 0, new byte[0], true)));
                    break;
                    #endregion
                }
            }
        }
Ejemplo n.º 2
0
        private void OnInventoryUpdated(UnturnedPlayer player, InventoryGroup inventoryGroup, byte inventoryIndex, ItemJar P)
        {
            if ((player.IsAdmin && Configuration.Instance.IgnoreAdmins) || player.GetPermissions().Any(x => x.Name == "extrarestrictor.bypass"))
            {
                return;
            }

            RestrictedItem item = Configuration.Instance.Restricted.FirstOrDefault(x => x.Id == P.item.id);

            if (item != null && !player.GetPermissions().Any(x => x.Name == item.Bypass))
            {
                player.Inventory.removeItem((byte)inventoryGroup, inventoryIndex);
                UnturnedChat.Say(player, Util.Translate("item_restricted", Assets.find(EAssetType.ITEM, P.item.id).name, P.item.id), Color.red);
            }
        }