Ultima Online Protocol :: Book Contents
Packet # Packet Name Length Client Server Obsolete
0x66 Book Contents dynamic X
Data Type Description
byte 0x66 The packet number.
ushort Size The size of the packet.
uint Serial The book's serial.
ushort Pages The number of pages being sent.
loop
{
    ushort Index
    ushort Lines
    loop
    {
        char[] Text
        byte 0x00
    }
}
This loop contains information relative to each page being sent. Loop for Pages.

Index: The page's 1-based index within the book (not the loop).
Lines: The number of lines on the page (normally, the maximum should be eight).
         - If this is 0x0000 in a client message, it is a request for the page contents.
Text: The text to appear on a certain line.
0x00: Null terminator for a line of text.

Packet Description:
This is sent by the server to display book contents, and by the client to edit book contents.