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 } } }
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); } }