Esempio n. 1
0
 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();
     }
 }
Esempio n. 2
0
 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();
     }
 }
Esempio n. 3
0
        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));
            }
        }
Esempio n. 4
0
        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));
            }
        }