Example #1
0
 public void HandleCommand(BaseGame game, Player player, GSPacketIn packet)
 {
     if(game is PVEGame)
     {
         PVEGame pve = game as PVEGame;
         bool tryAgain = packet.ReadBoolean();
         bool isHost = packet.ReadBoolean();
         if (isHost == true)
         {
             if (tryAgain == true)
             {
                 if (player.PlayerDetail.RemoveMoney(100) > 0)
                 {
                     //退回关卡结算
                     pve.WantTryAgain = 1;
                     game.SendToAll(packet);
                     player.PlayerDetail.LogAddMoney(AddMoneyType.Game, AddMoneyType.Game_TryAgain, player.PlayerDetail.PlayerCharacter.ID, 100, player.PlayerDetail.PlayerCharacter.Money);
                 }
                 else
                 {
                     player.PlayerDetail.SendInsufficientMoney((int)eBattleRemoveMoneyType.TryAgain);
                 }
             }
             else
             {
                 //退回房间
                 pve.WantTryAgain = 0;
                 game.SendToAll(packet);
             }
             pve.CheckState(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;
        }
        //修改:  Xiaov
        //时间:  2009-11-7
        //描述:  获取用户装备<已测试>
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            bool type = packet.ReadBoolean();//_loc_3.writeBoolean(true);
            int id = packet.ReadInt();
            string nickname;
            if (!type)
                nickname = packet.ReadString();
            GamePlayer player = Managers.WorldMgr.GetPlayerById(id);
            PlayerInfo info;
            List<ItemInfo> items;
            if (player != null)
            {
                info = player.PlayerCharacter;
                items = player.MainBag.GetItems(0, 31);
            }
            else
            {
                using (PlayerBussiness pb = new PlayerBussiness())
                {
                    info = pb.GetUserSingleByUserID(id);
                    items = pb.GetUserEuqip(id);
                }
            }

            if (info != null && items != null)
                client.Out.SendUserEquip(info, items);
            return 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;
        }
        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;
        }
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.CurrentMarryRoom != null && client.Player.PlayerCharacter.ID == client.Player.CurrentMarryRoom.Info.PlayerID)
            {
                string roomName = packet.ReadString();

                bool isPwdChanged = packet.ReadBoolean();

                string pwd = packet.ReadString();
                
                string introduction = packet.ReadString();

                MarryRoom room = client.Player.CurrentMarryRoom;

                room.Info.RoomIntroduction = introduction;
                room.Info.Name = roomName;
                if (isPwdChanged)
                {
                    room.Info.Pwd = pwd;
                }
                

                using (PlayerBussiness db = new PlayerBussiness())
                {
                    db.UpdateMarryRoomInfo(room.Info);
                }

                room.SendMarryRoomInfoUpdateToScenePlayers(room);

                client.Player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("MarryRoomInfoUpdateHandler.Successed"));
                return 0;
            }

            return 1;
        }
 public int HandlePacket(GameClient client, GSPacketIn packet)
 {
     if (client.Player.CurrentRoom != null && client.Player == client.Player.CurrentRoom.Host)
     {
         RoomMgr.UpdateRoomPos(client.Player.CurrentRoom, packet.ReadByte(), packet.ReadBoolean());
     }
     return 0;
 }
 public void HandleASSState(GSPacketIn packet)
 {
     bool state = packet.ReadBoolean();
     AntiAddictionMgr.SetASSState(state);
     //GamePlayer[] players = WorldMgr.GetAllPlayers();
     //foreach (GamePlayer p in players)
     //{
         //p.Out.SendAASControl(state, p.IsAASInfo, p.IsMinor);
     //}
 }
Example #9
0
        public void HandleCommand(BaseGame game, Player player, GSPacketIn packet)
        {
            if (player.IsAttacking)
            {
                game.SendToAll(packet);

                bool tag = packet.ReadBoolean();
                byte speedTime = packet.ReadByte();

                player.PrepareShoot(speedTime);
            }
        }
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            bool result = packet.ReadBoolean();
            int UserID = packet.ReadInt();
            int AnswerId = packet.ReadInt();   //答复对话框ID
            //先判断自已有没有结婚
            if (result && client.Player.PlayerCharacter.IsMarried)
            {
                client.Player.Out.SendMessage(eMessageType.ChatERROR, LanguageMgr.GetTranslation("MarryApplyReplyHandler.Msg2"));                
            }

            using (PlayerBussiness db = new PlayerBussiness())
            {
                PlayerInfo tempSpouse = db.GetUserSingleByUserID(UserID);
                //发送好人卡
                if (!result)
                {
                    SendGoodManCard(tempSpouse.NickName, tempSpouse.ID, client.Player.PlayerCharacter.NickName, client.Player.PlayerCharacter.ID, db);
                    GameServer.Instance.LoginServer.SendUpdatePlayerMarriedStates(tempSpouse.ID);                    
                }

                //判断对方有没有结婚                
                if (tempSpouse == null || tempSpouse.Sex == client.Player.PlayerCharacter.Sex)
                {
                    return 1;
                }
                if (tempSpouse.IsMarried)
                {
                    client.Player.Out.SendMessage(eMessageType.ChatNormal, LanguageMgr.GetTranslation("MarryApplyReplyHandler.Msg3"));
                }

                MarryApplyInfo info = new MarryApplyInfo();
                info.UserID = UserID;
                info.ApplyUserID = client.Player.PlayerCharacter.ID;
                info.ApplyUserName = client.Player.PlayerCharacter.NickName;
                info.ApplyType = 2;
                info.LoveProclamation = "";
                info.ApplyResult = result;
                int id = 0;
                if (db.SavePlayerMarryNotice(info, AnswerId, ref id))
                {
                    if (result)
                    {                        
                        client.Player.Out.SendMarryApplyReply(client.Player, tempSpouse.ID, tempSpouse.NickName, result, false, id);
                        client.Player.LoadMarryProp();
                        SendSYSMessages(client.Player, tempSpouse);
                    }
                    GameServer.Instance.LoginServer.SendUpdatePlayerMarriedStates(tempSpouse.ID);
                    return 0;
                }
            }
            return 1;
        }
        //修改:  Xiaov
        //时间:  2009-11-7
        //描述:  用户与用户之间私聊<已测试>
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            int receiverID = packet.ReadInt();
            //int senderID = packet.ReadInt();
            string receiver = packet.ReadString();
            string sender = packet.ReadString();
            string msg = packet.ReadString();
            bool isAutoReply = packet.ReadBoolean();

            if (receiverID == 0)
            {
                using (PlayerBussiness db = new PlayerBussiness())
                {
                    PlayerInfo info = db.GetUserSingleByNickName(receiver);
                    if (info != null)
                        receiverID = info.ID;
                }
            }

            if (receiverID != 0)
            {
                GSPacketIn pkg = packet.Clone();
                pkg.ClearContext();
                pkg.WriteInt(receiverID);
                pkg.ClientID = (client.Player.PlayerCharacter.ID);
                //pkg.WriteInt(senderID);
                pkg.WriteString(receiver);
                pkg.WriteString(sender);
                pkg.WriteString(msg);
                pkg.WriteBoolean(false);

                GamePlayer player = Managers.WorldMgr.GetPlayerById(receiverID);

                if (player != null)
                {
                    if (player.IsBlackFriend(client.Player.PlayerCharacter.ID))
                        return 1;
                    player.Out.SendTCP(pkg);
                }
                else
                {

                    GameServer.Instance.LoginServer.SendPacket(pkg);
                }
                client.Out.SendTCP(pkg);
            }
            else
            {
                client.Out.SendMessage(eMessageType.ERROR, LanguageMgr.GetTranslation("UserPrivateChatHandler.NoUser"));
            }

            return 1;
        }
 public int HandlePacket(GameClient client, GSPacketIn packet)
 {
     //_loc_3.writeBoolean(param2);
     bool responseLuckyNum = packet.ReadBoolean();
     //_loc_3.writeInt(param1);
     int LuckyNum = packet.ReadInt();
     //GSPacketIn pkg = packet.Clone();
     //pkg.WriteInt(2);
     //pkg.WriteString("False,False,True,True");
     //client.SendTCP(pkg);
     return 1;
 }
        public void HandleConfigState(GSPacketIn packet)
        {
            bool aSSState = packet.ReadBoolean();
            bool dailyState = packet.ReadBoolean();

            AwardMgr.DailyAwardState = dailyState;
            AntiAddictionMgr.SetASSState(aSSState);
            //GamePlayer[] players = WorldMgr.GetAllPlayers();
            //foreach (GamePlayer p in players)
            //{
                //p.Out.SendAASControl(aSSState, p.IsAASInfo, p.IsMinor);
            //}
        }
 //修改:  Xiaov 
 //时间:  2009-11-7
 //描述:  隐藏装备<已测试>     
 public int HandlePacket(GameClient client,GSPacketIn packet)
 {
     bool hide = packet.ReadBoolean();
     int categroyID = packet.ReadInt();
     switch (categroyID)
     {
         case 13:
             categroyID = 3;
             break;
     }
     client.Player.HideEquip(categroyID, hide);
     return 0;
 }
Example #15
0
        public void HandleCommand(BaseGame game, Player player, GSPacketIn packet)
        {
            if (player.IsAttacking)
            {
                packet.Parameter1 = player.Id;
                game.SendToAll(packet);

                //同客户端同步LifeTime
                game.SendSyncLifeTime();
                bool tag = packet.ReadBoolean();

                //开炮所需时间
                byte speedTime = packet.ReadByte();
                player.PrepareShoot(speedTime);
            }
        }
Example #16
0
        public bool HandleCommand(TankGameLogicProcessor process, GamePlayer player, GSPacketIn packet)
        {
            if (player.CurrentGame.Data.CurrentIndex == player || player.CurrentGame.Data.Players[player].State == TankGameState.DEAD)
            {
                GSPacketIn pkg = packet.Clone();
                pkg.ClientID = player.PlayerCharacter.ID;
                player.CurrentGame.SendToPlayerExceptSelf(pkg, player);

                byte type = packet.ReadByte();
                int tx = packet.ReadInt();
                int ty = packet.ReadInt();
                byte dir = packet.ReadByte();
                bool isLiving = packet.ReadBoolean();
                Player p = player.CurrentGame.Data.Players[player];

                switch (type)
                {
                    case 0:
                    case 1:
                        //p.X = tx;
                        //p.Y = ty;
                        p.SetXY(tx, ty);
                        if (player.CurrentGame != null)
                        {
                            p.StartMoving();
                            if (p.Y - ty > 1 || p.IsLiving != isLiving)
                            {
                                //GameServer.log.Error(string.Format("修正掉落: 动作类型  {0}    原始Y:{1}     最新Y:{2}", type, ty, p.Y));
                                //把服务器修正的掉落指令和客户掉落指令加以区分。
                                pkg = player.Out.SendPlayerMove(3, p.X, p.Y, 0, p.IsLiving);
                                player.CurrentGame.SendToPlayerExceptSelf(pkg, player);
                            }
                        }
                        break;
                    case 2:
                        if (player.CurrentGame.Data.Players[player].State == TankGameState.DEAD)
                        {
                            p.EndX = tx;
                            p.EndY = ty;
                        }
                        break;
                }
                return true;
            }
            return false;
        }
 public void HandleCommand(BaseGame game, Player player, GSPacketIn packet)
 {
     if (game.GameState == eGameState.SessionPrepared || game.GameState == eGameState.GameOver)
     {
         //if (player.Weapon == null)
         //{
         //    player.PlayerDetail.SendMessage(LanguageMgr.GetTranslation("Game.Server.SceneGames.NoEquip"));
         //    return;
         //}
         bool isReady = packet.ReadBoolean();
         if (player.Ready != isReady)
         {
             player.Ready = isReady;
             game.SendToAll(packet);
         }
     }
 }
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.MarryInfoID != 0)
            {
                return 1;
            }
            
            bool IsPublishEquip = packet.ReadBoolean();
            string Introduction = packet.ReadString();
            int UserID = client.Player.PlayerCharacter.ID;
            eMessageType eMsg = eMessageType.Normal;
            string msg = "MarryInfoAddHandler.Fail";

            int needGold = 10000;
            if (needGold > client.Player.PlayerCharacter.Gold)
            {
                eMsg = eMessageType.ERROR;
                msg = "MarryInfoAddHandler.Msg1";
            }
            else
            {
                client.Player.SaveIntoDatabase();
                MarryInfo info = new MarryInfo();
                info.UserID = UserID;
                info.IsPublishEquip = IsPublishEquip;
                info.Introduction = Introduction;
                info.RegistTime = DateTime.Now;

                using (PlayerBussiness db = new PlayerBussiness())
                {
                    if (db.AddMarryInfo(info))
                    {
                        client.Player.RemoveGold(needGold);
                        msg = "MarryInfoAddHandler.Msg2";
                        client.Player.PlayerCharacter.MarryInfoID = info.ID;
                        client.Out.SendMarryInfoRefresh(info, info.ID, true);
                    }
                }
            }


            client.Out.SendMessage(eMsg, LanguageMgr.GetTranslation(msg));

            return 0;
        }
Example #19
0
        public bool HandleCommand(TankGameLogicProcessor process, GamePlayer player, GSPacketIn packet)
        {
            if (player.CurrentGame.Data.Players[player].State == TankGameState.DEAD)
                return false;
            //{
            bool tag = packet.ReadBoolean();
            if (player.CurrentGame.Data.CurrentFire == null && tag && player.CurrentGame.Data.CurrentIndex == player)
            {
                player.CurrentGame.Data.SpendTime(packet.ReadByte());
                player.CurrentGame.Data.CurrentFire = player;
            }

            if (!tag && player.CurrentGame.Data.CurrentIndex == player)
            {
                process.SendPlayFinish(player.CurrentGame, player);
            }

            player.CurrentGame.ReturnPacket(player, packet);
            //}
            return false;
        }
Example #20
0
        public void HandleCommand(BaseGame game, Player player, GSPacketIn packet)
        {
            if (player.IsAttacking)
            {
                GSPacketIn pkg = packet.Clone();
                pkg.ClientID = player.PlayerDetail.PlayerCharacter.ID;
                pkg.Parameter1 = player.Id;
                game.SendToAll(pkg, player.PlayerDetail);

                byte type = packet.ReadByte();
                int tx = packet.ReadInt();
                int ty = packet.ReadInt();
                byte dir = packet.ReadByte();
                bool isLiving = packet.ReadBoolean();
                //Console.WriteLine("isLiving : {0}, tx : {1}, ty : {2}, type : {3}, playerId : {4}", isLiving, tx, ty, type, player.Id);
                switch (type)
                {
                    case 0:
                    case 1:
                        //p.X = tx;
                        //p.Y = ty;
                       // if (player.PlayerDetail.PlayerCharacter.NickName == "jacken123")
                           // Console.WriteLine(player.PlayerDetail.PlayerCharacter.NickName + "X坐标" + player.X.ToString() + "Y坐标" + player.Y.ToString());
                        player.SetXY(tx, ty);
                        player.StartMoving();
                       // if (player.PlayerDetail.PlayerCharacter.NickName == "jacken123")
                           // Console.WriteLine(string.Format("修正掉落: 动作类型  {0}    原始Y:{1}     最新Y:{2}", type, ty, player.Y));
                        if (player.Y - ty > 1 || player.IsLiving != isLiving)
                        {
                            //Console.WriteLine("player.IsLiving : {0}, playerId : {1}", player.IsLiving, player.Id);
                            //把服务器修正的掉落指令和客户掉落指令加以区分。
                            Console.WriteLine("玩家移动掉落:"+player.IsLiving.ToString());
                            game.SendPlayerMove(player, 3, player.X, player.Y, 0, player.IsLiving, null);
                        }
                        break;
                    case 2:
                        break;
                }
            }
        }
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            bool result = packet.ReadBoolean();
            if (client.Player.CurrentGame != null && client.Player.CurrentGame.GameState == eGameState.LOAD && client.Player.CurrentGame.GameMode == eGameMode.FLAG)
            {
                packet.ClientID = (client.Player.PlayerCharacter.ID);
                if (result)
                {
                    if (!client.Player.CurrentGame.Data.FlagPlayer.Contains(client.Player))
                        client.Player.CurrentGame.Data.FlagPlayer.Add(client.Player);
                }
                else
                {
                    if (client.Player.CurrentGame.Data.FlagPlayer.Contains(client.Player))
                        client.Player.CurrentGame.Data.FlagPlayer.Remove(client.Player);
                }

                client.Player.CurrentGame.SendToAll(packet);

            }
            return 0;
        }
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            //type可能的值为 -2, -1, 1, 3, 4
            //当type = 1, 3, 4时,分别指快速加入组队战,Boss战,夺宝战
            //当type = -1时,房间ID为所点的房间ID,无密码时也传空字符串
            //当type = -2时,表示PVE游戏中的邀请
            bool isInvite=packet.ReadBoolean();
            int type = packet.ReadInt();
            int isRoundID = packet.ReadInt();
            int roomId = -1;
            string pwd = null;
          
            if (isRoundID==-1)
            {
                roomId = packet.ReadInt();
                pwd = packet.ReadString();
            }
            if (type == 1) type = 0;
            else if (type == 2) type = 4;
            //string pwd = null;
            //switch (type)
            //{
            //    case -1:
            //        roomId = packet.ReadInt();
            //        pwd = packet.ReadString();
            //        break;
            //    default:
            //        break;
            //}
           
            //TrieuLSL
            //GSPacketIn pkg2 = new GSPacketIn((byte)ePackageType.SYS_NOTICE);
            //pkg2.WriteInt(1);
            //pkg2.WriteString("Bạn đang sử dụng gunny phiên bản do smallwind1912 phát triển mọi thắc mắc xin liên hệ [email protected] hoặc truy cập wohzoo.com ");
            //client.Out.SendTCP(pkg2);
            RoomMgr.EnterRoom(client.Player, roomId, pwd, type);

            return 0;
        }
Example #23
0
        public void HandleCommand(BaseGame game, Player player, GSPacketIn packet)
        {
            if (player.IsLiving || player.IsAttacking)
            {
                GSPacketIn pkg = packet.Clone();
                pkg.ClientID = player.Id;
                game.SendToAll(pkg, player.PlayerDetail);

                byte type = packet.ReadByte();
                int tx = packet.ReadInt();
                int ty = packet.ReadInt();
                byte dir = packet.ReadByte();
                bool isLiving = packet.ReadBoolean();

                switch (type)
                {
                    case 0:
                    case 1:
                        //p.X = tx;
                        //p.Y = ty;
                        player.SetXY(tx, ty);
                        player.StartMoving();
                        if (player.Y - ty > 1 || player.IsLiving != isLiving)
                        {
                            //GameServer.log.Error(string.Format("修正掉落: 动作类型  {0}    原始Y:{1}     最新Y:{2}", type, ty, p.Y));
                            //把服务器修正的掉落指令和客户掉落指令加以区分。
                            pkg = player.PlayerDetail.Out.SendPlayerMove(player,3, player.X, player.Y, 0, player.IsLiving);
                            game.SendToAll(pkg, player.PlayerDetail);
                        }
                        break;
                    case 2:
                        if (player.IsLiving == false)
                        {
                            player.TargetPoint = new Point(tx, ty);
                        }
                        break;
                }
            }
        }
Example #24
0
        public void HandleCommand(BaseGame game, Player player, GSPacketIn packet)
        {
            if (player.IsAttacking)
            {
                //GSPacketIn pkg = packet.Clone();
                //pkg.ClientID = player.PlayerDetail.PlayerCharacter.ID;
                //pkg.Parameter1 = player.Id;
                //game.SendToAll(pkg, player.PlayerDetail);

                byte type = packet.ReadByte();
                int tx = packet.ReadInt();
                int ty = packet.ReadInt();
                byte dir = packet.ReadByte();
                bool isLiving = packet.ReadBoolean();
                //_loc_7.writeShort(param6); _player.map.currentTurn
                short map_currentTurn = packet.ReadShort();
                game.SendPlayerMove(player, type, tx, ty, dir, isLiving);
                switch (type)
                {
                    case 0:
                    case 1:

                        player.SetXY(tx, ty);
                        player.StartMoving();
                        if (player.Y - ty > 1 || player.IsLiving != isLiving)
                        {
                            //trminhpc type=3
                            game.SendPlayerMove(player, 3, player.X, player.Y, 0);//, player.IsLiving, null);
                        }
                        //else
                        //{
                        //    game.SendPlayerMove(player, type, tx, ty, dir, isLiving, null);
                        //}
                        break;

                }
            }
        }
        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;
        }
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if(client.Player.PlayerCharacter.MarryInfoID == 0)
            {
                return 1;
            }
            
            //int id = packet.ReadInt();
            bool IsPublishEquip = packet.ReadBoolean();
            string Introduction = packet.ReadString();
            int id = client.Player.PlayerCharacter.MarryInfoID;
            string msg = "MarryInfoUpdateHandler.Fail";
            using (PlayerBussiness db = new PlayerBussiness())
            {
                MarryInfo info = db.GetMarryInfoSingle(id);
                if (info == null)
                {
                    msg = "MarryInfoUpdateHandler.Msg1";
                }
                else
                {
                    info.IsPublishEquip = IsPublishEquip;
                    info.Introduction = Introduction;
                    info.RegistTime = DateTime.Now;

                    if (db.UpdateMarryInfo(info))
                    {
                        msg = "MarryInfoUpdateHandler.Succeed";
                    }
                }

                client.Out.SendMarryInfoRefresh(info, id, info != null);
                client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation(msg));
            }
            return 0;
        }
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            //type可能的值为 -2, -1, 1, 3, 4
            //当type = 1, 3, 4时,分别指快速加入组队战,Boss战,夺宝战
            //当type = -1时,房间ID为所点的房间ID,无密码时也传空字符串
            //当type = -2时,表示PVE游戏中的邀请
            bool isInvite=packet.ReadBoolean();
            int type = packet.ReadInt();
            int isRoundID = packet.ReadInt();
            int roomId = -1;
            string pwd = null;

            if (isRoundID==-1)
            {
                roomId = packet.ReadInt();
                pwd = packet.ReadString();
            }
            if (type == 1) type = 0;
            else if (type == 2) type = 4;

            RoomMgr.EnterRoom(client.Player, roomId, pwd, type);

            return 0;
        }
        private void HandlePlayerOnMissionOver(GSPacketIn pkg)
        {
            GamePlayer player = WorldMgr.GetPlayerById(pkg.ClientID);
            AbstractGame game = player.CurrentRoom.Game;

            if (player != null)
            {
                player.OnMissionOver(game, pkg.ReadBoolean(), pkg.ReadInt(), pkg.ReadInt());
            }
        }
 private void HandlePlayerOnUsingItem(GSPacketIn pkg)
 {
     GamePlayer player = WorldMgr.GetPlayerById(pkg.ClientID);
     if (player != null)
     {
         int templateId = pkg.ReadInt();
         bool result = player.UsePropItem(null, pkg.Parameter1, pkg.Parameter2, templateId, pkg.ReadBoolean());
         SendUsingPropInGame(player.CurrentRoom.Game.Id, player.GamePlayerId, templateId, result);
     }
 }
 private void HandlePlayerOnGameOver(GSPacketIn pkg)
 {
     GamePlayer player = WorldMgr.GetPlayerById(pkg.ClientID);
     if (player != null && player.CurrentRoom != null && player.CurrentRoom.Game != null)
     {
         player.OnGameOver(player.CurrentRoom.Game, pkg.ReadBoolean(), pkg.ReadInt());
     }
 }