Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/src/server/game/Chat/Commands/Level2.cpp b/src/server/game/Chat/Commands/Level2.cpp
- index 4c48764..1205898 100644
- --- a/src/server/game/Chat/Commands/Level2.cpp
- +++ b/src/server/game/Chat/Commands/Level2.cpp
- @@ -3380,6 +3380,41 @@ bool ChatHandler::HandleTitlesRemoveCommand(const char* args)
- PSendSysMessage(LANG_CURRENT_TITLE_RESET, tNameLink.c_str());
- }
- + //temp
- + HashMapHolder<Player>::MapType const& plist = sObjectAccessor->GetPlayers();
- + for (HashMapHolder<Player>::MapType::const_iterator itr = plist.begin(); itr != plist.end(); ++itr)
- + {
- + Player* player = itr->second;
- + target->SetUInt32Value(PLAYER_CHOSEN_TITLE,0);
- + player->SetTitle(titleInfo, true);
- + }
- + uint32 fieldIndexOffset = titleInfo->bit_index / 32;
- + sLog->outDebug("OFFSET %u, BIT INDEX %u", fieldIndexOffset, titleInfo->bit_index);
- + uint32 flag = 1 << (titleInfo->bit_index % 32);
- + uint32 titles[12];
- + QueryResult result = CharacterDatabase.PQuery("SELECT guid, knowntitles FROM characters");
- + do
- + {
- + Field* fields = result->Fetch();
- + uint64 guid = fields[0].GetInt64();
- + Tokens tokens(fields[1].GetCString(), ' ', KNOWN_TITLES_SIZE);
- +
- + for (uint8 i = 0; i < KNOWN_TITLES_SIZE; i++)
- + titles[i] = atol(tokens[i]);
- + if (titles[fieldIndexOffset] & flag)
- + {
- + uint32 oldval = titles[fieldIndexOffset];
- + uint32 newval = oldval & ~flag;
- + titles[fieldIndexOffset] = newval;
- + }
- + std::ostringstream ss;
- + ss << "UPDATE characters SET chosentitle = 0, knowntitles = '";
- + for (uint8 i = 0; i < KNOWN_TITLES_SIZE; i++)
- + ss << titles[i] << " ";
- + ss << "' WHERE guid =" << guid;
- + CharacterDatabase.PExecute(ss.str().c_str());
- + }while (result->NextRow());
- +
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment