本文整理汇总了C++中WorldSession::GetAccountId方法的典型用法代码示例。如果您正苦于以下问题:C++ WorldSession::GetAccountId方法的具体用法?C++ WorldSession::GetAccountId怎么用?C++ WorldSession::GetAccountId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WorldSession
的用法示例。
在下文中一共展示了WorldSession::GetAccountId方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: HandleChangePlayerNameOpcodeCallBack
void WorldSession::HandleChangePlayerNameOpcodeCallBack(QueryResult *result, uint32 accountId, std::string newname)
{
WorldSession * session = sWorld.FindSession(accountId);
if(!session)
{
if(result) delete result;
return;
}
if (!result)
{
WorldPacket data(SMSG_CHAR_RENAME, 1);
data << (uint8)CHAR_CREATE_ERROR;
session->SendPacket( &data );
return;
}
uint32 guidLow = result->Fetch()[0].GetUInt32();
uint64 guid = MAKE_NEW_GUID(guidLow, 0, HIGHGUID_PLAYER);
std::string oldname = result->Fetch()[1].GetCppString();
delete result;
CharacterDatabase.PExecute("UPDATE characters set name = '%s', at_login = at_login & ~ %u WHERE guid ='%u'", newname.c_str(), uint32(AT_LOGIN_RENAME), guidLow);
CharacterDatabase.PExecute("DELETE FROM character_declinedname WHERE guid ='%u'", guidLow);
sLog.outChar("Account: %d (IP: %s) Character:[%s] (guid:%u) Changed name to: %s",session->GetAccountId(), session->GetRemoteAddress().c_str(), oldname.c_str(), guidLow, newname.c_str());
WorldPacket data(SMSG_CHAR_RENAME,1+8+(newname.size()+1));
data << (uint8)RESPONSE_SUCCESS;
data << guid;
data << newname;
session->SendPacket(&data);
}
示例2: CreateTracker
void Tracker::CreateTracker(WorldSession * adder, const char * args)
{
if(!*args)
return;
char *pname = strtok((char*)args, " ");
if(!pname)
{
if( adder != NULL )
sChatHandler.RedSystemMessage(adder, "No name specified.");
return;
}
Player *toAdd = objmgr.GetPlayer((const char*)pname, false);
if( toAdd && toAdd->GetSession() && toAdd->GetSession()->GetSocket() )
{
WorldSession * toAddSession = toAdd->GetSession();
TrackedPlr *user = new TrackedPlr;
user->Id = sTracker.GenerateID();
user->AcctId = toAddSession->GetAccountId();
user->Name = toAddSession->GetAccountName();
user->IP_Address = toAddSession->GetSocket()->GetIP();
AddTracker(user, false);
char msg[128];
sprintf(msg, "%sTracker:|r User [%s] is now being tracked (Tracker ID: %u)", MSG_COLOR_CYAN, toAddSession->GetAccountName().c_str(), (uint32)user->Id);
sWorld.SendGMWorldText( msg );
}
else
{
if( adder != NULL )
sChatHandler.RedSystemMessage(adder, "Server was unable to handle your request, please check your syntax.");
}
}
示例3: HandleChangePlayerNameOpcodeCallBack
void WorldSession::HandleChangePlayerNameOpcodeCallBack(QueryResult* result, uint32 accountId, std::string newname)
{
WorldSession* session = sWorld.FindSession(accountId);
if (!session)
{
delete result;
return;
}
if (!result)
{
WorldPacket data(SMSG_CHAR_RENAME, 1);
data << uint8(CHAR_CREATE_ERROR);
session->SendPacket(data, true);
return;
}
uint32 guidLow = result->Fetch()[0].GetUInt32();
ObjectGuid guid = ObjectGuid(HIGHGUID_PLAYER, guidLow);
std::string oldname = result->Fetch()[1].GetCppString();
delete result;
CharacterDatabase.BeginTransaction();
CharacterDatabase.PExecute("UPDATE characters set name = '%s', at_login = at_login & ~ %u WHERE guid ='%u'", newname.c_str(), uint32(AT_LOGIN_RENAME), guidLow);
CharacterDatabase.CommitTransaction();
sLog.outChar("Account: %d (IP: %s) Character:[%s] (guid:%u) Changed name to: %s", session->GetAccountId(), session->GetRemoteAddress().c_str(), oldname.c_str(), guidLow, newname.c_str());
WorldPacket data(SMSG_CHAR_RENAME, 1 + 8 + (newname.size() + 1));
data << uint8(RESPONSE_SUCCESS);
data << guid;
data << newname;
session->SendPacket(data, true);
sWorld.InvalidatePlayerDataToAllClient(guid);
}
示例4: WriteToHistory
void WriteToHistory(Player* player, uint8 historyType)
{
WorldSession* session = player->GetSession();
LoginDatabase.PExecute(SQL_HISTORY, session->GetAccountId(), realmID, session->GetRemoteAddress().c_str(), historyType, player->GetGUIDLow(), player->GetName().c_str());
}
示例5: HandleChangePlayerNameOpcodeCallBack
void WorldSession::HandleChangePlayerNameOpcodeCallBack(QueryResultAutoPtr result, uint32 accountId, std::string newname)
{
WorldSession * session = sWorld.FindSession(accountId);
if (!session)
return;
if (!result)
{
WorldPacket data(SMSG_CHAR_RENAME, 1);
data << uint8(CHAR_CREATE_ERROR);
session->SendPacket(&data);
return;
}
uint32 guidLow = result->Fetch()[0].GetUInt32();
uint64 guid = MAKE_NEW_GUID(guidLow, 0, HIGHGUID_PLAYER);
std::string oldname = result->Fetch()[1].GetCppString();
static SqlStatementID changeCharName;
static SqlStatementID deleteDeclinedName;
RealmDataDatabase.BeginTransaction();
SqlStatement stmt = RealmDataDatabase.CreateStatement(changeCharName, "UPDATE characters set name = ?, at_login = at_login & ~ ? WHERE guid = ?");
stmt.addString(newname);
stmt.addUInt32(uint32(AT_LOGIN_RENAME));
stmt.addUInt32(guidLow);
stmt.Execute();
stmt = RealmDataDatabase.CreateStatement(deleteDeclinedName, "DELETE FROM character_declinedname WHERE guid = ?");
stmt.PExecute(guidLow);
RealmDataDatabase.CommitTransaction();
sLog.outLog(LOG_CHAR, "Account: %d (IP: %s) Character:[%s] (guid:%u) Changed name to: %s", session->GetAccountId(), session->GetRemoteAddress().c_str(), oldname.c_str(), guidLow, newname.c_str());
WorldPacket data(SMSG_CHAR_RENAME, 1+8+(newname.size()+1));
data << uint8(RESPONSE_SUCCESS);
data << uint64(guid);
data << newname;
session->SendPacket(&data);
}