Beispiel #1
0
        public void AddFriend(string datas)
        {
            if (Program.GameServer.Clients.Any(x => x.Characters.Any(f => f.Name == datas)))
            {
                var charact = Program.GameServer.Clients.First(x => x.Characters.Any(f => f.Name == datas));

                if (!character.NClient.Friends.Contains(charact.Infos.Pseudo))
                {
                    character.NClient.Friends.Add(charact.Infos.Pseudo);
                    bool seeLevel = (charact.Friends.Contains(character.NClient.Infos.Pseudo) ? true : false);

                    var packet = string.Format("{0};?;{1};{2};{3};{4};{5};{6}|", charact.Infos.Pseudo, charact.Player.Name, (seeLevel ? charact.Player.Level.ToString() : "?"), (seeLevel ? charact.Player.Faction.ID.ToString() : "-1"),
                                               charact.Player.Class.ToString(), charact.Player.Sex.ToString(), charact.Player.Skin.ToString());

                    character.NClient.Send(string.Concat("FAK", packet));

                    AccountsRequests.UpdateFriend(character.NClient.Infos.ID, charact.Infos.Pseudo, true);
                }
                else
                {
                    character.NClient.Send("FAEa");
                }
            }
            else
            {
                character.NClient.Send("FAEf");
            }
        }
Beispiel #2
0
        public void RemoveFriend(string datas)
        {
            var name = datas.Substring(1);

            if (datas.Substring(0, 1) == "*")
            {
                if (character.NClient.Friends.Contains(name))
                {
                    character.NClient.Friends.Remove(name);
                    character.NClient.Send("FDK");

                    AccountsRequests.UpdateFriend(character.NClient.Infos.ID, name, true);
                }
                else
                {
                    character.NClient.Send("FDEf");
                }
            }
            else if (datas.Substring(0, 1) == "%")
            {
                if (Program.GameServer.Clients.Any(x => x.Characters.Any(f => f.Name == name)))
                {
                    var client = Program.GameServer.Clients.First(x => x.Characters.Any(f => f.Name == name));

                    if (character.NClient.Friends.Contains(client.Infos.Pseudo))
                    {
                        character.NClient.Friends.Remove(client.Infos.Pseudo);
                        character.NClient.Send("FDK");

                        AccountsRequests.UpdateFriend(character.NClient.Infos.ID, client.Infos.Pseudo, true);
                    }
                    else
                    {
                        character.NClient.Send("FDEf");
                    }
                }
                else
                {
                    character.NClient.Send("FDEf");
                }
            }
        }