IF you wanna do that, the only packet you'll need is a 0x7f0 packet.
Code:
typedef struct packet0x7f0 {
* *WORD size;
* *WORD type;
* *int flag;
* *BYTE optionnumber;
* *BYTE optiontype;
* *BYTE strCount;
* *struct tqstring{
* * * *BYTE strLen;
char* strText; //Heres the text you wanna modify.
* *} * strData; //array of tqstring, with strCount # of elements
* *WORD reserved;
} NPCTalkPacket;
/*
optionType: (S>C, C>S: Direction, Client/Server)
00=no dialogue
01=normal dialogue text S>C
02=normal option S>C
03=text option S>C
04=avatar S>C
64=Display dialogue S>C
65=Select option C>S
*/
You only want to modify the strings in the packets that have optiontype == 1 or optiontype == 2.
You'd need to receive the english text, compare it to a database and pick out the german equivalent. You could simplify the searching by storing the strings relative to the NPC ID.