Esempio n. 1
0
        void AddPreset(Player p, string[] args, LevelPreset preset)
        {
            if (preset != null)
            {
                p.Message("%WThat preset level already exists"); return;
            }

            preset      = new LevelPreset();
            preset.name = args[2];

            ushort x = 0, y = 0, z = 0;

            if (!CmdNewLvl.GetDimensions(p, args, 3, ref x, ref y, ref z))
            {
                return;
            }
            preset.x = args[3]; preset.y = args[4]; preset.z = args[5];

            if (MapGen.Find(args[6]) == null)
            {
                MapGen.PrintThemes(p); return;
            }
            preset.type = args[6];
            if (!CommandParser.GetInt(p, args[7], "Price", ref preset.price, 0))
            {
                return;
            }

            Presets.Add(preset);
            p.Message("&aSuccessfully added the following map preset:");
            p.Message("Name: &f" + preset.name);
            p.Message("x:" + preset.x + ", y:" + preset.y + ", z:" + preset.z);
            p.Message("Map Type: &f" + preset.type);
            p.Message("Map Price: &f" + preset.price + " &3" + Server.Config.Currency);
        }
Esempio n. 2
0
        void HandleGenerate(Player p, CountdownGame game, string x, string y, string z)
        {
            if (!CheckExtraPerm(p, 1))
            {
                return;
            }

            int width, height, length;

            if (!int.TryParse(x, out width) || !int.TryParse(y, out height) || !int.TryParse(z, out length))
            {
                width = 32; height = 32; length = 32;
            }
            if (width < 32 || !MapGen.OkayAxis(width))
            {
                width = 32;
            }
            if (height < 32 || !MapGen.OkayAxis(height))
            {
                height = 32;
            }
            if (length < 32 || !MapGen.OkayAxis(length))
            {
                length = 32;
            }

            if (!CmdNewLvl.CheckMapVolume(p, width, height, length))
            {
                return;
            }
            game.GenerateMap(p, width, height, length);
        }
Esempio n. 3
0
        protected override void HandleSet(Player p, RoundsGame game_, string[] args)
        {
            if (args.Length < 4)
            {
                Help(p); return;
            }
            if (game_.Running)
            {
                p.Message("You must stop Countdown before replacing the map."); return;
            }

            ushort x = 0, y = 0, z = 0;

            if (!CmdNewLvl.GetDimensions(p, args, 1, ref x, ref y, ref z))
            {
                return;
            }

            CountdownGame game = (CountdownGame)game_;

            game.GenerateMap(p, x, y, z);
        }
Esempio n. 4
0
        void EditPreset(Player p, string[] args, LevelPreset preset)
        {
            if (preset == null)
            {
                p.Message("%WThat preset level doesn't exist"); return;
            }

            if (args[3] == "name" || args[3] == "title")
            {
                preset.name = args[4];
                p.Message("&aSuccessfully changed preset name to &f" + preset.name);
            }
            else if (args[3] == "x" || args[3] == "y" || args[3] == "z")
            {
                string[] dims = new string[] { preset.x, preset.y, preset.z };
                if (args[3] == "x")
                {
                    dims[0] = args[4];
                }
                if (args[3] == "y")
                {
                    dims[1] = args[4];
                }
                if (args[3] == "z")
                {
                    dims[2] = args[4];
                }

                ushort x = 0, y = 0, z = 0;
                if (!CmdNewLvl.GetDimensions(p, dims, 0, ref x, ref y, ref z))
                {
                    return;
                }
                preset.x = dims[0]; preset.y = dims[1]; preset.z = dims[2];

                p.Message("&aSuccessfully changed preset {0} size to &f{1}", args[3], args[4]);
            }
            else if (args[3] == "type" || args[3] == "theme")
            {
                if (MapGen.Find(args[4]) == null)
                {
                    MapGen.PrintThemes(p); return;
                }

                preset.type = args[4];
                p.Message("&aSuccessfully changed preset type to &f" + preset.type);
            }
            else if (args[3] == "price")
            {
                int newPrice = 0;
                if (!CommandParser.GetInt(p, args[4], "Price", ref newPrice, 0))
                {
                    return;
                }

                preset.price = newPrice;
                p.Message("&aSuccessfully changed preset price to &f" + preset.price + " &3" + Server.Config.Currency);
            }
            else
            {
                p.Message("Supported properties to edit: name, title, x, y, z, type, price");
            }
        }