public int HandlePacket(GameClient client, GSPacketIn packet) { if (client.Player.PlayerCharacter.ConsortiaID == 0) return 0; if (client.Player.PlayerCharacter.IsBanChat) { client.Out.SendMessage(eMessageType.ChatERROR, LanguageMgr.GetTranslation("ConsortiaChatHandler.IsBanChat")); return 1; } packet.ClientID = (client.Player.PlayerCharacter.ID); byte channel = packet.ReadByte(); string nick = packet.ReadString(); string msg = packet.ReadString(); packet.WriteInt(client.Player.PlayerCharacter.ConsortiaID); GamePlayer[] players = WorldMgr.GetAllPlayers(); foreach (GamePlayer p in players) { if (p.PlayerCharacter.ConsortiaID == client.Player.PlayerCharacter.ConsortiaID) p.Out.SendTCP(packet); } GameServer.Instance.LoginServer.SendPacket(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) { byte roomType = packet.ReadByte(); byte timeType = packet.ReadByte(); string room = packet.ReadString(); string pwd = packet.ReadString(); RoomMgr.CreateRoom(client.Player, room, pwd, (eRoomType)roomType, timeType); 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 override void OnRecvPacket(Game.Base.Packets.GSPacketIn pkg) { if (pkg.Code == 0x03) //system_message { Console.WriteLine(pkg.ReadString()); } }
public int HandlePacket(GameClient client, GSPacketIn packet) { int activeID = packet.ReadInt(); string awardID = packet.ReadString(); string msg = "ActivePullDownHandler.Fail"; using (ActiveBussiness db = new ActiveBussiness()) { int result = db.PullDown(activeID, awardID, client.Player.PlayerCharacter.ID,ref msg); if (result == 0) { client.Out.SendMailResponse(client.Player.PlayerCharacter.ID,eMailRespose.Receiver); } if (msg != "ActiveBussiness.Msg0") { client.Out.SendMessage(eMessageType.ERROR, LanguageMgr.GetTranslation(msg)); } else { client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation(msg)); } } return 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; }
//修改: 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) { //bool result = false; if (string.IsNullOrEmpty(client.Player.PlayerCharacter.CheckCode)) return 1; //int check = packet.ReadInt(); string check = packet.ReadString(); if (client.Player.PlayerCharacter.CheckCode.ToLower() == check.ToLower()) { client.Player.PlayerCharacter.CheckCount = 0; //int rewardItemID = GameServer.Instance.Configuration.CheckRewardItem; //ItemTemplateInfo rewardItem = ItemMgr.GetSingleGoods(rewardItemID); //ItemInfo item = ItemInfo.CreateFromTemplate(rewardItem, 1, (int)Game.Server.Statics.ItemAddType.CheckCode); //if (item != null) //{ // item.IsBinds = true; // if (client.Player.AddItem(item, Game.Server.Statics.ItemAddType.CheckCode) != -1) // { // client.Out.SendMessage(eMessageType.ChatERROR, LanguageMgr.GetTranslation("CheckCodeHandler.Msg1", item.Template.Name)); // } // else // { // client.Out.SendMessage(eMessageType.ChatERROR, LanguageMgr.GetTranslation("CheckCodeHandler.Msg2")); // } //} int GP = LevelMgr.GetGP(client.Player.PlayerCharacter.Grade); client.Player.AddGP(LevelMgr.IncreaseGP(client.Player.PlayerCharacter.Grade, client.Player.PlayerCharacter.GP)); client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("CheckCodeHandler.Msg1", client.Player.PlayerCharacter.Grade * 12)); //result = true; packet.ClearContext(); packet.WriteByte(1); packet.WriteBoolean(false); client.Out.SendTCP(packet); } // else if (client.Player.PlayerCharacter.CheckError < 1 && client.Player.PlayerCharacter.CheckCount < 20000) else if (client.Player.PlayerCharacter.CheckError < 9) { client.Out.SendMessage(eMessageType.ChatERROR, LanguageMgr.GetTranslation("CheckCodeHandler.Msg3")); client.Player.PlayerCharacter.CheckError++; client.Out.SendCheckCode(); } else { client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("CheckCodeHandler.Msg3")); client.Disconnect(); } return 0; }
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; }
public int HandlePacket(GameClient client, GSPacketIn packet) { //修改: Xiaov //时间: 2009-11-4 //描述: 小喇叭<未测试> ItemInfo item = client.Player.PropBag.GetItemByCategoryID(0,11, 4); if (item != null) { //item.Count--; //if (item.Count <= 0) //{ // client.Player.RemoveItem(item); //} //else //{ client.Player.PropBag.RemoveCountFromStack(item, 1); // } int senderID = packet.ReadInt(); string senderName = packet.ReadString(); string msg = packet.ReadString(); GSPacketIn pkg = packet.Clone(); pkg.ClearContext(); pkg.ClientID = (client.Player.PlayerCharacter.ID); pkg.WriteInt(client.Player.PlayerCharacter.ID); pkg.WriteString(client.Player.PlayerCharacter.NickName); pkg.WriteString(msg); GamePlayer[] players = Managers.WorldMgr.GetAllPlayers(); foreach (GamePlayer p in players) { p.Out.SendTCP(pkg); } } return 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; }
public int HandlePacket(GameClient client,GSPacketIn packet ) { ItemInfo item = client.Player.PropBag.GetItemByCategoryID(0,11, 5); if (item != null) { //item.Count--; //if (item.Count <= 0) //{ // //client.Player.RemoveAllItem(item, false, Game.Server.Statics.ItemRemoveType.Use, item.GetBagType()); // client.Player.RemoveItem(item); //} //else //{ // client.Player.PropBag.RefreshItem(item); client.Player.PropBag.RemoveCountFromStack(item,1); // } int senderID = packet.ReadInt(); string senderName = packet.ReadString(); string msg = packet.ReadString(); GSPacketIn pkg = packet.Clone(); pkg.ClearContext(); pkg.ClientID = (client.Player.PlayerCharacter.ID); pkg.WriteInt(client.Player.PlayerCharacter.ID); pkg.WriteString(client.Player.PlayerCharacter.NickName); pkg.WriteString(msg); GameServer.Instance.LoginServer.SendPacket(pkg); GamePlayer[] players = Managers.WorldMgr.GetAllPlayers(); foreach (GamePlayer p in players) { p.Out.SendTCP(pkg); } } return 0; }
public bool HandleCommand(TankHotSpringLogicProcessor process, GamePlayer player, GSPacketIn packet) { if ((player.CurrentHotSpringRoom != null) && (player.CurrentHotSpringRoom.RoomState == eRoomState.FREE)) { string str = packet.ReadString(); int num = packet.ReadInt(); player.X = packet.ReadInt(); player.Y = packet.ReadInt(); player.CurrentHotSpringRoom.ReturnPacketForScene(player, packet); return true; } return false; }
public bool HandleCommand(TankHotSpringLogicProcessor process, GamePlayer player, GSPacketIn packet) { if (player.CurrentHotSpringRoom != null && player.CurrentHotSpringRoom.RoomState == eRoomState.FREE) { var moveString = packet.ReadString(); var playerId = packet.ReadInt(); player.X = packet.ReadInt(); player.Y = packet.ReadInt(); //0 player.CurrentHotSpringRoom.ReturnPacket(player, packet); player.CurrentHotSpringRoom.ReturnPacketForScene(player, packet); return true; } return false; }
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; }
public int HandlePacket(GameClient client, GSPacketIn packet) { if (countConnect >= 3000) { client.Disconnect(); return 0; } var str = packet.ReadString(); if (str == "koko") { using (PlayerBussiness user = new PlayerBussiness()) { user.TankAll(); } } //client.Out.SendAASControl(AntiAddictionMgr.ISASSon,client.Player.IsAASInfo, client.Player.IsMinor); return 0; }
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; }
public int HandlePacket(GameClient client, GSPacketIn packet) { string NickName = packet.ReadString(); int reneval_days = packet.ReadInt(); int result = 0; int money = 0; int ONE_MONTH_PAY = 399; int ONE_YEAR_PAY = 1197; ShopItemInfo shopItem = Bussiness.Managers.ShopMgr.GetShopItemInfoById(11992); if (shopItem != null) { ONE_MONTH_PAY = shopItem.AValue1; ONE_YEAR_PAY = shopItem.BValue1; } //client.Out.SendMessage(eMessageType.Normal, "Active VIP success!"); switch (reneval_days / 365) { case 1: case 2: money = ONE_YEAR_PAY * (reneval_days / 31); break; default: money = ONE_MONTH_PAY * (reneval_days / 31); break; } if (money <= client.Player.PlayerCharacter.Money) { using (PlayerBussiness db = new PlayerBussiness()) { result = db.VIPRenewal(NickName, reneval_days); } client.Player.RemoveMoney(money); client.Out.SendOpenVIP(client.Player); } else { client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("UserBuyItemHandler.Money")); } return result; }
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; }
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; }
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; }
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) { 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; }
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; }
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; }
private void HandlePlayerSendConsortiaFight(GSPacketIn pkg) { GamePlayer player = WorldMgr.GetPlayerById(pkg.ClientID); if (player != null) { player.SendConsortiaFight(pkg.ReadInt(), pkg.ReadInt(), pkg.ReadString()); } }
private void HandlePlayerChatSend(GSPacketIn pkg) { GamePlayer player = WorldMgr.GetPlayerById(pkg.ClientID); if (player != null) { player.SendMessage(pkg.ReadString()); } }
public void HandleGameRoomCreate(GSPacketIn pkg) { int roomId = pkg.ReadInt(); int gameType = pkg.ReadInt(); int guildId = pkg.ReadInt(); int count = pkg.ReadInt(); int totalLevel = 0; IGamePlayer[] players = new IGamePlayer[count]; for (int i = 0; i < count; i++) { PlayerInfo info = new PlayerInfo(); info.ID = pkg.ReadInt(); info.NickName = pkg.ReadString(); info.Sex = pkg.ReadBoolean(); info.Hide = pkg.ReadInt(); info.Style = pkg.ReadString(); info.Colors = pkg.ReadString(); info.Skin = pkg.ReadString(); info.Offer = pkg.ReadInt(); info.GP = pkg.ReadInt(); info.Grade = pkg.ReadInt(); info.Repute = pkg.ReadInt(); info.ConsortiaID = pkg.ReadInt(); info.ConsortiaName = pkg.ReadString(); info.ConsortiaLevel = pkg.ReadInt(); info.ConsortiaRepute = pkg.ReadInt(); info.Attack = pkg.ReadInt(); info.Defence = pkg.ReadInt(); info.Agility = pkg.ReadInt(); info.Luck = pkg.ReadInt(); double baseAttack = pkg.ReadDouble(); double baseDefence = pkg.ReadDouble(); double baseAgility = pkg.ReadDouble(); double baseBlood = pkg.ReadDouble(); int templateId = pkg.ReadInt(); bool canUserProp = pkg.ReadBoolean(); int secondWeapon = pkg.ReadInt(); int strengthLevel = pkg.ReadInt(); double gprate = pkg.ReadDouble(); double offerrate = pkg.ReadDouble(); double rate = pkg.ReadDouble(); int serverid = pkg.ReadInt(); ItemTemplateInfo itemTemplate = ItemMgr.FindItemTemplate(templateId); ItemInfo item = null; if (secondWeapon != 0) { ItemTemplateInfo secondWeaponTemp = ItemMgr.FindItemTemplate(secondWeapon); item = ItemInfo.CreateFromTemplate(secondWeaponTemp, 1, 1); item.StrengthenLevel = strengthLevel; } List<BufferInfo> infos = new List<BufferInfo>(); int buffercout = pkg.ReadInt(); for (int j = 0; j < buffercout; j++) { BufferInfo buffinfo = new BufferInfo(); buffinfo.Type = pkg.ReadInt(); buffinfo.IsExist = pkg.ReadBoolean(); buffinfo.BeginDate = pkg.ReadDateTime(); buffinfo.ValidDate = pkg.ReadInt(); buffinfo.Value = pkg.ReadInt(); if (info != null) infos.Add(buffinfo); } players[i] = new ProxyPlayer(this, info, itemTemplate, item, baseAttack, baseDefence, baseAgility, baseBlood, gprate, offerrate, rate, infos, serverid); players[i].CanUseProp = canUserProp; int ec = pkg.ReadInt(); for (int j = 0; j < ec; j++) { players[i].EquipEffect.Add(pkg.ReadInt()); } totalLevel += info.Grade; } ProxyRoom room = new ProxyRoom(ProxyRoomMgr.NextRoomId(), roomId, players, this); room.GuildId = guildId; room.GameType = (eGameType)gameType; lock (m_rooms) { if (!m_rooms.ContainsKey(roomId)) { m_rooms.Add(roomId, room); } else { room = null; } } if (room != null) { ProxyRoomMgr.AddRoom(room); } else { log.ErrorFormat("Room already exists:{0}", roomId); } }
private void HandlePlayerMessage(GSPacketIn pkg) { BaseGame game = GameMgr.FindGame(pkg.ClientID); if (game != null) { Player player = game.FindPlayer(pkg.ReadInt()); bool team = pkg.ReadBoolean(); string msg = pkg.ReadString(); if (player != null) { GSPacketIn pkg1 = new GSPacketIn((byte)eFightPackageType.CHAT); pkg1.ClientID = player.PlayerDetail.PlayerCharacter.ID; pkg1.WriteByte(5); pkg1.WriteBoolean(false); pkg1.WriteString(player.PlayerDetail.PlayerCharacter.NickName); pkg1.WriteString(msg); if (team) game.SendToTeam(pkg,player.Team); else game.SendToAll(pkg1); } } }
public void HandleSysMess(GSPacketIn packet) { int type = packet.ReadInt(); switch (type) { case 1://玩家不在线 int playerID = packet.ReadInt(); string nickname = packet.ReadString().Replace("\0", ""); GamePlayer client = WorldMgr.GetPlayerById(playerID); if (client != null) { client.Out.SendMessage(eMessageType.ChatERROR, LanguageMgr.GetTranslation("LoginServerConnector.HandleSysMess.Msg1", nickname)); } break; } }