示例#1
0
        protected internal override void OnBuyCommand(Player p, string message, string[] args)
        {
            if (args.Length < 3)
            {
                OnStoreCommand(p); return;
            }
            LevelPreset preset = FindPreset(args[1]);

            if (preset == null)
            {
                Player.Message(p, "%cThat isn't a level preset"); return;
            }

            if (p.money < preset.price)
            {
                Player.Message(p, "%cYou don't have enough %3" + ServerConfig.Currency + "%c to buy that map"); return;
            }
            string name = p.name + "_" + args[2];

            try {
                Command.all.FindByName("NewLvl").Use(null, name + " " + preset.x + " " + preset.y + " " + preset.z + " " + preset.type);
                Player.Message(p, "%aCreating level: '%f" + name + "%a' . . .");

                CmdLoad.LoadLevel(null, name);
                Level level = LevelInfo.FindExact(name);
                CmdOverseer.SetPerms(p, level);
                Level.SaveSettings(level);
                PlayerActions.ChangeMap(p, name);

                Player.Message(p, "%aSuccessfully created your map: '%f" + name + "%a'");
            } catch {
                Player.Message(p, "%cSomething went wrong, Money untouched"); return;
            }
            Economy.MakePurchase(p, preset.price, "%3Map: %f" + preset.name);
        }
示例#2
0
        protected internal override void OnBuyCommand(Player p, string message, string[] args)
        {
            if (args.Length < 3)
            {
                OnStoreCommand(p); return;
            }
            LevelPreset preset = FindPreset(args[1]);

            if (preset == null)
            {
                p.Message("%WThat isn't a level preset"); return;
            }

            if (p.money < preset.price)
            {
                p.Message("%WYou don't have enough &3" + ServerConfig.Currency + "%W to buy that map"); return;
            }
            string name = p.name + "_" + args[2];

            p.Message("&aCreating level: '&f" + name + "&a' . . .");
            UseCommand(p, "NewLvl", name + " " + preset.x + " " + preset.y + " " + preset.z + " " + preset.type);

            Level level = LevelActions.Load(Player.Console, name, true);

            CmdOverseer.SetPerms(p, level);
            Level.SaveSettings(level);
            PlayerActions.ChangeMap(p, name);

            p.Message("&aSuccessfully created your map: '&f" + name + "&a'");
            Economy.MakePurchase(p, preset.price, "%3Map: %f" + preset.name);
        }
示例#3
0
        protected internal override void OnBuyCommand(Player p, string message, string[] args)
        {
            if (args.Length < 2)
            {
                OnStoreCommand(p); return;
            }
            LevelPreset preset = FindPreset(args[1]);

            if (preset == null)
            {
                p.Message("%WThat isn't a level preset"); return;
            }

            if (p.money < preset.price)
            {
                p.Message("%WYou don't have enough &3" + Server.Config.Currency + "%W to buy that map"); return;
            }

            string name = null;

            if (args.Length >= 3)
            {
                name = p.name + "_" + args[2];
            }
            else
            {
                // use a numbered map by default
                for (int i = 1; i < 100; i++)
                {
                    name = p.name + "_" + i;
                    if (!LevelInfo.MapExists(name))
                    {
                        break;
                    }
                }
            }

            if (LevelInfo.MapExists(name))
            {
                p.Message("%WLevel \"{0}\" already exists", name); return;
            }

            p.Message("&aCreating level: '&f" + name + "&a' . . .");
            UseCommand(p, "NewLvl", name + " " + preset.x + " " + preset.y + " " + preset.z + " " + preset.type);

            Level level = LevelActions.Load(Player.Console, name, true);

            CmdOverseer.SetPerms(p, level);
            level.SaveSettings();
            PlayerActions.ChangeMap(p, name);

            p.Message("&aSuccessfully created your map: '&f" + name + "&a'");
            Economy.MakePurchase(p, preset.price, "%3Map: %f" + preset.name);
        }