From ce23c2eecd596c3e83cb2d813889bf2a79dae2d0 Mon Sep 17 00:00:00 2001 From: David Athay Date: Wed, 15 Oct 2008 15:44:55 +0000 Subject: Added communicating change of direction to clients. --- src/chat-server/chathandler.cpp | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) (limited to 'src/chat-server/chathandler.cpp') 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(client->characterName, client)); + } + client->send(msg); - // Add chat client to player map - mPlayerMap.insert(std::pair(client->characterName, client)); } NetComputer *ChatHandler::computerConnected(ENetPeer *peer) -- cgit