public void Execute(Player player, string[] args) { var Arenas = new List <BattleArenaMap>(); var ArenaTexts = new List <string>(); ArenaTexts.Add(""); foreach (var w in RealmManager.Worlds) { var world = w.Value; if (w.Value.Name == "Battle Arena" && w.Value.Players.Count > 0 || w.Value.Name == "Free Battle Arena" && w.Value.Players.Count > 0) { Arenas.Add(w.Value as BattleArenaMap); } } if (Arenas.Count > 0) { foreach (var w in Arenas) { var ctext = "Wave " + w.Wave + " - {0} {1}"; var players = new List <string>(); var solo = 0; foreach (var p in w.Players) { players.Add(p.Value.Name); if (PlayerDataList.GetData(p.Value.Client.Account.Name).Solo) { solo++; } } if (players.Count > 0) { ArenaTexts.Add(string.Format(ctext, string.Join(", ", players.ToArray()), solo == players.Count ? " (SOLO)" : "")); } } } if (ArenaTexts.Count == 1) { ArenaTexts.Add("None"); } //player.SendInfo(string.Join("\n", ArenaTexts.ToArray())); player.Client.SendPacket(new TextBoxPacket { Title = "Current Arenas:", Message = string.Join("\n", ArenaTexts.ToArray()), Button1 = "Ok" }); }
public void Execute(Player player, string[] args) { GlobalPlayerData PlayerData = PlayerDataList.GetData(player.Client.Account.Name); if (PlayerData.Solo) { PlayerData.Solo = false; player.SendInfo("Solo disabled! People can now join you!"); } else { PlayerData.Solo = true; player.SendInfo("Solo enabled! People can no longer join you!"); } }
public void Execute(Player player, string[] args) { try { GlobalPlayerData PlayerData = PlayerDataList.GetData(player.Client.Account.Name); if (args.Length > 0) { string subcommand = args[0]; if (subcommand == "list") { string glist = "Players in your group: "; foreach (var i in PlayerData.JGroup) { if (glist != "Players in your group: ") { glist = glist + ", " + i; } else { glist = glist + i; } } player.SendInfo(glist); } else if (subcommand == "add" && args.Length > 1) { foreach (var i in PlayerData.JGroup) { if (i.Value == args[1].ToLower()) { player.SendInfo("Player already added!"); return; } } PlayerData.JGroup.TryAdd(PlayerData.JGroup.Count, args[1].ToLower()); player.SendInfo("Added " + args[1] + "!"); } else if (subcommand == "del" && args.Length > 1) { int remc = 0; foreach (var i in PlayerData.JGroup) { if (i.Value == args[1].ToLower()) { string absolutelynothingdisregardthis; player.SendInfo("Removed player " + i.Value + "!"); remc++; PlayerData.JGroup.TryRemove(i.Key, out absolutelynothingdisregardthis); } } if (remc < 1) { player.SendInfo("Player not found!"); } } } else { if (PlayerData.UsingGroup) { PlayerData.UsingGroup = false; player.SendInfo("Group-only join disabled!"); } else { PlayerData.UsingGroup = true; player.SendInfo("Group-only join enabled!"); } } } catch { player.SendInfo("Unexpected error in command!"); } }
public void Execute(Player player, string[] args) { string name = string.Join(" ", args.ToArray()).Trim(); try { GlobalPlayerData PlayerData = PlayerDataList.GetData(player.Client.Account.Name); foreach (var w in RealmManager.Worlds) { World world = w.Value; if (w.Key != 0) { foreach (var i in world.Players) { if (i.Value.Client.Account.Name.ToLower() == name.ToLower()) { GlobalPlayerData iPlayerData = PlayerDataList.GetData(i.Value.Client.Account.Name); if (!(player.Client.Account.Rank > 2)) { if (world.Name != "Vault") { if (world.Name != "Guild Hall") { TryJoin(player, iPlayerData, world, i.Value); return; } else { if ((world as GuildHall).Guild == player.Guild) { TryJoin(player, iPlayerData, world, i.Value); return; } else { player.SendInfo("Player is in " + i.Value.Guild + "'s guild hall!"); return; } } } else { if (world.Name == "Vault") { player.SendInfo("Player is in Vault!"); return; } else if (world.Name == "Guild Hall") { player.SendInfo("Player is in Guild Hall!"); return; } else { if (!iPlayerData.UsingGroup) { player.Client.Reconnect(new ReconnectPacket() { Host = "", Port = 2050, GameId = world.Id, Name = i.Value.Name + "'s Vault", Key = Empty <byte> .Array, }); return; } else { foreach (var o in iPlayerData.JGroup) { if (o.Value == player.Client.Account.Name.ToLower()) { player.Client.Reconnect(new ReconnectPacket() { Host = "", Port = 2050, GameId = world.Id, Name = i.Value.Name + "'s Vault", Key = Empty <byte> .Array, }); return; } } player.SendInfo("Not in " + i.Value.Client.Account.Name + "'s group!"); return; } } } } else { player.Client.Reconnect(new ReconnectPacket() { Host = "", Port = 2050, GameId = world.Id, Name = i.Value.Owner.Name, Key = Empty <byte> .Array, }); return; } } } } } player.SendHelp("Use /visit <playername>"); } catch { player.SendInfo("Unexpected error in command!"); } }