Fix npc trade and npc chat

This commit is contained in:
Eduardo Bart
2012-07-26 12:42:15 -03:00
parent 0a49f58e50
commit 9ad9d88e10
5 changed files with 21 additions and 13 deletions

View File

@@ -62,8 +62,8 @@ void buildMessageModesMap(int version) {
messageModesMap[Otc::MessageSay] = 1;
messageModesMap[Otc::MessageWhisper] = 2;
messageModesMap[Otc::MessageYell] = 3;
messageModesMap[Otc::MessageNpcFrom] = 4;
messageModesMap[Otc::MessageNpcTo] = 5;
messageModesMap[Otc::MessageNpcTo] = 4;
messageModesMap[Otc::MessageNpcFrom] = 5;
messageModesMap[Otc::MessagePrivateFrom] = 6;
messageModesMap[Otc::MessagePrivateTo] = 6;
messageModesMap[Otc::MessageChannel] = 7;

View File

@@ -574,7 +574,13 @@ void ProtocolGame::parseOpenNpcTrade(const InputMessagePtr& msg)
if(g_game.getFeature(Otc::GameNameOnNpcTrade))
npcName = msg->getString();
int listCount = msg->getU8();
int listCount;
if(g_game.getClientVersion() >= 960)
listCount = msg->getU16();
else
listCount = msg->getU8();
for(int i = 0; i < listCount; ++i) {
uint16 itemId = msg->getU16();
uint8 count = msg->getU8();
@@ -953,6 +959,7 @@ void ProtocolGame::parseTalk(const InputMessagePtr& msg)
case Otc::MessageYell:
case Otc::MessageMonsterSay:
case Otc::MessageMonsterYell:
case Otc::MessageNpcTo:
case Otc::MessageNpcFrom:
case Otc::MessageBarkLow:
case Otc::MessageBarkLoud: