static void HandleGoto(Player p, string map, string ignored) { byte mapNum = 0; if (map.Length == 0 || map == "1") { map = FirstMapName(p); } else { if (!byte.TryParse(map, out mapNum)) { p.MessageLines(gotoHelp); return; } map = p.name.ToLower() + map; } if (LevelInfo.FindExact(map) == null) { LevelActions.Load(p, map, !Server.Config.AutoLoadMaps); } if (LevelInfo.FindExact(map) != null) { PlayerActions.ChangeMap(p, map); } }
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); }
public override void Use(Player p, string message, CommandData data) { if (message.Length == 0) { Help(p); return; } string[] args = message.SplitSpaces(); if (args.Length > 2) { Help(p); return; } LevelActions.Load(p, args[0], true); }
public override void Use(Player p, string message, CommandData data) { string[] args = message.SplitSpaces(); if (args.Length != 2) { Help(p); return; } Level lvl = Matcher.FindLevels(p, args[0]); if (lvl == null) { return; } string newMap = args[1].ToLower(); if (!Formatter.ValidMapName(p, newMap)) { return; } if (LevelInfo.MapExists(newMap)) { p.Message("Level already exists."); return; } if (lvl == Server.mainLevel) { p.Message("Cannot rename the main level."); return; } if (!LevelInfo.Check(p, data.Rank, lvl, "rename this level")) { return; } List <Player> players = lvl.getPlayers(); lvl.Unload(); LevelActions.Rename(lvl.name, newMap); LevelActions.Load(p, newMap, true); Chat.MessageGlobal("Renamed {0} to {1}", lvl.name, newMap); // Move all the old players to the renamed map foreach (Player pl in players) { PlayerActions.ChangeMap(pl, newMap); } }
protected virtual bool SetMap(string map) { Picker.QueuedMap = null; Level next = LevelInfo.FindExact(map); if (next == null) { next = LevelActions.Load(Player.Console, map, false); } if (next == null) { return(false); } Map = next; Map.SaveChanges = false; if (GetConfig().SetMainLevel) { Server.SetMainLevel(Map); } UpdateMapConfig(); return(true); }