diff options
author | David Athay <ko2fan@gmail.com> | 2008-10-21 13:11:10 +0000 |
---|---|---|
committer | David Athay <ko2fan@gmail.com> | 2008-10-21 13:11:10 +0000 |
commit | faab9e8fd3c312c7651398ce68e2e4e4fa36ac78 (patch) | |
tree | a368a38e6d0dac75b1164396433def1a9405e501 /src/account-server/serverhandler.cpp | |
parent | 104be5479d7c1192a73711b932e87c571e434985 (diff) | |
download | manaserv-faab9e8fd3c312c7651398ce68e2e4e4fa36ac78.tar.gz manaserv-faab9e8fd3c312c7651398ce68e2e4e4fa36ac78.tar.xz manaserv-faab9e8fd3c312c7651398ce68e2e4e4fa36ac78.zip |
Game Server now reconnects to Account Server. Some postal system bugs fixed.
Diffstat (limited to 'src/account-server/serverhandler.cpp')
-rw-r--r-- | src/account-server/serverhandler.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/account-server/serverhandler.cpp b/src/account-server/serverhandler.cpp index db8d264..5ed771a 100644 --- a/src/account-server/serverhandler.cpp +++ b/src/account-server/serverhandler.cpp @@ -331,8 +331,13 @@ void ServerHandler::processMessage(NetComputer *comp, MessageIn &msg) LOG_DEBUG("GCMSG_REQUEST_POST"); result.writeShort(CGMSG_POST_RESPONSE); - // get the character + // get the character id int characterId = msg.readLong(); + + // send the character id of sender + result.writeLong(characterId); + + // get the character based on the id Character *ptr = storage->getCharacter(characterId, NULL); if (!ptr) { @@ -344,18 +349,15 @@ void ServerHandler::processMessage(NetComputer *comp, MessageIn &msg) // get the post for that character Post *post = postalManager->getPost(ptr); - // send the character id of receiver - result.writeLong(characterId); - // send the post if valid if (post) { for (unsigned int i = 0; i < post->getNumberOfLetters(); ++i) { - // get each letter, send the sender's id, + // get each letter, send the sender's name, // the contents and any attachments Letter *letter = post->getLetter(i); - result.writeLong(letter->getSender()->getDatabaseID()); + result.writeString(letter->getSender()->getName()); result.writeString(letter->getContents()); std::vector<InventoryItem> items = letter->getAttachments(); for (unsigned int j = 0; j < items.size(); ++j) @@ -381,6 +383,9 @@ void ServerHandler::processMessage(NetComputer *comp, MessageIn &msg) int senderId = msg.readLong(); std::string receiverName = msg.readString(); + // for sending it back + result.writeLong(senderId); + // get their characters Character *sender = storage->getCharacter(senderId, NULL); Character *receiver = storage->getCharacter(receiverName); @@ -402,6 +407,7 @@ void ServerHandler::processMessage(NetComputer *comp, MessageIn &msg) } // save the letter + LOG_INFO("Creating letter"); Letter *letter = new Letter(0, sender, receiver); letter->addText(contents); for (unsigned int i = 0; i < items.size(); ++i) |