コード例 #1
0
 public int HandlePacket(GameClient client, GSPacketIn packet)
 {
     //Lay Danh Sach tat ca cac phong
     GSPacketIn pkg = new GSPacketIn((byte)ePackageType.HOTSPRING_ROOM_LIST_GET);
     pkg.WriteInt(10);
     for (int i = 0; i < 10; i++)
     {
         //loc_2.roomNumber = _loc_3.readInt();
         pkg.WriteInt(i);
         //_loc_2.roomID = _loc_3.readInt();
         pkg.WriteInt(i);
         //_loc_2.roomName = _loc_3.readUTF();
         pkg.WriteString("Room" + i);
         //_loc_2.roomPassword = _loc_3.readUTF();
         pkg.WriteString("");
         //_loc_2.effectiveTime = _loc_3.readInt();
         pkg.WriteInt(1);
         //_loc_2.curCount = _loc_3.readInt();
         pkg.WriteInt(1);
         //_loc_2.playerID = _loc_3.readInt();
         pkg.WriteInt(client.Player.PlayerCharacter.ID);
         //_loc_2.playerName = _loc_3.readUTF();
         pkg.WriteString("abc");
         //_loc_2.startTime = _loc_3.readDate();
         pkg.WriteDateTime(DateTime.Now.AddDays(-50));
         //_loc_2.roomIntroduction = _loc_3.readUTF();
         pkg.WriteString("Room Intro");
         //_loc_2.roomType = _loc_3.readInt();
         pkg.WriteInt(1);
         //_loc_2.maxCount = _loc_3.readInt();
         pkg.WriteInt(10);
     }
     client.SendTCP(pkg);
     return 0;
 }
コード例 #2
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            //if (client.Player.CurrentHotSpringRoom != null)
            //{
            //    client.Player.CurrentHotSpringRoom.ProcessData(client.Player, packet);
            //}
            GSPacketIn pkg = new GSPacketIn((byte)ePackageType.HOTSPRING_ROOM_PLAYER_ADD);
            var player = client.Player.PlayerCharacter;
            pkg.WriteInt(player.ID);
            pkg.WriteInt(player.Grade);
            pkg.WriteInt(player.Hide);

            pkg.WriteInt(player.Repute);
            pkg.WriteString(player.NickName);
            pkg.WriteBoolean(true);
            pkg.WriteInt(5);
  
            pkg.WriteBoolean(player.Sex);
            pkg.WriteString(player.Style);
            pkg.WriteString(player.Colors);
            pkg.WriteString(player.Skin);
            pkg.WriteInt(405);
            pkg.WriteInt(405);
            //var _loc_6:* = new Point(_loc_2.readInt(), _loc_2.readInt());
            pkg.WriteInt(player.FightPower);
            pkg.WriteInt(player.Win);
            pkg.WriteInt(player.Total);
            pkg.WriteInt(45);
            //_loc_5.FightPower = _loc_2.readInt();
            //_loc_5.WinCount = _loc_2.readInt();
            //_loc_5.TotalCount = _loc_2.readInt();
            //_loc_4.playerDirection = _loc_2.readInt();
            client.SendTCP(pkg);
            return 0;
        }
コード例 #3
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.CurrentRoom == null)
                return 0;


            int id = packet.ReadInt();
            GamePlayer player = Managers.WorldMgr.GetPlayerById(id);

            if (player == client.Player)
                return 0;

            List<GamePlayer> players = client.Player.CurrentRoom.GetPlayers();
            foreach (GamePlayer p in players)
            {
                if (p == player)
                {
                    client.Out.SendMessage(eMessageType.ERROR, LanguageMgr.GetTranslation("friendnotinthesameserver.Sameroom"));
                    return 0;
                }
            }

            GSPacketIn pkg = new GSPacketIn((byte)ePackageType.GAME_INVITE);
            if (player != null && player.CurrentRoom == null)
            {

                pkg.WriteInt(client.Player.PlayerCharacter.ID);
                pkg.WriteInt(client.Player.CurrentRoom.RoomId);
                pkg.WriteInt(client.Player.CurrentRoom.MapId);
                pkg.WriteByte((byte)client.Player.CurrentRoom.TimeMode);
                pkg.WriteByte((byte)client.Player.CurrentRoom.RoomType);
                pkg.WriteByte((byte)client.Player.CurrentRoom.HardLevel);
                pkg.WriteByte((byte)client.Player.CurrentRoom.LevelLimits);
                pkg.WriteString(client.Player.PlayerCharacter.NickName);
                pkg.WriteBoolean(true);
                pkg.WriteInt(5);
                pkg.WriteString(client.Player.CurrentRoom.Name);
                pkg.WriteString(client.Player.CurrentRoom.Password);

                //TrieuLSL BN IMInvite barrierNum
                pkg.WriteInt(50);


                player.Out.SendTCP(pkg);
            }
            else
            {
                if (player != null && player.CurrentRoom != null && player.CurrentRoom != client.Player.CurrentRoom)
                {

                    client.Out.SendMessage(eMessageType.ERROR, LanguageMgr.GetTranslation("friendnotinthesameserver.Room"));
                }
                else
                {
                    client.Out.SendMessage(eMessageType.ERROR, LanguageMgr.GetTranslation("friendnotinthesameserver.Fail"));
                }
            }
            return 0;
        }
コード例 #4
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.ConsortiaID != 0)
                return 0;

            int id = packet.ReadInt();
            bool result = false;
            int consortiaID = 0;
            string consortiaName = "";
            string msg = "ConsortiaInvitePassHandler.Failed";
            int tempID = 0;
            string tempName = "";
            using (ConsortiaBussiness db = new ConsortiaBussiness())
            {
                int consortiaRepute = 0;
                ConsortiaUserInfo info = new ConsortiaUserInfo();
                if (db.PassConsortiaInviteUsers(id, client.Player.PlayerCharacter.ID, client.Player.PlayerCharacter.NickName, ref consortiaID, ref consortiaName, ref msg, info, ref tempID, ref tempName, ref consortiaRepute))
                {
                    client.Player.PlayerCharacter.ConsortiaID = consortiaID;
                    client.Player.PlayerCharacter.ConsortiaName = consortiaName;
                    client.Player.PlayerCharacter.DutyLevel = info.Level;
                    client.Player.PlayerCharacter.DutyName = info.DutyName;
                    client.Player.PlayerCharacter.Right = info.Right;
                    ConsortiaInfo consotia = ConsortiaMgr.FindConsortiaInfo(consortiaID);
                    if (consotia != null)
                        client.Player.PlayerCharacter.ConsortiaLevel = consotia.Level;
                    msg = "ConsortiaInvitePassHandler.Success";
                    result = true;

                    info.UserID = client.Player.PlayerCharacter.ID;
                    info.UserName = client.Player.PlayerCharacter.NickName;
                    info.Grade = client.Player.PlayerCharacter.Grade;
                    info.Offer = client.Player.PlayerCharacter.Offer;
                    info.RichesOffer = client.Player.PlayerCharacter.RichesOffer;
                    info.RichesRob = client.Player.PlayerCharacter.RichesRob;
                    info.Win = client.Player.PlayerCharacter.Win;
                    info.Total = client.Player.PlayerCharacter.Total;
                    info.Escape = client.Player.PlayerCharacter.Escape;
                    info.ConsortiaID = consortiaID;
                    info.ConsortiaName = consortiaName;

                    GameServer.Instance.LoginServer.SendConsortiaUserPass(tempID, tempName, info, true, consortiaRepute, client.Player.PlayerCharacter.UserName, client.Player.PlayerCharacter.FightPower);
                }
            }
            packet.WriteBoolean(result);
            packet.WriteInt(consortiaID);
            packet.WriteString(consortiaName);
            packet.WriteString(LanguageMgr.GetTranslation(msg));
            client.Out.SendTCP(packet);

            return 0;
        }
コード例 #5
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {

            int Type = packet.ReadInt();
            if (Type == 2)
            {
                int ItemID = packet.ReadInt();

                using (PlayerBussiness db = new PlayerBussiness())
                {
                    ItemInfo Item = db.GetUserItemSingle(ItemID);
                    if (Item != null)
                    {
                        GSPacketIn pkg = new GSPacketIn((byte)ePackageType.LINKREQUEST_GOODS, client.Player.PlayerCharacter.ID);
                        pkg.WriteInt(Item.TemplateID);
                        pkg.WriteInt(Item.ItemID);

                        pkg.WriteInt(Item.StrengthenLevel);

                        pkg.WriteInt(Item.AttackCompose);

                        pkg.WriteInt(Item.AgilityCompose);

                        pkg.WriteInt(Item.LuckCompose);

                        pkg.WriteInt(Item.DefendCompose);
                        pkg.WriteInt(Item.ValidDate);
                        pkg.WriteBoolean(Item.IsBinds);
                        pkg.WriteBoolean(Item.IsJudge);
                        pkg.WriteBoolean(Item.IsUsed);
                        if (Item.IsUsed)
                        {
                            pkg.WriteString(Item.BeginDate.ToString());
                        }
                        pkg.WriteInt(Item.Hole1);
                        pkg.WriteInt(Item.Hole2);
                        pkg.WriteInt(Item.Hole3);
                        pkg.WriteInt(Item.Hole4);
                        pkg.WriteInt(Item.Hole5);
                        pkg.WriteInt(Item.Hole6);

                        pkg.WriteString(Item.Template.Hole);

                        client.Out.SendTCP(pkg);
                    }
                    return 1;
                }

            }
            return 0;
        }
コード例 #6
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.ConsortiaID == 0)
                return 0;

            int banUserID = packet.ReadInt();
            bool isBanChat = packet.ReadBoolean();
            int userID = 0;
            string userName = "";
            bool result = false;
            string msg = "ConsortiaIsBanChatHandler.Failed";
            using (ConsortiaBussiness db = new ConsortiaBussiness())
            {
                if (db.UpdateConsortiaIsBanChat(banUserID, client.Player.PlayerCharacter.ConsortiaID, client.Player.PlayerCharacter.ID, isBanChat, ref userID, ref userName, ref msg))
                {
                    msg = "ConsortiaIsBanChatHandler.Success";
                    result = true;
                    GameServer.Instance.LoginServer.SendConsortiaBanChat(userID, userName, client.Player.PlayerCharacter.ID, client.Player.PlayerCharacter.NickName,isBanChat);
                }
            }
            packet.WriteBoolean(result);
            packet.WriteString(LanguageMgr.GetTranslation(msg));
            client.Out.SendTCP(packet);

            return 0;
        }
コード例 #7
0
 public void SendLoginFailed(string msg)
 {
     GSPacketIn pkg = new GSPacketIn((byte)ePackageType.LOGIN);
     pkg.WriteByte(1);
     pkg.WriteString(msg);
     SendTCP(pkg);
 }
コード例 #8
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.ConsortiaID == 0)
                return 0;

            int id = packet.ReadInt();
            string remark = packet.ReadString();
            if (string.IsNullOrEmpty(remark) || System.Text.Encoding.Default.GetByteCount(remark) > 100)
            {
                client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("ConsortiaUserRemarkHandler.Long"));
                return 1;
            }
            bool result = false;
            string msg = "ConsortiaUserRemarkHandler.Failed";
            using (ConsortiaBussiness db = new ConsortiaBussiness())
            {
                if (db.UpdateConsortiaUserRemark(id, client.Player.PlayerCharacter.ConsortiaID, client.Player.PlayerCharacter.ID, remark, ref msg))
                {
                    msg = "ConsortiaUserRemarkHandler.Success";
                    result = true;
                }
            }
            packet.WriteBoolean(result);
            packet.WriteString(LanguageMgr.GetTranslation(msg));
            client.Out.SendTCP(packet);

            return 0;
        }
コード例 #9
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.ConsortiaID == 0)
                return 0;
            //Type 1表示商城,2表示铁匠铺

            bool result = false;
            string msg = "ConsortiaEquipControlHandler.Fail";
            ConsortiaEquipControlInfo info = new ConsortiaEquipControlInfo();
            info.ConsortiaID = client.Player.PlayerCharacter.ConsortiaID;
            using (ConsortiaBussiness db = new ConsortiaBussiness())
            {
                for (int i = 0; i < 5; i++)
                {

                    info.Riches = packet.ReadInt();
                    info.Type = 1;
                    info.Level = i + 1;

                    db.AddAndUpdateConsortiaEuqipControl(info, client.Player.PlayerCharacter.ID, ref msg);
                }
                info.Riches = packet.ReadInt();
                info.Type = 2;
                info.Level = 0;
                db.AddAndUpdateConsortiaEuqipControl(info, client.Player.PlayerCharacter.ID, ref msg);
                msg = "ConsortiaEquipControlHandler.Success";
                result = true;
            }
            packet.WriteBoolean(result);
            packet.WriteString(LanguageMgr.GetTranslation(msg));
            client.Out.SendTCP(packet);

            return 0;
        }
コード例 #10
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.ConsortiaID == 0)
                return 0;

            int id = client.Player.PlayerCharacter.ConsortiaID;
            string consortiaName = client.Player.PlayerCharacter.ConsortiaName;
            bool result = false;
            string msg = "ConsortiaDisbandHandler.Failed";
            using (ConsortiaBussiness db = new ConsortiaBussiness())
            {
                if (db.DeleteConsortia(client.Player.PlayerCharacter.ConsortiaID, client.Player.PlayerCharacter.ID, ref msg))
                {
                    result = true;
                    msg = "ConsortiaDisbandHandler.Success1";

                    client.Player.ClearConsortia();

                    GameServer.Instance.LoginServer.SendConsortiaDelete(id);
                }
            }

            string temp = LanguageMgr.GetTranslation(msg);
            if (msg == "ConsortiaDisbandHandler.Success1")
            {
                temp += consortiaName + LanguageMgr.GetTranslation("ConsortiaDisbandHandler.Success2");
            }

            packet.WriteBoolean(result);
            packet.WriteInt(client.Player.PlayerCharacter.ID);
            packet.WriteString(temp);
            client.Out.SendTCP(packet);

            return 0;
        }
コード例 #11
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.ConsortiaID == 0)
                return 0;

            int id = packet.ReadInt();
            bool isAlly = packet.ReadBoolean();
            bool result = false;
            string msg = "ConsortiaApplyAllyAddHandler.Add_Failed";
            using (ConsortiaBussiness db = new ConsortiaBussiness())
            {
                ConsortiaApplyAllyInfo info = new ConsortiaApplyAllyInfo();
                info.Consortia1ID = client.Player.PlayerCharacter.ConsortiaID;
                info.Consortia2ID = id;
                info.Date = DateTime.Now;
                info.State = 0;// isAlly ? 1 : 0;
                info.Remark = "";
                info.IsExist = true;
                if (db.AddConsortiaApplyAlly(info, client.Player.PlayerCharacter.ID, ref msg))
                {
                    msg = "ConsortiaApplyAllyAddHandler.Add_Success";
                    result = true;
                }
            }
            packet.WriteBoolean(result);
            packet.WriteString(LanguageMgr.GetTranslation(msg));
            client.Out.SendTCP(packet);

            return 0;
        }
コード例 #12
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.ConsortiaID == 0)
                return 0;

            int id = packet.ReadInt();
            bool result = false;
            string nickName = "";
            string msg = id == client.Player.PlayerCharacter.ID ? "ConsortiaUserDeleteHandler.ExitFailed" : "ConsortiaUserDeleteHandler.KickFailed";
            using (ConsortiaBussiness db = new ConsortiaBussiness())
            {
                if (db.DeleteConsortiaUser(client.Player.PlayerCharacter.ID, id, client.Player.PlayerCharacter.ConsortiaID, ref msg, ref nickName))
                {
                    msg = id == client.Player.PlayerCharacter.ID ? "ConsortiaUserDeleteHandler.ExitSuccess" : "ConsortiaUserDeleteHandler.KickSuccess";
                    int consortiaID = client.Player.PlayerCharacter.ConsortiaID;
                    if (id == client.Player.PlayerCharacter.ID)
                    {
                        client.Player.ClearConsortia();
                        client.Out.SendMailResponse(client.Player.PlayerCharacter.ID, eMailRespose.Receiver);
                    }

                   // client.Player.StoreBag.SendStoreToMail();
                    GameServer.Instance.LoginServer.SendConsortiaUserDelete(id, consortiaID, id != client.Player.PlayerCharacter.ID, nickName,client.Player.PlayerCharacter.NickName);
                    result = true;
                }
            }

            packet.WriteBoolean(result);
            packet.WriteString(LanguageMgr.GetTranslation(msg));
            client.Out.SendTCP(packet);

            return 0;
        }
コード例 #13
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.ConsortiaID != 0)
                return 0;

            int id = packet.ReadInt();
            bool result = false;
            string msg = "ConsortiaApplyLoginHandler.ADD_Failed";
            using (ConsortiaBussiness db = new ConsortiaBussiness())
            {
                ConsortiaApplyUserInfo info = new ConsortiaApplyUserInfo();
                info.ApplyDate = DateTime.Now;
                info.ConsortiaID = id;
                info.ConsortiaName = "";
                info.IsExist = true;
                info.Remark = "";
                info.UserID = client.Player.PlayerCharacter.ID;
                info.UserName = client.Player.PlayerCharacter.NickName;
                if (db.AddConsortiaApplyUsers(info, ref msg))
                {
                    msg = id != 0 ? "ConsortiaApplyLoginHandler.ADD_Success" : "ConsortiaApplyLoginHandler.DELETE_Success";
                    result = true;
                }
            }
            packet.WriteBoolean(result);
            packet.WriteString(LanguageMgr.GetTranslation(msg));
            client.Out.SendTCP(packet);

            return 0;
        }
コード例 #14
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.ConsortiaID == 0)
                return 0;

            int id = packet.ReadInt();
            bool result = false;
            string msg = "ConsortiaApplyLoginPassHandler.Failed";
            using (ConsortiaBussiness db = new ConsortiaBussiness())
            {
                int consortiaRepute = 0;
                ConsortiaUserInfo info = new ConsortiaUserInfo();
                if (db.PassConsortiaApplyUsers(id, client.Player.PlayerCharacter.ID, client.Player.PlayerCharacter.NickName, client.Player.PlayerCharacter.ConsortiaID, ref msg, info, ref consortiaRepute))
                {
                    msg = "ConsortiaApplyLoginPassHandler.Success";
                    result = true;
                    if (info.UserID != 0)
                    {
                        info.ConsortiaID = client.Player.PlayerCharacter.ConsortiaID;
                        info.ConsortiaName = client.Player.PlayerCharacter.ConsortiaName;
                        GameServer.Instance.LoginServer.SendConsortiaUserPass(client.Player.PlayerCharacter.ID, client.Player.PlayerCharacter.NickName, info, false, consortiaRepute, info.LoginName, client.Player.PlayerCharacter.FightPower);
                    }
                }
            }

            packet.WriteBoolean(result);
            packet.WriteString(LanguageMgr.GetTranslation(msg));
            client.Out.SendTCP(packet);

            return 0;
        }
コード例 #15
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.ConsortiaID == 0)
                return 0;

            int id = packet.ReadInt();
            bool upGrade = packet.ReadBoolean();
            bool result = false;
            string msg = "ConsortiaUserGradeUpdateHandler.Failed";
            using (ConsortiaBussiness db = new ConsortiaBussiness())
            {
                string tempUserName = "";
                ConsortiaDutyInfo info = new ConsortiaDutyInfo();
                if (db.UpdateConsortiaUserGrade(id, client.Player.PlayerCharacter.ConsortiaID, client.Player.PlayerCharacter.ID, upGrade, ref msg, ref info, ref tempUserName))
                {
                    msg = "ConsortiaUserGradeUpdateHandler.Success";
                    result = true;
                    GameServer.Instance.LoginServer.SendConsortiaDuty(info, upGrade ? 6 : 7, client.Player.PlayerCharacter.ConsortiaID,id, tempUserName,client.Player.PlayerCharacter.ID,client.Player.PlayerCharacter.NickName);
                }
            }
            packet.WriteBoolean(result);
            packet.WriteString(LanguageMgr.GetTranslation(msg));
            client.Out.SendTCP(packet);

            return 0;
        }
コード例 #16
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.ConsortiaID == 0)
                return 0;


            bool result = false;
            string msg = "ConsortiaSmithUpGradeHandler.Failed";

            //using (ConsortiaBussiness db = new ConsortiaBussiness())
            //{
            //    ConsortiaInfo info = db.GetConsortiaSingle(client.Player.PlayerCharacter.ConsortiaID);
            ConsortiaInfo info = Managers.ConsortiaMgr.FindConsortiaInfo(client.Player.PlayerCharacter.ConsortiaID);
            if (info == null)
            {
                msg = "ConsortiaSmithUpGradeHandler.NoConsortia";
            }
            else
            {
                using (ConsortiaBussiness cb = new ConsortiaBussiness())
                {
                    if (cb.UpGradeSmithConsortia(client.Player.PlayerCharacter.ConsortiaID, client.Player.PlayerCharacter.ID, ref msg))
                    {
                        info.SmithLevel++;
                        GameServer.Instance.LoginServer.SendConsortiaSmithUpGrade(info);
                        msg = "ConsortiaSmithUpGradeHandler.Success";
                        result = true;
                    }
                }
            }
            if (info.SmithLevel >= 3)
            {
                string msg1 = LanguageMgr.GetTranslation("ConsortiaSmithUpGradeHandler.Notice", client.Player.PlayerCharacter.ConsortiaName, info.SmithLevel);

                GSPacketIn pkg = new GSPacketIn((byte)ePackageType.SYS_NOTICE);
                pkg.WriteInt(2);
                pkg.WriteString(msg1);

                GameServer.Instance.LoginServer.SendPacket(pkg);

                GamePlayer[] players = Game.Server.Managers.WorldMgr.GetAllPlayers();

                foreach (GamePlayer p in players)
                {
                    if (p != client.Player)
                        p.Out.SendTCP(pkg);
                }
            }
            //}


            packet.WriteBoolean(result);
            packet.WriteString(LanguageMgr.GetTranslation(msg));
            client.Out.SendTCP(packet);


            return 1;
        }
コード例 #17
0
ファイル: Test30Hand.cs プロジェクト: vancourt/BaseGunnyII
 public int HandlePacket(GameClient client, GSPacketIn packet)
 {
     GSPacketIn pkg = new GSPacketIn(255);
     pkg.WriteString(packet.ReadString());
     foreach (var item in WorldMgr.GetAllPlayers())
     {
         item.SendTCP(pkg);
     } ;
        // client.SendTCP(pkg);
     return 0;
 }
コード例 #18
0
 public static void SendStartMessage(BattleGame game)
 {
     Game.Base.Packets.GSPacketIn pkg = new Game.Base.Packets.GSPacketIn((byte)ePackageType.GAME_CHAT);
     pkg.WriteInt(2);
     if (game.GameType == eGameType.Free)
     {
         foreach (Player p in game.GetAllFightPlayers())
         {
             (p.PlayerDetail as ProxyPlayer).Rate = 1;
             GSPacketIn pkg1 = SendBufferList(p, (p.PlayerDetail as ProxyPlayer).Buffers);
             game.SendToAll(pkg1);
         }
         pkg.WriteString("撮合成功!您所在的小队开始了自由战");
     }
     else
     {
         pkg.WriteString("撮合成功!您所在的小队开始了公会战");
     }
     game.SendToAll(pkg, null);
 }
コード例 #19
0
 public static void SendStartMessage(BattleGame game)
 {
     Game.Base.Packets.GSPacketIn pkg = new Game.Base.Packets.GSPacketIn((byte)ePackageType.GAME_CHAT);
     pkg.WriteInt(2);
     if (game.GameType == eGameType.Free)
     {
         foreach (Player p in game.GetAllFightPlayers())
         {
             (p.PlayerDetail as ProxyPlayer).Rate = 1;
             GSPacketIn pkg1 = SendBufferList(p, (p.PlayerDetail as ProxyPlayer).Buffers);
             game.SendToAll(pkg1);
         }
         pkg.WriteString("Bắt cặp thành công, Bắt đẩu chiến đấu!");
     }
     else
     {
         pkg.WriteString("Kết nối thất bại!");
     }
     game.SendToAll(pkg, null);
 }
コード例 #20
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.ConsortiaID == 0)
                return 0;

            int dutyID = packet.ReadInt();
            int updateType = packet.ReadByte();
            //int level = packet.ReadInt();
            bool result = false;
            string msg = "ConsortiaDutyUpdateHandler.Failed";

            using (ConsortiaBussiness db = new ConsortiaBussiness())
            {
                ConsortiaDutyInfo info = new ConsortiaDutyInfo();
                info.ConsortiaID = client.Player.PlayerCharacter.ConsortiaID;
                info.DutyID = dutyID;
                info.IsExist = true;
                info.DutyName = "";
                switch (updateType)
                {
                    case 1:
                        return 1;
                    case 2:
                        info.DutyName = packet.ReadString();
                        if (string.IsNullOrEmpty(info.DutyName) || System.Text.Encoding.Default.GetByteCount(info.DutyName) > 10)
                        {
                            client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("ConsortiaDutyUpdateHandler.Long"));
                            return 1;
                        }
                        info.Right = packet.ReadInt();
                        break;
                    case 3:
                        break;
                    case 4:
                        break;
                }

                if (db.UpdateConsortiaDuty(info, client.Player.PlayerCharacter.ID, updateType, ref msg))
                {
                    dutyID = info.DutyID;
                    msg = "ConsortiaDutyUpdateHandler.Success";
                    result = true;
                    GameServer.Instance.LoginServer.SendConsortiaDuty(info, updateType, client.Player.PlayerCharacter.ConsortiaID);
                }
            }
            packet.WriteBoolean(result);
            packet.WriteInt(dutyID);
            packet.WriteString(LanguageMgr.GetTranslation(msg));
            client.Out.SendTCP(packet);

            return 0;
        }
コード例 #21
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            var roomId = packet.ReadInt();
            var passString = packet.ReadString();

            GSPacketIn pkg = new GSPacketIn((byte)ePackageType.HOTSPRING_ROOM_ENTER);
            pkg.WriteInt(roomId);
            pkg.WriteInt(roomId);
           
            //_loc_3.roomID = _loc_2.readInt();
            //_loc_3.roomNumber = _loc_2.readInt();
            //_loc_3.roomName = _loc_2.readUTF();
            pkg.WriteString("RoomName");
            //_loc_3.roomPassword = _loc_2.readUTF();
            pkg.WriteString("");

            //_loc_2.effectiveTime = _loc_3.readInt();
            pkg.WriteInt(1);
            //_loc_2.curCount = _loc_3.readInt();
            pkg.WriteInt(1);
            //_loc_2.playerID = _loc_3.readInt();
            pkg.WriteInt(client.Player.PlayerCharacter.ID);
            //_loc_2.playerName = _loc_3.readUTF();
            pkg.WriteString("abc");
            //_loc_2.startTime = _loc_3.readDate();
            pkg.WriteDateTime(DateTime.Now.AddDays(-50));
            //_loc_2.roomIntroduction = _loc_3.readUTF();
            pkg.WriteString("Room Intro");
            //_loc_2.roomType = _loc_3.readInt();
            pkg.WriteInt(1);
            //_loc_2.maxCount = _loc_3.readInt();
            pkg.WriteInt(10);
            //this._playerEnterRoomTime = _loc_2.readDate();
            //this._playerEffectiveTime = _loc_2.readInt();
            pkg.WriteDateTime(DateTime.Now);
            pkg.WriteDateTime(DateTime.Now.AddDays(1));
            client.SendTCP(pkg);
            return 0;
        }
コード例 #22
0
 public int HandlePacket(GameClient client, GSPacketIn packet)
 {
     int num = packet.ReadInt();
     try
     {
         TankHotSpringLogicProcessor processor = new TankHotSpringLogicProcessor();
         HotSpringRoomInfo info = new HotSpringRoomInfo {
             RoomID = num
         };
         client.Player.CurrentHotSpringRoom = new HotSpringRoom(info, processor);
     }
     catch
     {
         Console.WriteLine("System Error!");
     }
     HotSpringRoom room = client.Player.CurrentHotSpringRoom;
     using (PlayerBussiness db = new PlayerBussiness())
     {
         db.UpdateHotSpringRoomInfo(room.Info);
     }
     string str = packet.ReadString();
     GSPacketIn pkg = new GSPacketIn(0xca);
     pkg.WriteInt(num);
     pkg.WriteInt(num);
     pkg.WriteString(room.Info.RoomName);
     pkg.WriteString(room.Info.Pwd);
     pkg.WriteInt(1);
     pkg.WriteInt(1);
     pkg.WriteInt(client.Player.PlayerCharacter.ID);
     pkg.WriteString(client.Player.PlayerCharacter.NickName);
     pkg.WriteDateTime(room.Info.BeginTime);
     pkg.WriteString(room.Info.RoomIntroduction);
     pkg.WriteInt(1);
     pkg.WriteInt(10);
     pkg.WriteDateTime(DateTime.Now);
     pkg.WriteInt(10);
     client.SendTCP(pkg);
     return 0;
 }
コード例 #23
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.ConsortiaID == 0)
                return 0;

            //int id = packet.ReadInt();
            string nickName = packet.ReadString();
            bool result = false;
            string msg = "ConsortiaChangeChairmanHandler.Failed";

            if (string.IsNullOrEmpty(nickName))
            {
                msg = "ConsortiaChangeChairmanHandler.NoName";
            }
            else if( nickName == client.Player.PlayerCharacter.NickName)
            {
                msg = "ConsortiaChangeChairmanHandler.Self";
            }
            else
            {
                using (ConsortiaBussiness db = new ConsortiaBussiness())
                {
                    string tempUserName = "";
                    int tempUserID = 0;
                    ConsortiaDutyInfo info = new ConsortiaDutyInfo();
                    if (db.UpdateConsortiaChairman(nickName, client.Player.PlayerCharacter.ConsortiaID, client.Player.PlayerCharacter.ID, ref msg, ref info,ref tempUserID, ref tempUserName))
                    {
                        ConsortiaDutyInfo orderInfo = new ConsortiaDutyInfo();
                        orderInfo.Level = client.Player.PlayerCharacter.DutyLevel;
                        orderInfo.DutyName = client.Player.PlayerCharacter.DutyName;
                        orderInfo.Right = client.Player.PlayerCharacter.Right;
                        msg = "ConsortiaChangeChairmanHandler.Success1";
                        result = true;
                        GameServer.Instance.LoginServer.SendConsortiaDuty(orderInfo, 9, client.Player.PlayerCharacter.ConsortiaID, tempUserID, tempUserName, 0, "");
                        GameServer.Instance.LoginServer.SendConsortiaDuty(info, 8, client.Player.PlayerCharacter.ConsortiaID, client.Player.PlayerCharacter.ID, client.Player.PlayerCharacter.NickName, 0, "");
                    }
                }
            }
            string temp = LanguageMgr.GetTranslation(msg);
            if (msg == "ConsortiaChangeChairmanHandler.Success1")
            {
                temp += nickName + LanguageMgr.GetTranslation("ConsortiaChangeChairmanHandler.Success2");
            }

            packet.WriteBoolean(result);
            packet.WriteString(temp);
            client.Out.SendTCP(packet);

            return 0;
        }
コード例 #24
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.CurrentHotSpringRoom != null)
            {
                int iD = client.Player.CurrentHotSpringRoom.Info.RoomID;
                HotSpringRoom room = client.Player.CurrentHotSpringRoom;
                using (PlayerBussiness db = new PlayerBussiness())
                {
                    db.UpdateHotSpringRoomInfo(room.Info);
                }

                GSPacketIn pkg = new GSPacketIn(0xa9);
                pkg.WriteString("Bạn đã thoát khỏi phòng");
                client.SendTCP(pkg);
            }
            return 0;
        }
コード例 #25
0
 public int HandlePacket(GameClient client, GSPacketIn packet)
 {
     int id = packet.ReadInt();
     bool result = false;
     string msg = "ConsortiaApplyAllyDeleteHandler.Failed";
     using (ConsortiaBussiness db = new ConsortiaBussiness())
     {              
         if (db.DeleteConsortiaApplyUsers(id,client.Player.PlayerCharacter.ID,client.Player.PlayerCharacter.ConsortiaID,ref msg))
         {
             msg = client.Player.PlayerCharacter.ID == 0 ? "ConsortiaApplyAllyDeleteHandler.Success" : "ConsortiaApplyAllyDeleteHandler.Success2";
             result = true;
         }
     }
     packet.WriteBoolean(result);
     packet.WriteString(LanguageMgr.GetTranslation(msg));
     client.Out.SendTCP(packet);
     return 0;
 }
コード例 #26
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.ConsortiaID == 0)
                return 0;

            int money = packet.ReadInt();
            if (client.Player.PlayerCharacter.HasBagPassword && client.Player.PlayerCharacter.IsLocked)
            {

                client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("Bag.Locked"));
                return 1;
            }

            if (money < 1 || client.Player.PlayerCharacter.Money < money)
            {
                client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("ConsortiaRichesOfferHandler.NoMoney"));
                return 1;
            }

            bool result = false;
            string msg = "ConsortiaRichesOfferHandler.Failed";
            using (ConsortiaBussiness db = new ConsortiaBussiness())
            {
                int riches = money / 2;
                if (db.ConsortiaRichAdd(client.Player.PlayerCharacter.ConsortiaID, ref riches, 5, client.Player.PlayerCharacter.NickName))
                {
                    result = true;
                    client.Player.PlayerCharacter.RichesOffer += riches;
                    //client.Player.SetMoney(-money);

                    client.Player.RemoveMoney(money);
                    LogMgr.LogMoneyAdd(LogMoneyType.Consortia, LogMoneyType.Consortia_Rich, client.Player.PlayerCharacter.ID, money, client.Player.PlayerCharacter.Money, 0, 0, (int)eSubConsumerType.Consortia_Riches_Offer,0, "", "", "");
                    msg = "ConsortiaRichesOfferHandler.Successed";
                    GameServer.Instance.LoginServer.SendConsortiaRichesOffer(client.Player.PlayerCharacter.ConsortiaID, client.Player.PlayerCharacter.ID, client.Player.PlayerCharacter.NickName, riches);
                }
            }
            packet.WriteBoolean(result);
            packet.WriteString(LanguageMgr.GetTranslation(msg));
            client.Out.SendTCP(packet);

            return 0;
        }
コード例 #27
0
        public void SendSYSMessages(GamePlayer player, PlayerInfo spouse)
        {
            string name1 = player.PlayerCharacter.Sex ? player.PlayerCharacter.NickName : spouse.NickName;
            string name2 = player.PlayerCharacter.Sex ? spouse.NickName : player.PlayerCharacter.NickName;

            string msg = LanguageMgr.GetTranslation("MarryApplyReplyHandler.Msg1", name1, name2);

            GSPacketIn pkg = new GSPacketIn((byte)ePackageType.SYS_NOTICE);
            pkg.WriteInt(2);
            pkg.WriteString(msg);

            GameServer.Instance.LoginServer.SendPacket(pkg);

            GamePlayer[] players = Game.Server.Managers.WorldMgr.GetAllPlayers();

            foreach (GamePlayer p in players)
            {
                p.Out.SendTCP(pkg);
            }
        }
コード例 #28
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            int id = packet.ReadInt();
            bool result = false;
            int tempID = 0;
            int state = 0;
            string msg = "ConsortiaApplyAllyPassHandler.Failed";
            using (ConsortiaBussiness db = new ConsortiaBussiness())
            {
                if (db.PassConsortiaApplyAlly(id, client.Player.PlayerCharacter.ID, client.Player.PlayerCharacter.ConsortiaID,ref tempID,ref state, ref msg))
                {
                    msg = "ConsortiaApplyAllyPassHandler.Success";
                    result = true;
                    GameServer.Instance.LoginServer.SendConsortiaAlly(client.Player.PlayerCharacter.ConsortiaID, tempID, state);
                }
            }
            packet.WriteBoolean(result);
            packet.WriteString(LanguageMgr.GetTranslation(msg));
            client.Out.SendTCP(packet);

            return 0;
        }
コード例 #29
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.ConsortiaID == 0)
                return 0;

            bool result = false;
            string msg = "ConsortiaStoreUpGradeHandler.Failed";
            //using (ConsortiaBussiness db = new ConsortiaBussiness())
            //{
            //    ConsortiaInfo info = db.GetConsortiaSingle(client.Player.PlayerCharacter.ConsortiaID);

            ConsortiaInfo info = Managers.ConsortiaMgr.FindConsortiaInfo(client.Player.PlayerCharacter.ConsortiaID);
            if (info == null)
            {
                msg = "ConsortiaStoreUpGradeHandler.NoConsortia";
            }
            else
            {
                using (ConsortiaBussiness cb = new ConsortiaBussiness())
                {
                    if (cb.UpGradeStoreConsortia(client.Player.PlayerCharacter.ConsortiaID, client.Player.PlayerCharacter.ID, ref msg))
                    {
                        info.StoreLevel++;
                        GameServer.Instance.LoginServer.SendConsortiaStoreUpGrade(info);
                        msg = "ConsortiaStoreUpGradeHandler.Success";
                        result = true;
                    }
                }
            }

            //}


            packet.WriteBoolean(result);
            packet.WriteString(LanguageMgr.GetTranslation(msg));
            client.Out.SendTCP(packet);

            return 1;
        }
コード例 #30
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.ConsortiaID == 0)
                return 1;

            bool state = packet.ReadBoolean();
            bool result = false;
            string msg = "CONSORTIA_APPLY_STATE.Failed";
            using (ConsortiaBussiness db = new ConsortiaBussiness())
            {
                if (db.UpdateConsotiaApplyState(client.Player.PlayerCharacter.ConsortiaID, client.Player.PlayerCharacter.ID, state,ref msg))
                {
                    msg = "CONSORTIA_APPLY_STATE.Success";
                    result =true;
                }
            }

            packet.WriteBoolean(result);
            packet.WriteString(LanguageMgr.GetTranslation(msg));
            client.Out.SendTCP(packet);

            return 0;
        }
コード例 #31
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            string placard = packet.ReadString();
            if (System.Text.Encoding.Default.GetByteCount(placard) > 300)
            {
                client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("ConsortiaPlacardUpdateHandler.Long"));
                return 1;
            }
            bool result = false;
            string msg = "ConsortiaPlacardUpdateHandler.Failed";
            using (ConsortiaBussiness db = new ConsortiaBussiness())
            {
                if (db.UpdateConsortiaPlacard(client.Player.PlayerCharacter.ConsortiaID, client.Player.PlayerCharacter.ID, placard, ref msg))
                {
                    msg = "ConsortiaPlacardUpdateHandler.Success";
                    result = true;
                }
            }
            packet.WriteBoolean(result);
            packet.WriteString(LanguageMgr.GetTranslation(msg));
            client.Out.SendTCP(packet);

            return 0;
        }
コード例 #32
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.ConsortiaID == 0)
                return 0;

            //int id = packet.ReadInt();
            string name = packet.ReadString();
            bool result = false;
            string msg = "ConsortiaInviteAddHandler.Failed";
            if(string.IsNullOrEmpty(name))
                return 0;
            using (ConsortiaBussiness db = new ConsortiaBussiness())
            {
                ConsortiaInviteUserInfo info = new ConsortiaInviteUserInfo();
                info.ConsortiaID = client.Player.PlayerCharacter.ConsortiaID;
                info.ConsortiaName = client.Player.PlayerCharacter.ConsortiaName;
                info.InviteDate = DateTime.Now;
                info.InviteID = client.Player.PlayerCharacter.ID;
                info.InviteName = client.Player.PlayerCharacter.NickName;
                info.IsExist = true;
                info.Remark = "";
                info.UserID = 0;
                info.UserName = name;
                if (db.AddConsortiaInviteUsers(info, ref msg))
                {
                    msg = "ConsortiaInviteAddHandler.Success";
                    result = true;
                    GameServer.Instance.LoginServer.SendConsortiaInvite(info.ID, info.UserID, info.UserName, info.InviteID, info.InviteName, info.ConsortiaName,info.ConsortiaID);
                }
            }
            packet.WriteBoolean(result);
            packet.WriteString(LanguageMgr.GetTranslation(msg));
            client.Out.SendTCP(packet);

            return 0;
        }