diff options
author | Guillaume Melquiond <guillaume.melquiond@gmail.com> | 2006-12-31 13:37:33 +0000 |
---|---|---|
committer | Guillaume Melquiond <guillaume.melquiond@gmail.com> | 2006-12-31 13:37:33 +0000 |
commit | ad002e15ffdd80b36ced71c2fb9b91366afed15d (patch) | |
tree | 7cee8a8be51b1ac6ee26ae3861cc4780f9a6b83a /src/account-server/serverhandler.cpp | |
parent | 723e7454e5d164b9d438a45b0446b56b72f36d83 (diff) | |
download | manaserv-ad002e15ffdd80b36ced71c2fb9b91366afed15d.tar.gz manaserv-ad002e15ffdd80b36ced71c2fb9b91366afed15d.tar.bz2 manaserv-ad002e15ffdd80b36ced71c2fb9b91366afed15d.tar.xz manaserv-ad002e15ffdd80b36ced71c2fb9b91366afed15d.zip |
Finished implementation for warping players around servers. Thoroughly untested.
Diffstat (limited to 'src/account-server/serverhandler.cpp')
-rw-r--r-- | src/account-server/serverhandler.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/account-server/serverhandler.cpp b/src/account-server/serverhandler.cpp index 1b9baa44..3d3846a7 100644 --- a/src/account-server/serverhandler.cpp +++ b/src/account-server/serverhandler.cpp @@ -25,6 +25,7 @@ #include <sstream> #include "account-server/serverhandler.hpp" +#include "account-server/storage.hpp" #include "net/messagein.hpp" #include "net/messageout.hpp" #include "net/netcomputer.hpp" @@ -127,8 +128,8 @@ void ServerHandler::processMessage(NetComputer *comp, MessageIn &msg) case GAMSG_PLAYER_DATA: { int id = msg.readLong(); - /* - // TODO: get correct character and account from database + Storage &store = Storage::instance("tmw"); + PlayerPtr ptr = store.getCharacter(id); ptr->setGender((Gender)msg.readByte()); ptr->setHairStyle(msg.readByte()); ptr->setHairColor(msg.readByte()); @@ -141,7 +142,6 @@ void ServerHandler::processMessage(NetComputer *comp, MessageIn &msg) Point pos = { x, y }; ptr->setPosition(pos); ptr->setMapId(msg.readShort()); - */ } break; case GAMSG_REDIRECT: @@ -152,8 +152,8 @@ void ServerHandler::processMessage(NetComputer *comp, MessageIn &msg) { magic_token[i] = 1 + (int)(127 * (rand() / (RAND_MAX + 1.0))); } - /* - // TODO: get correct character and account from database + Storage &store = Storage::instance("tmw"); + PlayerPtr ptr = store.getCharacter(id); std::string address; short port; if (serverHandler->getGameServerFromMap(ptr->getMapId(), address, port)) @@ -165,7 +165,10 @@ void ServerHandler::processMessage(NetComputer *comp, MessageIn &msg) result.writeString(address); result.writeShort(port); } - */ + else + { + LOG_ERROR("Server Change: No game server for the map.", 0); + } } break; default: |