本文整理汇总了C++中USER::IsEnemy方法的典型用法代码示例。如果您正苦于以下问题:C++ USER::IsEnemy方法的具体用法?C++ USER::IsEnemy怎么用?C++ USER::IsEnemy使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类USER
的用法示例。
在下文中一共展示了USER::IsEnemy方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Execute
//.........这里部分代码省略.........
case REQ_TEMPFRIEND_TO_FRIEND:
{ // 检查需要添加的好友是否在线,并发回新好友的详细信息,这里不做合法性判断
REQUEST_ADD_RELATION_WITH_GROUP& ReqRelation = pRelationPacket->m_AddRelationWithGroup;
if ( ReqRelation.GetTargetGUID() != INVALID_ID )
{
pTargetUser = g_pOnlineUser->FindUser( ReqRelation.GetTargetGUID() );
}
else if ( strlen(ReqRelation.GetTargetName()) > 0 )
{
pTargetUser = g_pOnlineUser->FindUser( ReqRelation.GetTargetName() );
}
if ( pTargetUser == NULL )
{ //没有发现在“在线用户列表”里对应此名字的用户
uErr = RET_ERR_TARGETNOTEXIST;
Log::SaveLog( WORLD_LOGFILE, "GWRelationHandler...User Name=%s not find!",
ReqRelation.GetTargetName() );
Assert( FALSE && "找不到该好友" );
break;
}
// 判断 pTargetUser 是否拒绝被加为好友
if ( pTargetUser->IsCannotAddFriend() )
{
uErr = RET_ERR_CANNOT_ADDFRIEND;
Log::SaveLog( WORLD_LOGFILE, "GWRelationHandler...User Name=%s can't be added!",
ReqRelation.GetTargetName() );
break;
}
if( pUser->IsEnemy( pTargetUser->GetUserCampData() ) )
{
uErr = RET_ERR_ISENEMY;
Log::SaveLog( WORLD_LOGFILE, "GWRelationHandler...User Name=%s is enemy!",
ReqRelation.GetTargetName() );
break;
}
RELATION_TYPE RelationType = pUser->GetRelationType( pTargetUser->GetGUID() );
if ( RelationType != RELATION_TYPE_NONE )
{
if ( RelationType == RELATION_TYPE_BLACKNAME )
{
uErr = RET_ERR_ISBLACKNAME;
}
else
{
uErr = RET_ERR_ISFRIEND;
}
Log::SaveLog( WORLD_LOGFILE, "GWRelationHandler...User Name=%s can't be added2!",
ReqRelation.GetTargetName() );
break;
}
// 加入好友名单
_RELATION_USER RUser;
RUser.m_UserGUID = pTargetUser->GetGUID();
RUser.m_RelationType = RELATION_TYPE_FRIEND;
RUser.m_nFriendPoint = 0;
pUser->AddRelation( pTargetUser->GetGUID(), &RUser );
示例2: Execute
uint GWTeamRetApplyHandler::Execute( GWTeamRetApply* pPacket, Player* pPlayer )
{
__ENTER_FUNCTION
GUID_t sGuid = pPacket->GetSourGUID();//申请人的GUID
GUID_t lGuid = pPacket->GetLeaderGUID();//队长的GUID
USER* pLeaderUser = g_pOnlineUser->FindUser( lGuid );
if( pLeaderUser==NULL )
{
Log::SaveLog( WORLD_LOGFILE, "GWTeamRetApplyHandler...User Leader GUID=%X not find!",
lGuid );
return PACKET_EXE_CONTINUE;
}
ServerPlayer* pLeaderServerPlayer = (ServerPlayer*)pPlayer;
USER* pSourUser = g_pOnlineUser->FindUser( sGuid );
if( pSourUser==NULL )
{
if( pPacket->GetReturn()==TRUE )
{
WGTeamError dMsg;
dMsg.SetPlayerID( pLeaderUser->GetPlayerID() );
dMsg.SetGUID( pLeaderUser->GetGUID() );
dMsg.SetErrorCode( TEAM_ERROR_TARGETNOTONLINE );
pLeaderServerPlayer->SendPacket( &dMsg );
}
Log::SaveLog( WORLD_LOGFILE, "GWTeamRetApplyHandler...User Sour GUID=%X not find!",
sGuid );
return PACKET_EXE_CONTINUE;
}
ID_t SourServerID = pSourUser->GetServerID();
ServerPlayer* pSourServerPlayer = g_pServerManager->GetServerPlayer( SourServerID );
if( pSourServerPlayer==NULL )
{
Assert(FALSE);
return PACKET_EXE_CONTINUE;
}
if( pLeaderUser->IsEnemy( pSourUser->GetUserCampData() ) )
{
Log::SaveLog( WORLD_LOGFILE, "GWTeamRetApplyHandler...Lead Name=%s, Invite Name=%s are enemy!",
pLeaderUser->GetName(), pSourUser->GetName() );
return PACKET_EXE_CONTINUE;
}
if( pPacket->GetReturn()==FALSE )
{ //队长不同意
WGTeamError sMsg;
sMsg.SetPlayerID( pSourUser->GetPlayerID() );
sMsg.SetGUID( pLeaderUser->GetGUID() );
sMsg.SetErrorCode( TEAM_ERROR_APPLYLEADERREFUSE );
pSourServerPlayer->SendPacket( &sMsg );
Log::SaveLog( WORLD_LOGFILE, "GWTeamRetApplyHandler...Leader lGUID=%X Refuse sGUID=%X join team!",
lGuid, sGuid );
}
else if( pSourUser->GetTeamID() != INVALID_ID )
{ //申请人已经属于某个队伍
//WGTeamError sMsg;
//sMsg.SetPlayerID( pSourUser->m_PlayerID );
//sMsg.SetErrorCode( TEAM_ERROR_APPLYSOURHASTEAM );
//pSourServerPlayer->SendPacket( &sMsg );
WGTeamError lMsg;
lMsg.SetPlayerID( pLeaderUser->GetPlayerID() );
lMsg.SetGUID( pLeaderUser->GetGUID() );
lMsg.SetErrorCode( TEAM_ERROR_APPLYSOURHASTEAM );
pLeaderServerPlayer->SendPacket( &lMsg );
Log::SaveLog( WORLD_LOGFILE, "GWTeamRetApplyHandler...Leader lGUID=%X, sGUID=%X has team!",
lGuid, sGuid );
}
else
{ //队伍存在
TeamID_t tid = pLeaderUser->GetTeamID();
Team* pTeam = g_pTeamList->GetTeam( tid );
Assert( pTeam );
if( pTeam->IsFull() )
{ //队伍人数已经满了
WGTeamError sMsg;
sMsg.SetPlayerID( pSourUser->GetPlayerID() );
sMsg.SetGUID( pLeaderUser->GetGUID() );
sMsg.SetErrorCode( TEAM_ERROR_APPLYTEAMFULL );
pSourServerPlayer->SendPacket( &sMsg );
WGTeamError lMsg;
lMsg.SetPlayerID( pLeaderUser->GetPlayerID() );
lMsg.SetGUID( pLeaderUser->GetGUID() );
lMsg.SetErrorCode( TEAM_ERROR_TEAMFULL );
pLeaderServerPlayer->SendPacket( &lMsg );
Log::SaveLog( WORLD_LOGFILE, "GWTeamRetApplyHandler...Team Full sGUID=%X lGUID=%X",
//.........这里部分代码省略.........
示例3: Execute
uint GWChatHandler::Execute( GWChat* pPacket, Player* pPlayer )
{
__ENTER_FUNCTION
ServerPlayer* pSourServerPlayer = (ServerPlayer*)pPlayer ;
GUID_t SourGUID = pPacket->GetSourGUID() ;
USER* pSourUser = g_pOnlineUser->FindUser( SourGUID ) ;
if( pSourUser==NULL )
{
Log::SaveLog( WORLD_LOGFILE, "GWChatHandler...User Sour GUID=%X not find!",
SourGUID ) ;
return PACKET_EXE_CONTINUE ;
}
WGChat Msg ;
Msg.SetChatType( pPacket->GetChatType() ) ;
Msg.SetContexSize( pPacket->GetContexSize() ) ;
Msg.SetContex( pPacket->GetContex() ) ;
Msg.SetSourNameSize( (BYTE)(strlen(pSourUser->GetName())) ) ;
Msg.SetSourName( pSourUser->GetName() ) ;
Msg.SetCampID( pSourUser->GetUserCampData()->m_nCampID );
Msg.SetWorldChatID( g_pChatCenter->NextWorldChatID() ) ;
switch( pPacket->GetChatType() )
{
case CHAT_TYPE_NORMAL:
{
Assert(FALSE) ;
}
break ;
case CHAT_TYPE_GUILD:
{
Msg.SetGuildID( pPacket->GetGuildID() ) ;
g_pServerManager->BroadCastServer( &Msg ) ;
}
break ;
case CHAT_TYPE_MENPAI:
{
Msg.SetMenpaiID( pPacket->GetMenpaiID() ) ;
g_pServerManager->BroadCastServer( &Msg ) ;
}
break ;
case CHAT_TYPE_SYSTEM:
case CHAT_TYPE_SCENE:
{
g_pServerManager->BroadCastServer( &Msg ) ;
}
break ;
case CHAT_TYPE_TEAM:
{
Team* pTeam = g_pTeamList->GetTeam( pSourUser->GetTeamID() ) ;
if( pTeam==NULL )
break ;
for( int i=0; i<pTeam->MemberCount(); i++ )
{
TEAMMEMBER* pMember = pTeam->Member( i ) ;
if( pMember==NULL )
{
Assert(FALSE) ;
continue ;
}
USER* pUser = g_pOnlineUser->FindUser( pMember->m_Member ) ;
if( pUser==NULL )
{//如果队员离线,则用户数据是空
continue ;
}
ID_t ServerID = pUser->GetServerID() ;
ServerPlayer* pServerPlayer = g_pServerManager->GetServerPlayer( ServerID ) ;
if( pServerPlayer==NULL )
{
Assert(FALSE) ;
continue ;
}
Msg.SetPlayerID( pUser->GetPlayerID() ) ;
pServerPlayer->SendPacket( &Msg ) ;
}
}
break ;
case CHAT_TYPE_TELL:
{
USER* pUser = g_pOnlineUser->FindUser( pPacket->GetTargetName() ) ;
if( pUser )
{
if( pSourUser->IsEnemy( pUser->GetUserCampData() ) )
pUser = NULL; //如果是敌对阵营,处理方法跟查无此人相同!!
//按道理说是不能密的哦~~
}
if( pUser==NULL )
{//如果队员离线,则用户数据是空
CHAR* szName="system" ;
CHAR szContex[32] ;
//.........这里部分代码省略.........
示例4: Execute
UINT GWTeamRetInviteHandler::Execute( GWTeamRetInvite* pPacket, Player* pPlayer )
{
__ENTER_FUNCTION
GUID_t sGuid = pPacket->GetSourGUID();//邀请人的GUID
GUID_t dGuid = pPacket->GetDestGUID();//被邀请人的GUID
USER* pDestUser = g_pOnlineUser->FindUser( dGuid );
if( pDestUser==NULL )
{
Log::SaveLog( WORLD_LOGFILE, "GWTeamRetInviteHandler...User Dest GUID=%X not find!",
dGuid );
return PACKET_EXE_CONTINUE;
}
ServerPlayer* pDestServerPlayer = (ServerPlayer*)pPlayer;
USER* pSourUser = g_pOnlineUser->FindUser( sGuid );
if( pSourUser==NULL )
{
if( pPacket->GetReturn()==TRUE )
{
WGTeamError dMsg;
dMsg.SetPlayerID( pDestUser->GetPlayerID() );
dMsg.SetGUID( pDestUser->GetGUID() );
dMsg.SetErrorCode( TEAM_ERROR_TARGETNOTONLINE );
pDestServerPlayer->SendPacket( &dMsg );
}
Log::SaveLog( WORLD_LOGFILE, "GWTeamRetInviteHandler...User Sour GUID=%X not find!",
sGuid );
return PACKET_EXE_CONTINUE;
}
if( pSourUser->IsEnemy( pDestUser->GetUserCampData() ) )
{
Log::SaveLog( WORLD_LOGFILE, "GWTeamRetInviteHandler...Sour Name=%X, Dest Name=%s are enemy!",
pSourUser->GetName(), pDestUser->GetName() );
return PACKET_EXE_CONTINUE;
}
ID_t SourServerID = pSourUser->GetServerID();
ServerPlayer* pSourServerPlayer = g_pServerManager->GetServerPlayer( SourServerID );
if( pSourServerPlayer==NULL )
{
Assert(FALSE);
return PACKET_EXE_CONTINUE;
}
USER* pLeader = NULL;
ServerPlayer* pLeaderServerPlayer;
if ( pSourUser->GetTeamID() != INVALID_ID )
{
Team* pTeam = g_pTeamList->GetTeam( pSourUser->GetTeamID() );
if ( pTeam == NULL )
{
Assert( pTeam );
pSourUser->SetTeamID( INVALID_ID );
}
else if ( pTeam->Leader()->m_Member != sGuid )
{ // 邀请人不是队长
pLeader = g_pOnlineUser->FindUser( pTeam->Leader()->m_Member );
pLeaderServerPlayer = g_pServerManager->GetServerPlayer( pLeader->GetServerID() );
if ( pLeaderServerPlayer == NULL )
{
Assert( FALSE );
pLeader = NULL;
}
}
}
if( pPacket->GetReturn()==FALSE )
{//被邀请人不同意加入队伍
WGTeamError Msg;
Msg.SetPlayerID( pSourUser->GetPlayerID() );
Msg.SetGUID( pDestUser->GetGUID() );
Msg.SetErrorCode( TEAM_ERROR_INVITEREFUSE );
pSourServerPlayer->SendPacket( &Msg );
if ( pLeader != NULL )
{
Msg.SetPlayerID( pLeader->GetPlayerID() );
pLeaderServerPlayer->SendPacket( &Msg );
}
Log::SaveLog( WORLD_LOGFILE, "GWTeamRetInviteHandler...Invite Refuse SourGUID=%X DestGUID=%X",
sGuid, dGuid );
}
else if( pDestUser->GetTeamID() != INVALID_ID )
{//被邀请人已经有队伍
WGTeamError Msg;
Msg.SetPlayerID( pSourUser->GetPlayerID() );
Msg.SetGUID( pDestUser->GetGUID() );
//.........这里部分代码省略.........
示例5: Execute
uint GWTeamInviteHandler::Execute( GWTeamInvite* pPacket, Player* pPlayer )
{
__ENTER_FUNCTION
ServerPlayer* pSourServerPlayer = (ServerPlayer*)pPlayer;
GUID_t sGuid = pPacket->GetSourGUID();
USER* pSourUser = g_pOnlineUser->FindUser( sGuid );
if( pSourUser==NULL )
{
Log::SaveLog( WORLD_LOGFILE, "GWTeamInviteHandler...User Sour GUID=%X not find!",
sGuid );
return PACKET_EXE_CONTINUE;
}
USER* pDestUser = g_pOnlineUser->FindUser( pPacket->GetDestName() );
if( pDestUser==NULL )
{
Log::SaveLog( WORLD_LOGFILE, "GWTeamInviteHandler...User Dest Name=%s not find!",
pPacket->GetDestName() );
return PACKET_EXE_CONTINUE;
}
GUID_t dGuid = pDestUser->GetGUID();
if( pSourUser->IsEnemy( pDestUser->GetUserCampData() ) )
{
Log::SaveLog( WORLD_LOGFILE, "GWTeamInviteHandler...Sour Name=%s, Dest Name=%s are enemy!",
pSourUser->GetName(), pDestUser->GetName() );
return PACKET_EXE_CONTINUE;
}
// 设置了拒绝被邀请
if( pDestUser->IsRefuseTeamInvite() )
{
WGTeamError Msg;
Msg.SetPlayerID( pSourUser->GetPlayerID() );
Msg.SetGUID(sGuid);
Msg.SetErrorCode(TEAM_ERROR_REFUSEINVITESETTING);
pSourServerPlayer->SendPacket( &Msg );
Log::SaveLog( WORLD_LOGFILE, "GWTeamInviteHandler...DestGUID=%X refuse to be invited. ",
dGuid );
return PACKET_EXE_CONTINUE;
}
if( pDestUser->GetTeamID() != INVALID_ID )
{//被邀请人已经属于某个队伍了
WGTeamError Msg;
Msg.SetPlayerID( pSourUser->GetPlayerID() );
Msg.SetGUID(sGuid);
Msg.SetErrorCode(TEAM_ERROR_INVITEDESTHASTEAM);
pSourServerPlayer->SendPacket( &Msg );
Log::SaveLog( WORLD_LOGFILE, "GWTeamInviteHandler...DestInTeam SourGUID=%X DestGUID=%X",
sGuid, dGuid );
}
else if( sGuid==dGuid && pSourUser->GetTeamID()==INVALID_ID )
{//邀请人和被邀请人属于同一个人, 且不属于某个队伍
//自建队伍
TeamID_t tid = g_pTeamList->CreateTeam( );
Assert( tid!=INVALID_ID );
Team* pTeam = g_pTeamList->GetTeam( tid );
Assert( pTeam );
//将玩家加入队伍中
TEAMMEMBER Member;
Member.m_Member = sGuid;
pTeam->AddMember( &Member );
//设置玩家队伍数据
pSourUser->SetTeamID( tid );
//返回结果
WGTeamResult Msg;
Msg.SetPlayerID( pSourUser->GetPlayerID() );
Msg.SetReturn( TEAM_RESULT_MEMBERENTERTEAM );
Msg.SetGUID( sGuid );
Msg.SetTeamID( tid );
Msg.SetGUIDEx( pSourUser->GetPlayerID() ); // 将玩家的 PlayerID 传回
Msg.SetSceneID( pSourUser->GetSceneID() );
Msg.SetDataID( pSourUser->GetSex() );
Msg.SetIcon( pSourUser->GetPortrait() );
pSourServerPlayer->SendPacket( &Msg );
Log::SaveLog( WORLD_LOGFILE, "GWTeamInviteHandler...CreateTeam GUID=%X TeamID=%d",
sGuid, tid );
}
else
{
if ( pSourUser->GetTeamID() != INVALID_ID )
{
//邀请人已经有一个队伍
Team* pTeam = g_pTeamList->GetTeam( pSourUser->GetTeamID() );
Assert( pTeam );
//.........这里部分代码省略.........