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); }
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); }
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); }