示例#1
0
        private void RoomInfo(Session p, Room room)
        {
            PacketWrite pw = new PacketWrite();

            pw.UShort(room.m_usRoomID);
            pw.UnicodeStr(room.m_strRoomName);
            pw.Byte(1);
            if (room.m_strRoomPasswd.Length > 0)
            {
                pw.Bool(true);
            }
            else
            {
                pw.Bool(false);
            }

            pw.UnicodeStr(room.m_strRoomPasswd);
            pw.Short(room.m_usUsers());
            pw.Short(room.m_usMaxUsers);
            pw.Bool(room.m_bPlaying);
            pw.Byte(11);
            pw.Byte(room.m_cGameCategory);
            pw.Int(room.m_iGameMode);
            pw.Int(room.m_iSubGameMode);
            pw.Bool(room.m_bRandomableMap);
            pw.Int(room.m_iMapID);
            pw.Int(room.m_iP2PVersion);
            for (short j = 0; j < room.m_usMaxUsers; j++)
            {
                pw.Bool(room.m_dwSlots[j].Open);
            }

            if (room.m_usMaxUsers == 4)
            {
                pw.Bool(false);
                pw.Bool(false);
            }
            pw.Int(-1);
            pw.Int(room.m_cDifficulty);
            pw.HexArray("00 00 00 00 01");
            pw.WriteIP(GameServer.m_dwIP);
            pw.UShort(GameServer.m_usURelayServerPort);
            pw.WriteIP(GameServer.m_dwIP);
            pw.UShort(GameServer.m_usTRelayServerPort);
            pw.HexArray("01 00 01 00 00 01 2C 00 00 00 14 00 02 26 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 42 00 52 00 00 06 01 00 00 00 00 00 00 00 06 00 00 00 00 FF FF FF FF");

            p.SendPacket(pw, 1558);
        }
示例#2
0
        public static void KRoomInfo(Session right, PacketWrite ks)
        {
            libcomservice.REQUEST.Room room = right.PInfo.CurRoom;

            ks.UShort(room.m_usRoomID);
            ks.UnicodeStr(room.m_strRoomName);
            ks.Bool(room.m_bPublic);
            ks.Bool(room.m_bGuild);
            ks.UnicodeStr(room.m_strRoomPasswd);
            ks.Short(room.m_usUsers());
            ks.Short(7);
            ks.Bool(room.m_bPlaying);
            ks.Byte(room.m_cGrade);
            ks.Byte(room.m_cGameCategory);
            ks.Int(room.m_iGameMode);
            ks.Int(room.m_iSubGameMode);
            ks.Bool(room.m_bRandomableMap);
            ks.Int(room.m_iMapID);
            ks.Int(room.m_iP2PVersion);
            for (short j = 0; j < room.m_usMaxUsers; j++)
            {
                ks.Bool(room.m_dwSlots[j].Open);
            }
            if (room.m_usMaxUsers == 4)
            {
                ks.Bool(false);
                ks.Bool(false);
            }
            ks.Int(room.m_vecMonsterSlot);
            ks.Int(room.m_cDifficulty);
            ks.HexArray("00 00 00 00 01");
            ks.WriteIP(GameServer.m_dwIP);
            ks.UShort(GameServer.m_usURelayServerPort);
            ks.WriteIP(GameServer.m_dwIP);
            ks.UShort(GameServer.m_usTRelayServerPort);
        }