예제 #1
0
        private static void ProcessPlayerProfileService(UdpClient udp, QPacket p, RMCPacket rmc, ClientInfo client)
        {
            RMCPacketReply reply;

            switch (rmc.methodID)
            {
            case 0xF:
                reply = new RMCPacketResponsePlayerProfileService_MethodF();
                SendReply(udp, p, rmc, client, reply);
                break;

            case 0x10:
                reply = new RMCPacketResponseEmpty();
                SendReply(udp, p, rmc, client, reply);
                break;

            case 0x11:
                reply = new RMCPacketResponsePlayerProfileService_Method11();
                SendReply(udp, p, rmc, client, reply);
                break;

            case 0x12:
                reply = new RMCPacketResponsePlayerProfileService_LoadCharacterProfiles();
                List <GR5_Character> list = DBHelper.GetUserCharacters(client.PID);
                ((RMCPacketResponsePlayerProfileService_LoadCharacterProfiles)reply).Characters.AddRange(list);
                ((RMCPacketResponsePlayerProfileService_LoadCharacterProfiles)reply).PersonaID = client.PID;
                ((RMCPacketResponsePlayerProfileService_LoadCharacterProfiles)reply).Name      = client.name;
                SendReply(udp, p, rmc, client, reply);
                break;

            default:
                WriteLog(1, "Error: Unknown Method 0x" + rmc.methodID.ToString("X"));
                break;
            }
        }
예제 #2
0
        private static void ProcessPlayerProfileService(UdpClient udp, QPacket p, RMCPacket rmc, ClientInfo client)
        {
            RMCPacketReply reply;

            switch (rmc.methodID)
            {
            case 18:
                reply = new RMCPacketResponsePlayerProfileService_LoadCharacterProfiles();
                RMCPacketResponsePlayerProfileService_LoadCharacterProfiles.Character c = new RMCPacketResponsePlayerProfileService_LoadCharacterProfiles.Character();
                c.PersonaID = client.PID;
                ((RMCPacketResponsePlayerProfileService_LoadCharacterProfiles)reply).chars.Add(c);
                ((RMCPacketResponsePlayerProfileService_LoadCharacterProfiles)reply).PersonaID  = client.PID;
                ((RMCPacketResponsePlayerProfileService_LoadCharacterProfiles)reply).PlayerName = client.name;
                SendReply(udp, p, rmc, client, reply);
                break;

            default:
                WriteLog("Error: Unknown Method 0x" + rmc.methodID.ToString("X"));
                break;
            }
        }