public int HandlePacket(GameClient client, GSPacketIn packet) { GSPacketIn gSPacketIn = new GSPacketIn(240, client.Player.PlayerCharacter.ID); if (WorldMgr.MarryScene.AddPlayer(client.Player)) { gSPacketIn.WriteBoolean(true); } else { gSPacketIn.WriteBoolean(false); } client.Out.SendTCP(gSPacketIn); if (client.Player.CurrentMarryRoom == null) { MarryRoom[] allMarryRoom = MarryRoomMgr.GetAllMarryRoom(); MarryRoom[] array = allMarryRoom; for (int i = 0; i < array.Length; i++) { MarryRoom room = array[i]; client.Player.Out.SendMarryRoomInfo(client.Player, room); } } return(0); }
public override int HandlePacket(GamePlayer player, GSPacketIn packet) { GSPacketIn pkg = packet.Clone(); if (WorldMgr.MarryScene.AddPlayer(player)) { pkg.WriteBoolean(true); } else { pkg.WriteBoolean(false); } player.Out.SendTCP(pkg); if (player.CurrentMarryRoom == null) { MarryRoom[] list = MarryRoomMgr.GetAllMarryRoom(); MarryRoom[] array = list; for (int i = 0; i < array.Length; i++) { MarryRoom g = array[i]; player.Out.SendMarryRoomInfo(player, g); } } return(0); }
public void HandleMarryRoomDispose(GSPacketIn packet) { int roomId = packet.ReadInt(); MarryRoom[] rooms = MarryRoomMgr.GetAllMarryRoom(); MarryRoom[] array = rooms; for (int i = 0; i < array.Length; i++) { MarryRoom room = array[i]; if (room.Info.ID == roomId) { room.KillAllPlayer(); MarryRoomMgr.RemoveMarryRoom(room); GSPacketIn pkg = new GSPacketIn(254); pkg.WriteInt(roomId); WorldMgr.MarryScene.SendToALL(pkg); room.StopTimer(); GSPacketIn pkg2 = new GSPacketIn(249); pkg2.WriteByte(9); room.SendToAll(pkg2); room.StopTimerForHymeneal(); room.SendUserRemoveLate(); room.SendMarryRoomInfoUpdateToScenePlayers(room); } } }
//修改: Xiaov //时间: 2009-11-7 //描述: 进入结婚场景<已测试> public int HandlePacket(GameClient client, GSPacketIn packet) { GSPacketIn pkg = packet.Clone(); if (WorldMgr.MarryScene.AddPlayer(client.Player)) { pkg.WriteBoolean(true); } else { pkg.WriteBoolean(false); } client.Out.SendTCP(pkg); if (client.Player.CurrentMarryRoom == null) { MarryRoom[] list = MarryRoomMgr.GetAllMarryRoom(); foreach (MarryRoom g in list) { client.Player.Out.SendMarryRoomInfo(client.Player, g); } } return(0); //if (client.Player.CurrentScene == WorldMgr.MarryScene) //{ // MarryRoom[] list = MarryRoomMgr.GetAllMarryRoom(); // foreach (MarryRoom g in list) // { // client.Player.Out.SendMarryRoomInfo(client.Player, g); // } // client.Out.SendPingTime(); //} }
public override int HandlePacket(GamePlayer player, GSPacketIn packet) { bool isInMovie = packet.ReadBoolean(); int result; if (!player.PlayerCharacter.IsMarried) { result = 1; } else { if (player.PlayerCharacter.HasBagPassword && player.PlayerCharacter.IsLocked) { player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("Bag.Locked", new object[0])); result = 0; } else { int needMoney = AppConfig.AppSettings["DivorcedMoney"].ConvertToInt(5214); if (player.PlayerCharacter.Money < needMoney) { player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("DivorceApplyHandler.Msg1", new object[0])); result = 1; } else { if (player.PlayerCharacter.IsCreatedMarryRoom) { using (PlayerBussiness db = new PlayerBussiness()) { db.DisposeMarryRoomInfo(player.PlayerCharacter.SelfMarryRoomID); GameServer.Instance.LoginServer.SendMarryRoomDisposeToPlayer(player.PlayerCharacter.SelfMarryRoomID); } MarryRoom[] rooms = MarryRoomMgr.GetAllMarryRoom(); MarryRoom[] array = rooms; for (int i = 0; i < array.Length; i++) { MarryRoom room = array[i]; if (room.Info.GroomID == player.PlayerCharacter.ID || room.Info.BrideID == player.PlayerCharacter.ID) { room.KillAllPlayer(); GameServer.Instance.LoginServer.SendUpdatePlayerMarriedStates(room.Info.GroomID); GameServer.Instance.LoginServer.SendUpdatePlayerMarriedStates(room.Info.BrideID); GameServer.Instance.LoginServer.SendMarryRoomInfoToPlayer(room.Info.GroomID, false, room.Info); GameServer.Instance.LoginServer.SendMarryRoomInfoToPlayer(room.Info.BrideID, false, room.Info); MarryRoomMgr.RemoveMarryRoom(room); GSPacketIn pkg = new GSPacketIn(254); pkg.WriteInt(room.Info.ID); WorldMgr.MarryScene.SendToALL(pkg); room.StopTimer(); if (isInMovie) { GSPacketIn pkg2 = new GSPacketIn(249); pkg2.WriteByte(9); room.SendToAll(pkg2); room.StopTimerForHymeneal(); room.SendUserRemoveLate(); } break; } } } player.RemoveMoney(needMoney, LogMoneyType.Marry, LogMoneyType.Marry_Unmarry); CountBussiness.InsertSystemPayCount(player.PlayerCharacter.ID, needMoney, 0, 0, 3); using (PlayerBussiness db = new PlayerBussiness()) { PlayerInfo tempSpouse = db.GetUserSingleAllUserID(player.PlayerCharacter.SpouseID); if (tempSpouse == null || tempSpouse.Sex == player.PlayerCharacter.Sex) { result = 1; return(result); } MarryApplyInfo info = new MarryApplyInfo(); info.UserID = player.PlayerCharacter.SpouseID; info.ApplyUserID = player.PlayerCharacter.ID; info.ApplyUserName = player.PlayerCharacter.NickName; info.ApplyType = 3; info.LoveProclamation = ""; info.ApplyResult = false; int id = 0; if (db.SavePlayerMarryNotice(info, 0, ref id)) { GameServer.Instance.LoginServer.SendUpdatePlayerMarriedStates(tempSpouse.ID); player.LoadMarryProp(); } } player.QuestInventory.ClearMarryQuest(); player.Out.SendPlayerDivorceApply(player, true, true); result = 0; } } } return(result); }
public int HandlePacket(GameClient client, GSPacketIn packet) { MarryRoom marryRoom = null; string text = ""; int num = packet.ReadInt(); string text2 = packet.ReadString(); int marryMap = packet.ReadInt(); if (num != 0) { marryRoom = MarryRoomMgr.GetMarryRoombyID(num, (text2 == null) ? "" : text2, ref text); } else { if (client.Player.PlayerCharacter.IsCreatedMarryRoom) { MarryRoom[] allMarryRoom = MarryRoomMgr.GetAllMarryRoom(); MarryRoom[] array = allMarryRoom; for (int i = 0; i < array.Length; i++) { MarryRoom marryRoom2 = array[i]; if (marryRoom2.Info.GroomID == client.Player.PlayerCharacter.ID || marryRoom2.Info.BrideID == client.Player.PlayerCharacter.ID) { marryRoom = marryRoom2; break; } } } if (marryRoom == null && client.Player.PlayerCharacter.SelfMarryRoomID != 0) { client.Player.Out.SendMarryRoomLogin(client.Player, false); MarryRoomInfo marryRoomInfo = null; using (PlayerBussiness playerBussiness = new PlayerBussiness()) { marryRoomInfo = playerBussiness.GetMarryRoomInfoSingle(client.Player.PlayerCharacter.SelfMarryRoomID); } if (marryRoomInfo != null) { client.Player.Out.SendMessage(eMessageType.ChatNormal, LanguageMgr.GetTranslation("MarryRoomLoginHandler.RoomExist", new object[] { marryRoomInfo.ServerID, client.Player.PlayerCharacter.SelfMarryRoomID })); return(0); } } } if (marryRoom != null) { if (marryRoom.CheckUserForbid(client.Player.PlayerCharacter.ID)) { client.Out.SendMessage(eMessageType.ERROR, LanguageMgr.GetTranslation("MarryRoomLoginHandler.Forbid", new object[0])); client.Player.Out.SendMarryRoomLogin(client.Player, false); return(1); } if (marryRoom.RoomState == eRoomState.FREE) { if (marryRoom.AddPlayer(client.Player)) { client.Player.MarryMap = marryMap; client.Player.Out.SendMarryRoomLogin(client.Player, true); marryRoom.SendMarryRoomInfoUpdateToScenePlayers(marryRoom); return(0); } } else { client.Player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("MarryRoomLoginHandler.AlreadyBegin", new object[0])); } client.Player.Out.SendMarryRoomLogin(client.Player, false); } else { client.Out.SendMessage(eMessageType.ERROR, LanguageMgr.GetTranslation(string.IsNullOrEmpty(text) ? "MarryRoomLoginHandler.Failed" : text, new object[0])); client.Player.Out.SendMarryRoomLogin(client.Player, false); } return(1); }
public int HandlePacket(GameClient client, GSPacketIn packet) { //if (client.Player.CurrentGame != null) //{ // client.Player.CurrentGame.RemovePlayer(client.Player); //} //if(client.Player.CurrentMarryRoom != null) //{ // client.Player.CurrentMarryRoom.RemovePlayer(client.Player); //} MarryRoom room = null; string msg = ""; int id = packet.ReadInt(); string pwd = packet.ReadString(); int sceneID = packet.ReadInt(); if (id != 0) { room = MarryRoomMgr.GetMarryRoombyID(id, pwd == null ? "" : pwd, ref msg); } else { if (client.Player.PlayerCharacter.IsCreatedMarryRoom) { MarryRoom[] rooms = MarryRoomMgr.GetAllMarryRoom(); foreach (MarryRoom r in rooms) { if (r.Info.GroomID == client.Player.PlayerCharacter.ID || r.Info.BrideID == client.Player.PlayerCharacter.ID) { room = r; break; } } } if (room == null && client.Player.PlayerCharacter.SelfMarryRoomID != 0) { client.Player.Out.SendMarryRoomLogin(client.Player, false); MarryRoomInfo info = null; using (PlayerBussiness db = new PlayerBussiness()) { info = db.GetMarryRoomInfoSingle(client.Player.PlayerCharacter.SelfMarryRoomID); } if (info != null) { client.Player.Out.SendMessage(eMessageType.ChatNormal, LanguageMgr.GetTranslation("MarryRoomLoginHandler.RoomExist", info.ServerID, client.Player.PlayerCharacter.SelfMarryRoomID)); return(0); } } } if (room != null) { if (room.CheckUserForbid(client.Player.PlayerCharacter.ID)) { client.Out.SendMessage(eMessageType.ERROR, LanguageMgr.GetTranslation("MarryRoomLoginHandler.Forbid")); client.Player.Out.SendMarryRoomLogin(client.Player, false); return(1); } if (room.RoomState == eRoomState.FREE) { if (room.AddPlayer(client.Player)) { client.Player.MarryMap = sceneID; GSPacketIn pkg = client.Player.Out.SendMarryRoomLogin(client.Player, true); room.SendMarryRoomInfoUpdateToScenePlayers(room); return(0); } } else { client.Player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("MarryRoomLoginHandler.AlreadyBegin")); } client.Player.Out.SendMarryRoomLogin(client.Player, false); } else { client.Out.SendMessage(eMessageType.ERROR, LanguageMgr.GetTranslation(string.IsNullOrEmpty(msg) ? "MarryRoomLoginHandler.Failed" : msg)); client.Player.Out.SendMarryRoomLogin(client.Player, false); } return(1); }
public override int HandlePacket(GamePlayer player, GSPacketIn packet) { MarryRoom room = null; string msg = ""; int id = packet.ReadInt(); string pwd = packet.ReadString(); int sceneID = packet.ReadInt(); int result; if (id != 0) { room = MarryRoomMgr.GetMarryRoombyID(id, (pwd == null) ? "" : pwd, ref msg); } else { if (player.PlayerCharacter.IsCreatedMarryRoom) { MarryRoom[] rooms = MarryRoomMgr.GetAllMarryRoom(); MarryRoom[] array = rooms; for (int i = 0; i < array.Length; i++) { MarryRoom r = array[i]; if (r.Info.GroomID == player.PlayerCharacter.ID || r.Info.BrideID == player.PlayerCharacter.ID) { room = r; break; } } } if (room == null && player.PlayerCharacter.SelfMarryRoomID != 0) { player.Out.SendMarryRoomLogin(player, false); MarryRoomInfo info = null; using (PlayerBussiness db = new PlayerBussiness()) { info = db.GetMarryRoomInfoSingle(player.PlayerCharacter.SelfMarryRoomID); } if (info != null) { player.Out.SendMessage(eMessageType.ChatNormal, LanguageMgr.GetTranslation("MarryRoomLoginHandler.RoomExist", new object[] { info.ServerID, player.PlayerCharacter.SelfMarryRoomID })); result = 0; return(result); } } } if (room != null) { if (room.CheckUserForbid(player.PlayerCharacter.ID)) { player.Out.SendMessage(eMessageType.ERROR, LanguageMgr.GetTranslation("MarryRoomLoginHandler.Forbid", new object[0])); player.Out.SendMarryRoomLogin(player, false); result = 1; return(result); } if (room.RoomState == eRoomState.FREE) { if (room.AddPlayer(player)) { player.MarryMap = sceneID; GSPacketIn pkg = player.Out.SendMarryRoomLogin(player, true); room.SendMarryRoomInfoUpdateToScenePlayers(room); result = 0; return(result); } } else { player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("MarryRoomLoginHandler.AlreadyBegin", new object[0])); } player.Out.SendMarryRoomLogin(player, false); } else { player.Out.SendMessage(eMessageType.ERROR, LanguageMgr.GetTranslation(string.IsNullOrEmpty(msg) ? "MarryRoomLoginHandler.Failed" : msg, new object[0])); player.Out.SendMarryRoomLogin(player, false); } result = 1; return(result); }