예제 #1
0
void CUser::ReqUserLogOut()
{
	string strCharID = GetName();

	g_DBAgent.UpdateUser(strCharID, UPDATE_LOGOUT, this);
	g_DBAgent.UpdateWarehouseData(m_strAccountID, UPDATE_LOGOUT, this);
	
	if (m_bLogout != 2)	// zone change logout
		g_DBAgent.AccountLogout(m_strAccountID);

	// this session can be used again.
	m_deleted = false;
}
예제 #2
0
void CUser::ReqUserLogOut()
{
	g_DBAgent.UpdateUser(GetName(), UPDATE_LOGOUT, this);
	g_DBAgent.UpdateWarehouseData(GetAccountName(), UPDATE_LOGOUT, this);
	g_DBAgent.UpdateSavedMagic(this);

	PlayerRanking(GetZoneID(), true);

	if (m_bLogout != 2)	// zone change logout
		g_DBAgent.AccountLogout(GetAccountName());

	// this session can be used again.
	m_deleted = false;
}
예제 #3
0
void CUser::ReqUserLogOut()
{
	PlayerRankingProcess(GetZoneID(), true);

	if (isInTempleEventZone())
		RemoveEventUser(GetSocketID());

	if (m_bLevel == 0)
		TRACE("### ReqUserLogOut - Level is Zero : bRoom=%d, bNation=%d, bZone=%d ####\n", GetEventRoom(), GetNation(), GetZoneID());

	g_DBAgent.UpdateUser(GetName(), UPDATE_LOGOUT, this);
	g_DBAgent.UpdateWarehouseData(GetAccountName(), UPDATE_LOGOUT, this);
	g_DBAgent.UpdateSavedMagic(this);

	if (m_bLogout != 2)	// zone change logout
		g_DBAgent.AccountLogout(GetAccountName());

	// this session can be used again.
	m_deleted = false;
}