summaryrefslogtreecommitdiff
path: root/src/net
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-02-03 18:39:14 +0300
committerAndrei Karas <akaras@inbox.ru>2016-02-03 18:39:14 +0300
commit0928d201335e8c247a44a1406cfbee3921ee7901 (patch)
tree06e5d2acf36921f368ae445ba1eac8e351181f18 /src/net
parent74397044b572c323f9c6bbc6338c17ce743ee3af (diff)
downloadplus-0928d201335e8c247a44a1406cfbee3921ee7901.tar.gz
plus-0928d201335e8c247a44a1406cfbee3921ee7901.tar.bz2
plus-0928d201335e8c247a44a1406cfbee3921ee7901.tar.xz
plus-0928d201335e8c247a44a1406cfbee3921ee7901.zip
Add option for saving mapping between account id and nicks.
This information stored in separate files.
Diffstat (limited to 'src/net')
-rw-r--r--src/net/ea/beingrecv.cpp5
-rw-r--r--src/net/eathena/beingrecv.cpp12
2 files changed, 10 insertions, 7 deletions
diff --git a/src/net/ea/beingrecv.cpp b/src/net/ea/beingrecv.cpp
index cb8af0318..21e79a089 100644
--- a/src/net/ea/beingrecv.cpp
+++ b/src/net/ea/beingrecv.cpp
@@ -310,8 +310,11 @@ void BeingRecv::processNameResponse(Net::MessageIn &msg)
}
const BeingId beingId = msg.readBeingId("being id");
+ const std::string name = msg.readString(24, "name");
Being *const dstBeing = actorManager->findBeing(beingId);
+ actorManager->updateNameId(name, beingId);
+
if (dstBeing)
{
if (beingId == localPlayer->getId())
@@ -320,7 +323,6 @@ void BeingRecv::processNameResponse(Net::MessageIn &msg)
}
else
{
- const std::string name = msg.readString(24, "name");
if (dstBeing->getType() != ActorType::Portal)
{
dstBeing->setName(name);
@@ -357,7 +359,6 @@ void BeingRecv::processNameResponse(Net::MessageIn &msg)
return;
}
}
- msg.readString(24, "name");
BLOCK_END("BeingRecv::processNameResponse")
}
diff --git a/src/net/eathena/beingrecv.cpp b/src/net/eathena/beingrecv.cpp
index bb6fff382..35e983296 100644
--- a/src/net/eathena/beingrecv.cpp
+++ b/src/net/eathena/beingrecv.cpp
@@ -1291,12 +1291,13 @@ void BeingRecv::processPlayerGuilPartyInfo(Net::MessageIn &msg)
return;
}
- Being *const dstBeing = actorManager->findBeing(
- msg.readBeingId("being id"));
-
+ const BeingId beingId = msg.readBeingId("being id");
+ const std::string name = msg.readString(24, "char name");
+ actorManager->updateNameId(name, beingId);
+ Being *const dstBeing = actorManager->findBeing(beingId);
if (dstBeing)
{
- dstBeing->setName(msg.readString(24, "char name"));
+ dstBeing->setName(name);
dstBeing->setPartyName(msg.readString(24, "party name"));
dstBeing->setGuildName(msg.readString(24, "guild name"));
dstBeing->setGuildPos(msg.readString(24, "guild pos"));
@@ -1621,8 +1622,9 @@ void BeingRecv::processNameResponse2(Net::MessageIn &msg)
}
const int len = msg.readInt16("len");
- const BeingId beingId = msg.readBeingId("account ic");
+ const BeingId beingId = msg.readBeingId("account id");
const std::string str = msg.readString(len - 8, "name");
+ actorManager->updateNameId(str, beingId);
Being *const dstBeing = actorManager->findBeing(beingId);
if (dstBeing)
{