private void ListCategoryItemsCommand(IPlayer player, string command, string[] args)
        {
            if (args.Length != 1)
            {
                player.Reply(string.Format(GetMessage("NotEnoughArguments", player.Id), 1));
            }

            ItemCategory itemCategory = (ItemCategory)Enum.Parse(typeof(ItemCategory), args[0]);

            if (itemCategory.IsNull <ItemCategory>())
            {
                player.Reply(GetMessage("InvalidCategory", player.Id));
            }

            TextTable output = new TextTable();

            output.AddColumns("Unique Id", "Shortname", "Category", "Vanilla Stack", "Custom Stack", "Multiplier");

            foreach (ItemDefinition itemDefinition in ItemManager.GetItemDefinitions()
                     .Where(itemDefinition => itemDefinition.category == itemCategory))
            {
                ItemInfo itemInfo = GetIndexedItem(itemDefinition.category, itemDefinition.itemid);

                output.AddRow(itemDefinition.itemid.ToString(), itemDefinition.shortname,
                              itemDefinition.category.ToString(), itemInfo.VanillaStackSize.ToString("N0"),
                              Mathf.Clamp(GetStackSize(itemDefinition), 0, int.MaxValue).ToString("N0"),
                              _config.CategoryStackMultipliers[itemDefinition.category.ToString()].ToString());
            }

            player.Reply(output.ToString());
        }
        private void ItemSearchCommand(IPlayer player, string command, string[] args)
        {
            if (args.Length != 1)
            {
                player.Reply(
                    string.Format(GetMessage("NotEnoughArguments", player.Id), 1));
            }

            List <ItemDefinition> itemDefinitions = ItemManager.itemList.Where(itemDefinition =>
                                                                               itemDefinition.displayName.english.Contains(args[0]) ||
                                                                               itemDefinition.displayDescription.english.Contains(args[0]) ||
                                                                               itemDefinition.shortname.Equals(args[0]) ||
                                                                               itemDefinition.shortname.Contains(args[0]))
                                                    .ToList();

            TextTable output = new TextTable();

            output.AddColumns("Unique Id", "Shortname", "Category", "Vanilla Stack", "Custom Stack");

            foreach (ItemDefinition itemDefinition in itemDefinitions)
            {
                ItemInfo itemInfo = GetIndexedItem(itemDefinition.category, itemDefinition.itemid);

                output.AddRow(itemDefinition.itemid.ToString(), itemDefinition.shortname,
                              itemDefinition.category.ToString(), itemInfo.VanillaStackSize.ToString("N0"),
                              Mathf.Clamp(GetStackSize(itemDefinition), 0, int.MaxValue).ToString("N0"));
            }

            player.Reply(output.ToString());
        }
Exemplo n.º 3
0
        private void CommandGetComponents(IPlayer player, string command, string[] args)
        {
            var basePlayer = player.Object as BasePlayer;

            if (basePlayer == null)
            {
                return;
            }

            float radius;

            if (args.Length < 1 || !float.TryParse(args[0], out radius))
            {
                radius = 5f;
            }

            var output = new List <Component>();

            Vis.Components(basePlayer.transform.position, radius, output);

            var table = new TextTable();

            table.AddColumns("name", "class");

            foreach (var entry in output)
            {
                table.AddRow(entry.name, entry.GetType().FullName);
            }

            basePlayer.ConsoleMessage(table.ToString());
        }
Exemplo n.º 4
0
        public static void playerlistpos(Arg arg)
        {
            TextTable textTable = new TextTable();

            textTable.AddColumns("SteamID", "DisplayName", "POS", "ROT");
            foreach (BasePlayer activePlayer in BasePlayer.activePlayerList)
            {
                textTable.AddRow(activePlayer.userID.ToString(), activePlayer.displayName, activePlayer.transform.position.ToString(), activePlayer.transform.rotation.eulerAngles.ToString());
            }
            arg.ReplyWith(textTable.ToString());
        }
        private void ListCategoriesCommand(IPlayer player, string command, string[] args)
        {
            TextTable output = new TextTable();

            output.AddColumns("Category Name", "Items In Category");

            foreach (string category in Enum.GetNames(typeof(ItemCategory)))
            {
                output.AddRow(category, _data.ItemCategories[category].Count.ToString());
            }

            player.Reply(output.ToString());
        }
Exemplo n.º 6
0
        private void ListCategoriesCommand(IPlayer player, string command, string[] args)
        {
            TextTable output = new TextTable();

            output.AddColumns("Category Name", "Items In Category");

            foreach (string category in Enum.GetNames(typeof(ItemCategory)))
            {
                output.AddRow(category, ItemManager.itemList.Where(x => x.category.ToString() == category).Count().ToString());
            }

            player.Reply(output.ToString());
        }
Exemplo n.º 7
0
        private void CommandExtensionList(IPlayer player, string command, string[] args)
        {
            var extensions = Interface.Oxide.GetAllExtensions();
            var table      = new TextTable();

            table.AddColumns("Name", "Author", "Filename", "Version");

            foreach (var ext in extensions)
            {
                table.AddRow(ext.Name, ext.Author, ext.Filename.Substring(ext.Filename.LastIndexOf('\\') + 1), ext.Version.ToString());
            }

            player.Reply(table.ToString());
        }
Exemplo n.º 8
0
        public override string ToString()
        {
            TextTable textTable = new TextTable();

            textTable.AddColumns("IP", "connections");
            lock (_sync)
            {
                foreach (KeyValuePair <IPAddress, int> item in _addressCounts.OrderByDescending((KeyValuePair <IPAddress, int> t) => t.Value))
                {
                    textTable.AddRow(item.Key.ToString(), item.Value.ToString());
                }
                return($"{textTable}\n{_overallCount} total");
            }
        }
Exemplo n.º 9
0
 void QuickSmeltInfoCommand(ConsoleSystem.Arg args)
 {
     if (!args.IsAdmin)
     {
         return;
     }
     TextTable table = new TextTable();
     table.AddColumns("Description", "Setting", "Console Command");
     table.AddRow("", "");
     table.AddRow($"Smelt Speed", $"{Settings.SmeltSpeed}x", "quicksmelt.smelt");
     table.AddRow($"Charcoal Rate", $"{Settings.CharcoalRate.ToString("0.0")}x", "quicksmelt.charcoal");
     table.AddRow($"Wood Rate", $"{Settings.WoodRate}x", "quicksmelt.wood");
     table.AddRow($"Will Food Cook In Furnace", $"{Settings.CanCookFoodInFurnace}", "quicksmelt.food");
     args.ReplyWith(table.ToString());
 }
Exemplo n.º 10
0
        private void CommandLocation(IPlayer player, string command, string[] args)
        {
            if (!player.HasPermission(_config.LocationPermission))
            {
                player.Reply(GetMsg("No Permission", player.Id));
                return;
            }

            if (args.Length == 0)
            {
                goto syntax;
            }

            switch (args[0])
            {
            case "new":
            case "n":
            {
                if (args.Length != 2)
                {
                    goto syntax;
                }

                var location = new PluginData.Location
                {
                    Name = args[1]
                };

                player.Position(out location.Position.x, out location.Position.y, out location.Position.z);
                _data.Locations.Add(location);

                player.Reply(location.Format(player.Id));
                goto saveData;
            }

            case "delete":
            case "remove":
            case "d":
            case "r":
            {
                int id;
                if (args.Length != 2 || !int.TryParse(args[1], out id))
                {
                    goto syntax;
                }

                var locationIndex = PluginData.Location.FindIndex(id);
                if (!locationIndex.HasValue)
                {
                    player.Reply(GetMsg("Location: Not Found", player.Id));
                    return;
                }

                _data.Locations.RemoveAt(locationIndex.Value);
                player.Reply(GetMsg("Location: Removed", player.Id));
                goto saveData;
            }

            case "edit":
            case "e":
            {
                int id;
                if (args.Length < 4 || !int.TryParse(args[1], out id))
                {
                    player.Reply(GetMsg("Location: Edit Syntax", player.Id));
                    return;
                }

                var locationIndex = PluginData.Location.FindIndex(id);
                if (!locationIndex.HasValue)
                {
                    player.Reply(GetMsg("Location: Not Found", player.Id));
                    return;
                }

                var locationCD = new CommandLocationData
                {
                    Player   = player,
                    Location = _data.Locations[locationIndex.Value]
                };

                locationCD.Apply(args);
                player.Reply(GetMsg("Location: Edit Finished", player.Id));
                goto saveData;
            }

            case "update":
            case "u":
            {
                LoadData();
                player.Reply(GetMsg("Location: Updated", player.Id));
                return;
            }

            case "list":
            case "l":
            {
                var table = new TextTable();
                table.AddColumns("ID", "Name", "Group", "Position");

                foreach (var location in _data.Locations)
                {
                    table.AddRow(location.ID.ToString(), location.Name, location.Group.ToString(), location.Position.ToString());
                }

                player.Reply(table.ToString());
                return;
            }

            case "valid":
            case "validate":
            case "v":
            {
                int id;
                if (args.Length < 2 || !int.TryParse(args[1], out id))
                {
                    player.Reply(GetMsg("Location: Syntax", player.Id));
                    return;
                }

                var locationIndex = PluginData.Location.FindIndex(id);
                if (!locationIndex.HasValue)
                {
                    player.Reply(GetMsg("Location: Not Found", player.Id));
                    return;
                }

                var location = _data.Locations[locationIndex.Value];
                player.Reply(GetMsg("Location: Validation Format", player.Id)
                             .Replace("{buildings}", IsValidForBuilding(location.Position).ToString())
                             .Replace("{colliders}", IsValidForColliders(location.Position).ToString()));
                return;
            }

            case "debug":
            {
                player.Reply(GetMsg("Location: Debug", player.Id).Replace("{amount}", _positions.Count.ToString()));
                return;
            }

            default:
            {
                goto syntax;
            }
            }

syntax:
            player.Reply(GetMsg("Location: Syntax", player.Id));
            return;

saveData:
            SaveData();
        }