コード例 #1
0
        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"
            });
        }
コード例 #2
0
        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!");
            }
        }
コード例 #3
0
 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!");
     }
 }
コード例 #4
0
        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!");
            }
        }