diff --git a/playerbot/TravelNode.cpp b/playerbot/TravelNode.cpp index 11ed9351c..2bccfe0ab 100644 --- a/playerbot/TravelNode.cpp +++ b/playerbot/TravelNode.cpp @@ -2950,6 +2950,8 @@ void TravelNodeMap::saveNodeStore(bool force) std::unordered_map saveNodes; std::vector anodes = sTravelNodeMap.getNodes(); + std::sort(anodes.begin(), anodes.end(), [](TravelNode* i, TravelNode* j) {return i->getName() < j->getName(); }); + WorldDatabase.BeginTransaction(); BarGoLink bar(anodes.size()); @@ -2982,7 +2984,14 @@ void TravelNodeMap::saveNodeStore(bool force) { TravelNode* node = anodes[i]; + std::vector> links; + for (auto& link : *node->getLinks()) + links.push_back(std::make_pair(link.first, link.second)); + + std::sort(links.begin(), links.end(), [](std::pair i, std::pair j) {return i.first->getName() < j.first->getName(); }); + + for (auto& link : links) { TravelNodePath* path = link.second;