diff options
| author | David Athay <ko2fan@gmail.com> | 2008-10-15 15:44:55 +0000 |
|---|---|---|
| committer | David Athay <ko2fan@gmail.com> | 2008-10-15 15:44:55 +0000 |
| commit | ce23c2eecd596c3e83cb2d813889bf2a79dae2d0 (patch) | |
| tree | b6fb19466a271e28ce41d695ea9a86293406f04e /src/chat-server/chathandler.cpp | |
| parent | 5956dd7483ceda0d9e8464440d467fc7003c9182 (diff) | |
Added communicating change of direction to clients.
Diffstat (limited to 'src/chat-server/chathandler.cpp')
| -rw-r--r-- | src/chat-server/chathandler.cpp | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/src/chat-server/chathandler.cpp b/src/chat-server/chathandler.cpp index f6f12a1..2cffbc2 100644 --- a/src/chat-server/chathandler.cpp +++ b/src/chat-server/chathandler.cpp @@ -87,17 +87,31 @@ void ChatHandler::deletePendingConnect(Pending *p) void ChatHandler::tokenMatched(ChatClient *client, Pending *p) { + MessageOut msg(CPMSG_CONNECT_RESPONSE); + client->characterName = p->character; client->accountLevel = p->level; + Character *c = storage->getCharacter(p->character); - client->characterId = c->getDatabaseID(); - delete p; - MessageOut msg(CPMSG_CONNECT_RESPONSE); - msg.writeByte(ERRMSG_OK); + + if (!c) + { + // character wasnt found + msg.writeByte(ERRMSG_FAILURE); + } + else + { + client->characterId = c->getDatabaseID(); + delete p; + + msg.writeByte(ERRMSG_OK); + + // Add chat client to player map + mPlayerMap.insert(std::pair<std::string, ChatClient*>(client->characterName, client)); + } + client->send(msg); - // Add chat client to player map - mPlayerMap.insert(std::pair<std::string, ChatClient*>(client->characterName, client)); } NetComputer *ChatHandler::computerConnected(ENetPeer *peer) |
