next up previous contents
Next: Client response to Dialog Up: Game Packets Structure Previous: Update Player [0x77]   Contents

Draw Object [0x78]

Draw object (Variable # of bytes)
BYTE cmd
BYTE[2] blockSize
BYTE[4] itemID/playerID
BYTE[2] model (item hex #)
if (itemID & 0x80000000)
        BYTE[2] amount/Corpse Model Num
BYTE[2] xLoc (only 15 lsb)
BYTE[2] yLoc
if (xLoc & 0x8000)
        BYTE direction
BYTE zLoc
BYTE direction
BYTE[2] dye/skin color
BYTE flag
BYTE notoriety (2's complement signed)
if (BYTE[4] == 0x00 0x00 0x00 0x00)
        DONE
else loop this until above if statement is satisified
        BYTE[4] itemID
        BYTE[2] model (item hex # - only 15 lsb)
        BYTE layer
        if (model & 0x8000)
                BYTE[2] hue
\end{verbatim

\subsection{Open Dialog Box [0x7C]}
\begin{verbatim}
Open Dialog Box (Variable # of bytes)
BYTE cmd
BYTE[2] blockSize
BYTE[4] dialogID (echo'd back to the server in 7d)
BYTE[2] menuid (echo'd back to server in 7d)
BYTE length of question
BYTE[length of question] question text
BYTE # of responses
Then for each response:
        BYTE[2] model id # of shown item (if grey menu -- then always 0x00 as msb)
        BYTE[2] unknown2 (00 00 check or not?)
        BYTE response text length
        BYTE[response text length] response text


Thiago A Correa 2001-06-09