public byte bState; //0 角色被删 1 被封号 2 正常 public void PackToStruct(PackIn pack) { nId = pack.ReadUInt32(); szName = pack.ReadString(); bFaceId = pack.ReadByte(); bSex = pack.ReadByte(); bLevel = pack.ReadByte(); bJob = pack.ReadByte(); pack.ReadByte(); //原本的阵营位 bCircle = pack.ReadByte(); bApoteoSize = pack.ReadByte(); szGuildName = pack.ReadString(); bState = pack.ReadByte(); }
private void ProcessNetData() { byte[] data = m_GamePack.GetData(); if (data != null) { PackIn packIn = new PackIn(data); byte sysId = packIn.ReadByte(); switch (sysId) { case PacketTypes.LOGIN: { m_Actor.GetLoginSystem().ProcessNetData(packIn); break; } default: { Console.WriteLine("未知的系统id:" + sysId + " 协议号:" + packIn.ReadByte()); break; } } } }
public static void ProcessDBNetMsg() { byte[] data = mDBPacket.GetData(); if (data == null) { return; } PackIn inpack = new PackIn(data); ushort param = inpack.ReadUInt16(); switch (param) { case GameBase.Network.Internal.Define.QUERYROLE_RET: { uint gameid = inpack.ReadUInt32(); int key = inpack.ReadInt32(); int key2 = inpack.ReadInt32(); byte ret = inpack.ReadByte(); if (ret == 1) //有这个帐号-- { GameSession session = FindGameSessionToGameID(gameid); if (session != null) { //发送数据给客户端,连接mapserver Log.Instance().WriteLog("通知客户端登录MapServer"); SendConnectMapServer(session, key, key2); } } else if (ret == 2) //重复登录,踢下线 { GameSession session = FindGameSessionToGameID(gameid); if (session != null) { lock (_lock_session) { m_DicSession.Remove(session.m_Socket); } session.Dispose(); } } break; } } }
private void DoQueryRole(PackIn pack) { uint nAccountId = pack.ReadUInt32(); byte nCount = pack.ReadByte(); if (nCount >= 0 && nCount < 100) { for (int i = 0; i < /*nCount*/ 1 /*取第一个角色*/; i++) { TSimplePlayerInfo info = new TSimplePlayerInfo(); info.PackToStruct(pack); info.nAccountId = nAccountId; m_pActor.SimplePlayerInfo = info; Console.WriteLine("登录游戏成功:" + m_pSession.Account + " 选择进入游戏:" + info.szName); } this.SendEnterGameScene(nAccountId, m_pActor.SimplePlayerInfo.nId); } }
public void ProcessNetData(PackIn pack) { byte id = pack.ReadByte(); switch (id) { case PacketTypes.LoginPacketTypes.sQueryRole: { DoQueryRole(pack); break; } default: { Console.WriteLine("登录系统未知协议号:" + id); break; } } }
public void Create(byte[] data) { PackIn inpack = new PackIn(data); inpack.ReadUInt16(); gameid = inpack.ReadUInt32(); accountid = inpack.ReadInt32(); name = inpack.ReadString(); lookface = inpack.ReadUInt32(); profession = inpack.ReadByte(); }
public void Create(PackIn inpack) { id = inpack.ReadUInt32(); name = inpack.ReadString(); title = inpack.ReadByte(); leader_id = inpack.ReadInt32(); leader_name = inpack.ReadString(); money = inpack.ReadLong(); notice = inpack.ReadString(); int count = inpack.ReadInt32(); for (int i = 0; i < count; i++) { LegionMember member = new LegionMember(); member.Create(inpack); list_member.Add(member); } }
public short y; //所在地图坐标y #endregion Fields #region Constructors public RoleInfo(byte[] msg = null) { mParam = Define.ROLEINFO; gameid = 0; isRole = false; mKey = 0; mKey1 = 0; accountid = 0; sAccount = ""; name = ""; lookface = 0; hair = 0; lv = 0; exp = 0; life = 0; mana = 0; profession = 0; pk = 0; gold = 0; gamegold = 0; mapid = 0; x = 0; y = 0; playerid = 0; hotkey = ""; guanjue = 0; godlevel = 0; maxeudemon = 2; if (msg != null) { PackIn inpack = new PackIn(msg); mParam = inpack.ReadUInt16(); gameid = inpack.ReadUInt32(); mKey = inpack.ReadInt32(); mKey1 = inpack.ReadInt32(); accountid = inpack.ReadInt32(); sAccount = inpack.ReadString(); playerid = inpack.ReadInt32(); isRole = inpack.ReadBool(); if (isRole) { name = inpack.ReadString(); lookface = inpack.ReadUInt32(); hair = inpack.ReadUInt32(); lv = inpack.ReadByte(); exp = inpack.ReadUInt32(); life = inpack.ReadUInt32(); mana = inpack.ReadUInt32(); profession = inpack.ReadByte(); pk = inpack.ReadInt16(); gold = inpack.ReadInt32(); gamegold = inpack.ReadInt32(); stronggold = inpack.ReadInt32(); mapid = inpack.ReadInt32(); x = inpack.ReadInt16(); y = inpack.ReadInt16(); hotkey = inpack.ReadString(); guanjue = inpack.ReadULong(); godlevel = inpack.ReadInt32(); maxeudemon = inpack.ReadByte(); } } }
public void Create(byte[] msg) { PackIn inpack = new PackIn(msg); inpack.ReadUInt16(); accountid = inpack.ReadInt32(); IsExit = inpack.ReadBool(); name = inpack.ReadString(); lookface = inpack.ReadUInt32(); hair = inpack.ReadUInt32(); level = inpack.ReadByte(); exp = inpack.ReadInt32(); life = inpack.ReadUInt32(); mana = inpack.ReadUInt32(); profession = inpack.ReadByte(); pk = inpack.ReadInt16(); gold = inpack.ReadLong(); gamegold = inpack.ReadLong(); stronggold = inpack.ReadLong(); mapid = inpack.ReadUInt32(); x = inpack.ReadInt16(); y = inpack.ReadInt16(); hotkey = inpack.ReadString(); guanjue = inpack.ReadULong(); godlevel = inpack.ReadByte(); maxeudemon = inpack.ReadByte(); }
public void Create(byte[] msg) { PackIn inpack = new PackIn(msg); inpack.ReadUInt16(); ownerid = inpack.ReadInt32(); key = inpack.ReadInt32(); key2 = inpack.ReadInt32(); int count = inpack.ReadInt32(); for (int i = 0; i < count; i++) { MagicInfo item = new MagicInfo(); item.id = inpack.ReadInt32(); item.magicid = inpack.ReadUInt32(); item.level = inpack.ReadByte(); item.exp = inpack.ReadUInt32(); mListMagic.Add(item); } }
public void Create(byte[] msg) { PackIn inpack = new PackIn(msg); inpack.ReadUInt16(); ret = inpack.ReadByte(); play_id = inpack.ReadInt32(); legion_id = inpack.ReadInt32(); money = inpack.ReadInt32(); boss_id = inpack.ReadUInt32(); }
public void Create(byte[] msg, PackIn inpack) { id = inpack.ReadInt32(); friendtype = inpack.ReadByte(); friendid = inpack.ReadUInt32(); friendname = inpack.ReadString(); }
public void Create(byte[] msg) { PackIn inpack = new PackIn(msg); inpack.ReadUInt16(); gameid = inpack.ReadUInt32(); key = inpack.ReadInt32(); key2 = inpack.ReadInt32(); ret = inpack.ReadByte(); }
public void Run() { byte[] data = mPacket.GetData(); if (data == null) { return; } PackIn inpack = new PackIn(data); ushort param = inpack.ReadUInt16(); switch (param) { case GameBase.Network.Internal.Define.OPENLOGINSERVER: case GameBase.Network.Internal.Define.OPENMAPSERVER: { mType = inpack.ReadByte(); mName = inpack.ReadString(); Log.Instance().WriteLog("server connect...type:" + mType.ToString() + " name:" + mName); //如果是mapserver 组 就发额外的数据 if (mType == GameBase.Network.Internal.Define.TYPE_MAPSERVER) { //爵位 GuanJue.GetInstance().SendData(0); //军团信息 Legion.GetInstance().SendData(0); //充值信息 PayManager.Instance().SendData(0); } break; } case GameBase.Network.Internal.Define.QUERYROLE: { ProcessQueryRole(data); break; } case GameBase.Network.Internal.Define.ROLEINFO_RET: { ProcessRoleInfo_Ret(data); break; } case GameBase.Network.Internal.Define.QUERYROLENAME: { ProcessQueryRoleName(data); break; } case GameBase.Network.Internal.Define.CREATEROLE: { ProcessCreateRole(data); break; } case GameBase.Network.Internal.Define.SAVEROLEDATA_ATTR: { ProcessSaveRoleData_Attr(data); break; } case GameBase.Network.Internal.Define.ADDROLEDATA_ITEM: { ProcessAddRoleData_Item(data); break; } case GameBase.Network.Internal.Define.DELETEROLEDATA_ITEM: { ProcessDeleteRoleData_Item(data); break; } case GameBase.Network.Internal.Define.SAVEROLEDATA_ITEM: { ProcessSaveRoleData_Item(data); break; } case GameBase.Network.Internal.Define.SAVEROLEDATA_MAGIC: { ProcessSaveRoleData_Magic(data); break; } case GameBase.Network.Internal.Define.SAVEROLEDATA_EUDEMON: { ProcessSaveRoleData_Eudemon(data); break; } case GameBase.Network.Internal.Define.SAVEROLEDATA_FRIEND: { ProcessSaveRoleData_Friend(data); break; } case GameBase.Network.Internal.Define.UPDATEGUANJUEDATA: { ProcessUpdateGuanJueData(data); break; } case GameBase.Network.Internal.Define.CREATELEGION: { ProcessCreateLegion(data); break; } case GameBase.Network.Internal.Define.UPDATELEGION: { ProcessUpdateLegion(data); break; } case GameBase.Network.Internal.Define.UPDATEPAYRECINFO: { ProcessUpdatePayrecInfo(data); break; } } }