protected override void Load() { if (Configuration.Instance.Enabled) { _instance = this; Logger.Log("ItemRestrictor loaded!", ConsoleColor.Cyan); } else { Logger.Log("Configuration.Instance.Enabled == false"); Logger.Log("ItemRestrictor Unloaded!", ConsoleColor.Cyan); this.Unload(); } }
protected override void Load() { if (Configuration.Instance.Enabled) { _instance = this; Logger.Log("/i by M22 loaded!", ConsoleColor.Yellow); Logger.Log("/i by M22 loaded!", ConsoleColor.Magenta); Logger.Log("/i by M22 loaded!", ConsoleColor.Green); } else { Logger.Log("Configuration.Instance.Enabled == false"); this.Unload(); } }
public void Execute(IRocketPlayer caller, string[] command) { UnturnedPlayer player = (UnturnedPlayer)caller; if (command.Length != 1) { UnturnedChat.Say(caller, U.Translate("command_generic_invalid_parameter")); throw new WrongUsageOfCommandException(caller, (IRocketCommand)this); } ushort?nullable = command.GetUInt16Parameter(0); if (!nullable.HasValue) { string stringParameter = command.GetStringParameter(0); if (stringParameter == null) { UnturnedChat.Say(caller, U.Translate("command_generic_invalid_parameter")); throw new WrongUsageOfCommandException(caller, (IRocketCommand)this); } foreach (VehicleAsset vehicleAsset in Assets.find(EAssetType.VEHICLE)) { if (vehicleAsset != null && vehicleAsset.vehicleName != null && vehicleAsset.vehicleName.ToLower().Contains(stringParameter.ToLower())) { nullable = new ushort?(vehicleAsset.id); break; } } if (!nullable.HasValue) { UnturnedChat.Say(caller, U.Translate("command_generic_invalid_parameter")); throw new WrongUsageOfCommandException(caller, (IRocketCommand)this); } } string vehicleName = ((VehicleAsset)Assets.find(EAssetType.VEHICLE, nullable.Value)).vehicleName; //if (U.Settings.Instance.EnableVehicleBlacklist && !player.HasPermission("vehicleblacklist.bypass") && player.HasPermission("vehicle." + (object)nullable)) // UnturnedChat.Say(caller, U.Translate("command_v_blacklisted")); //foreach (var group in ItemRestrictor._instance.Configuration.Instance.Groups)// checking id for blacklist OLD SCHOOL BY M22 //{ // if (ItemRestrictor.IsPlayersGroup(caller, group) && group.BlackListVehicles.Contains((ushort)nullable)) // { // UnturnedChat.Say((IRocketPlayer)player, U.Translate("command_v_blacklisted")); // return; // } //} if (ItemRestrictor._instance.Configuration.Instance.Groups.Any(g => ItemRestrictor.IsPlayersGroup(caller, g) && // NEW SCHOOL EXPLAINED BY DAEMONN g.BlackListVehicles.Contains((ushort)nullable))) { UnturnedChat.Say((IRocketPlayer)player, U.Translate("command_v_blacklisted")); return; } if (VehicleTool.giveVehicle(player.Player, nullable.Value)) { Logger.Log(U.Translate("command_v_giving_console", (object)player.CharacterName, (object)nullable), ConsoleColor.White); UnturnedChat.Say(caller, U.Translate("command_v_giving_private", (object)vehicleName, (object)nullable)); } else { UnturnedChat.Say(caller, U.Translate("command_v_giving_failed_private", (object)vehicleName, (object)nullable)); } }
public void Execute(IRocketPlayer caller, string[] command) { UnturnedPlayer player = (UnturnedPlayer)caller; //UnturnedChat.Say("Your groups: " + string.Join(", ", R.Permissions.GetGroups(caller, true).Select(g => g.Id).ToArray())); if (command.Length == 0 || command.Length > 2) { UnturnedChat.Say((IRocketPlayer)player, U.Translate("command_generic_invalid_parameter")); throw new WrongUsageOfCommandException(caller, (IRocketCommand)this); } //if(ItemRestrictor._instance.Configuration.Instance.Groups.Contains()) ushort result1 = 0; byte result2 = 1; string itemString = command[0].ToString(); if (!ushort.TryParse(itemString, out result1)) { ItemAsset itemAsset = new List <ItemAsset>(Assets.find(EAssetType.ITEM).Cast <ItemAsset>()).Where <ItemAsset>((Func <ItemAsset, bool>)(i => i.itemName != null)).OrderBy <ItemAsset, int>((Func <ItemAsset, int>)(i => i.itemName.Length)).Where <ItemAsset>((Func <ItemAsset, bool>)(i => i.itemName.ToLower().Contains(itemString.ToLower()))).FirstOrDefault <ItemAsset>(); if (itemAsset != null) { result1 = itemAsset.id; } if (string.IsNullOrEmpty(itemString.Trim()) || result1 == (ushort)0) { UnturnedChat.Say((IRocketPlayer)player, U.Translate("command_generic_invalid_parameter")); throw new WrongUsageOfCommandException(caller, (IRocketCommand)this); } } Asset asset = Assets.find(EAssetType.ITEM, result1); if (command.Length == 2 && !byte.TryParse(command[1].ToString(), out result2) || asset == null) { UnturnedChat.Say((IRocketPlayer)player, U.Translate("command_generic_invalid_parameter")); throw new WrongUsageOfCommandException(caller, (IRocketCommand)this); } string itemName = ((ItemAsset)asset).itemName; //if (U.Settings.Instance.EnableItemBlacklist && !player.HasPermission("itemblacklist.bypass") && player.HasPermission("item." + (object)result1)) // UnturnedChat.Say((IRocketPlayer)player, U.Translate("command_i_blacklisted")); //foreach (var group in ItemRestrictor._instance.Configuration.Instance.Groups)// checking id for blacklist OLD SCHOOL BY M22 //{ // if (ItemRestrictor.IsPlayersGroup(caller, group) && group.BlackListItems.Contains(result1)) // { // UnturnedChat.Say((IRocketPlayer)player, U.Translate("command_i_blacklisted")); // return; // } //} if (ItemRestrictor._instance.Configuration.Instance.Groups.Any(g => ItemRestrictor.IsPlayersGroup(caller, g) && // NEW SCHOOL EXPLAINED BY DAEMONN g.BlackListItems.Contains(result1))) { UnturnedChat.Say((IRocketPlayer)player, U.Translate("command_i_blacklisted")); return; } if (U.Settings.Instance.EnableItemSpawnLimit && !player.HasPermission("itemspawnlimit.bypass") && (int)result2 > U.Settings.Instance.MaxSpawnAmount) { UnturnedChat.Say((IRocketPlayer)player, U.Translate("command_i_too_much", (object)U.Settings.Instance.MaxSpawnAmount)); } else if (player.GiveItem(result1, result2)) { Logger.Log(U.Translate("command_i_giving_console", (object)player.DisplayName, (object)result1, (object)result2), ConsoleColor.White); UnturnedChat.Say((IRocketPlayer)player, U.Translate("command_i_giving_private", (object)result2, (object)itemName, (object)result1)); } else { UnturnedChat.Say((IRocketPlayer)player, U.Translate("command_i_giving_failed_private", (object)result2, (object)itemName, (object)result1)); } }