您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ GetPlayerInfo函数代码示例

51自学网 2021-06-01 21:12:59
  C++
这篇教程C++ GetPlayerInfo函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中GetPlayerInfo函数的典型用法代码示例。如果您正苦于以下问题:C++ GetPlayerInfo函数的具体用法?C++ GetPlayerInfo怎么用?C++ GetPlayerInfo使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了GetPlayerInfo函数的21个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: TC_LOG_DEBUG

void WorldSession::HandleLfgGetStatus(WorldPacket& /*recvData*/){    TC_LOG_DEBUG("lfg", "CMSG_LFG_GET_STATUS %s", GetPlayerInfo().c_str());    uint64 guid = GetPlayer()->GetGUID();    lfg::LfgUpdateData updateData = sLFGMgr->GetLfgStatus(guid);    if (GetPlayer()->GetGroup())    {        SendLfgUpdateParty(updateData);        updateData.dungeons.clear();        SendLfgUpdatePlayer(updateData);    }    else    {        SendLfgUpdatePlayer(updateData);        updateData.dungeons.clear();        SendLfgUpdateParty(updateData);    }}
开发者ID:125125,项目名称:TrinityCore,代码行数:20,


示例2: TC_LOG_DEBUG

void WorldSession::HandleJoinChannel(WorldPacket& recvPacket){    uint32 channelId;    uint32 channelLength, passLength;    std::string channelName, password;    recvPacket >> channelId;    uint8 unknown1 = recvPacket.ReadBit();   // unknowns    uint8 unknown2 = recvPacket.ReadBit();    channelLength = recvPacket.ReadBits(8);    passLength = recvPacket.ReadBits(8);    channelName = recvPacket.ReadString(channelLength);    password = recvPacket.ReadString(passLength);    TC_LOG_DEBUG("chat.system", "CMSG_JOIN_CHANNEL %s Channel: %u, unk1: %u, unk2: %u, channel: %s, password: %s",        GetPlayerInfo().c_str(), channelId, unknown1, unknown2, channelName.c_str(), password.c_str());    if (channelId)    {        ChatChannelsEntry const* channel = sChatChannelsStore.LookupEntry(channelId);        if (!channel)            return;        AreaTableEntry const* zone = GetAreaEntryByAreaID(GetPlayer()->GetZoneId());        if (!zone || !GetPlayer()->CanJoinConstantChannelInZone(channel, zone))            return;    }    if (channelName.empty())        return;    if (isdigit(channelName[0]))        return;    if (ChannelMgr* cMgr = ChannelMgr::forTeam(GetPlayer()->GetTeam()))    {        cMgr->setTeam(GetPlayer()->GetTeam());        if (Channel* channel = cMgr->GetJoinChannel(channelName, channelId))            channel->JoinChannel(GetPlayer(), password);    }}
开发者ID:redlaine,项目名称:InfinityCore-Ark,代码行数:41,


示例3: GetPlayerInfo

int CPlayer::GetLifeState(){	if (lifestate_offset == -1)	{		if (!g_pGameConf->GetOffset("m_lifeState", &lifestate_offset))		{			lifestate_offset = -2;		}	}	if (lifestate_offset < 0)	{		IPlayerInfo *info = GetPlayerInfo();		if (info == NULL)		{			return PLAYER_LIFE_UNKNOWN;		}		return info->IsDead() ? PLAYER_LIFE_DEAD : PLAYER_LIFE_ALIVE;	}	if (m_pEdict == NULL)	{		return PLAYER_LIFE_UNKNOWN;	}	CBaseEntity *pEntity;	IServerUnknown *pUnknown = m_pEdict->GetUnknown();	if (pUnknown == NULL || (pEntity = pUnknown->GetBaseEntity()) == NULL)	{		return PLAYER_LIFE_UNKNOWN;	}	if (*((uint8_t *)pEntity + lifestate_offset) == LIFE_ALIVE)	{		return PLAYER_LIFE_ALIVE;	}	else	{		return PLAYER_LIFE_DEAD;	}}
开发者ID:Nephyrin,项目名称:-furry-octo-nemesis,代码行数:41,


示例4: TC_LOG_DEBUG

void WorldSession::SendLfgQueueStatus(lfg::LfgQueueStatusData const& queueData){    TC_LOG_DEBUG("lfg", "SMSG_LFG_QUEUE_STATUS %s dungeon: %u, waitTime: %d, "        "avgWaitTime: %d, waitTimeTanks: %d, waitTimeHealer: %d, waitTimeDps: %d, "        "queuedTime: %u, tanks: %u, healers: %u, dps: %u",        GetPlayerInfo().c_str(), queueData.dungeonId, queueData.waitTime, queueData.waitTimeAvg,        queueData.waitTimeTank, queueData.waitTimeHealer, queueData.waitTimeDps,        queueData.queuedTime, queueData.tanks, queueData.healers, queueData.dps);    ObjectGuid RequesterGuid = _player->GetGUID128();    WorldPacket data(SMSG_LFG_QUEUE_STATUS, 500);                   // We guess size    sLFGMgr->BuildRideTicket(data, RequesterGuid, 0, 0, 0);    data << uint32(queueData.subType);    data << uint32(queueData.reason);    for (auto i = 0; i < QUEUE_NEEDS; i++)        data << uint32(queueData.needs);    data << uint32(queueData.slotsCount);    data << uint32(queueData.requestedRoles);    data << uint32(queueData.SuspendedPlayersCount);    for (uint32 i = 0; i < queueData.slotsCount; i++)        data << uint32(queueData.slots);    for (uint32 i = 0; i < queueData.SuspendedPlayersCount; i++)        data << ObjectGuid(queueData.suspendedPlayers);    data.WriteBit(queueData.IsParty);    data.WriteBit(queueData.Notify);    data.WriteBit(queueData.Joined);    data.WriteBit(queueData.LfgJoined);    data.WriteBit(queueData.Queued);    data.WriteBits(0, 8);    data.WriteString(queueData.Comment);    SendPacket(&data);}
开发者ID:GlassFace,项目名称:Skyfire-6.1.2-version,代码行数:41,


示例5: GetPlayerInfo

void WorldSession::HandleChannelBan(WorldPacket& recvPacket){    uint32 channelLength, nameLength;    std::string channelName, targetName;    channelLength = recvPacket.ReadBits(8);    nameLength = recvPacket.ReadBits(7);    targetName = recvPacket.ReadString(nameLength);    channelName = recvPacket.ReadString(channelLength);    sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_BAN %s Channel: %s, Target: %s",        GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());    if (!normalizePlayerName(targetName))        return;    if (ChannelMgr* cMgr = ChannelMgr::forTeam(GetPlayer()->GetTeam()))        if (Channel* channel = cMgr->GetChannel(channelName, GetPlayer()))            channel->Ban(GetPlayer(), targetName);}
开发者ID:beyourself,项目名称:Wow-4.3.4,代码行数:21,


示例6: TC_LOG_DEBUG

// Called when clicking on Guild bank gameobjectvoid WorldSession::HandleGuildBankerActivate(WorldPacket& recvPacket){    ObjectGuid guid;    bool sendAllSlots;    recvPacket >> guid >> sendAllSlots;    TC_LOG_DEBUG("guild", "CMSG_GUILD_BANKER_ACTIVATE [%s]: [%s] AllSlots: %u"        , GetPlayerInfo().c_str(), guid.ToString().c_str(), sendAllSlots);    GameObject const* const go = GetPlayer()->GetGameObjectIfCanInteractWith(guid, GAMEOBJECT_TYPE_GUILD_BANK);    if (!go)        return;    Guild* const guild = GetPlayer()->GetGuild();    if (!guild)    {        Guild::SendCommandResult(this, GUILD_COMMAND_VIEW_TAB, ERR_GUILD_PLAYER_NOT_IN_GUILD);        return;    }    guild->SendBankList(this, 0, true, true);}
开发者ID:DSlayerMan,项目名称:VortexCore434,代码行数:23,


示例7: defined

void WorldSession::HandleLfgGetStatus(WorldPacket& /*recvData*/){#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)    sLog->outDebug(LOG_FILTER_LFG, "CMSG_LFG_GET_STATUS %s", GetPlayerInfo().c_str());#endif    uint64 guid = GetPlayer()->GetGUID();    lfg::LfgUpdateData updateData = sLFGMgr->GetLfgStatus(guid);    if (GetPlayer()->GetGroup())    {        SendLfgUpdateParty(updateData);        updateData.dungeons.clear();        SendLfgUpdatePlayer(updateData);    }    else    {        SendLfgUpdatePlayer(updateData);        updateData.dungeons.clear();        SendLfgUpdateParty(updateData);    }}
开发者ID:Helias,项目名称:azerothcore-wotlk,代码行数:22,


示例8: GetPlayer

void WorldSession::SendLfgBootProposalUpdate(lfg::LfgPlayerBoot const& boot){    ObjectGuid guid = GetPlayer()->GetGUID();    lfg::LfgAnswer playerVote = boot.votes.find(guid)->second;    uint8 votesNum = 0;    uint8 agreeNum = 0;    uint32 secsleft = uint8((boot.cancelTime - time(NULL)) / 1000);    for (auto it : boot.votes)    {        if (it.second != lfg::LFG_ANSWER_PENDING)        {            ++votesNum;            if (it.second == lfg::LFG_ANSWER_AGREE)                ++agreeNum;        }    }    TC_LOG_DEBUG("lfg", "SMSG_LFG_BOOT_PROPOSAL_UPDATE %s inProgress: %u - "        "didVote: %u - agree: %u - victim: %u votes: %u - agrees: %u - left: %u - "        "needed: %u - reason %s",        GetPlayerInfo().c_str(), uint8(boot.inProgress), uint8(playerVote != lfg::LFG_ANSWER_PENDING),        uint8(playerVote == lfg::LFG_ANSWER_AGREE), GUID_LOPART(boot.victim), votesNum, agreeNum,        secsleft, lfg::LFG_GROUP_KICK_VOTES_NEEDED, boot.reason.c_str());    WorldPacket data(SMSG_LFG_BOOT_PROPOSAL_UPDATE, 1 + 1 + 1 + 1 + 8 + 4 + 4 + 4 + 4 + boot.reason.length());    data.WriteBit(boot.inProgress);                                 // VoteInProgress    data.WriteBit(boot.VotePassed);                                 // VotePassed    data.WriteBit(boot.MyVoteComplete);                             // MyVoteComplete    data.WriteBit(boot.MyVote);                                     // MyVote    data.WriteBits(0, 8);                                           // ReasonLen    data << ObjectGuid(boot.victim);                                // VictimGUID    data << uint32(boot.TotalVotes);                                // TotalVotes    data << uint32(boot.BootVotes);                                 // BootVotes    data << uint32(boot.TimeLeft);                                  // TimeLeft    data << uint32(lfg::LFG_GROUP_KICK_VOTES_NEEDED);               // NeededVotes    data << boot.reason.c_str();                                    // Reason    SendPacket(&data);}
开发者ID:GlassFace,项目名称:Skyfire-6.1.2-version,代码行数:39,


示例9: TC_LOG_DEBUG

void WorldSession::HandleLeaveChannel(WorldPacket& recvPacket){    uint32 unk;    std::string channelName;    recvPacket >> unk >> channelName;	   if (!ChatHandler(this).isValidChatMessage(channelName.c_str()))        return;    TC_LOG_DEBUG("chat.system", "CMSG_LEAVE_CHANNEL %s Channel: %s, unk1: %u",        GetPlayerInfo().c_str(), channelName.c_str(), unk);    if (channelName.empty())        return;    if (ChannelMgr* cMgr = ChannelMgr::forTeam(GetPlayer()->GetTeam()))    {        if (Channel* channel = cMgr->GetChannel(channelName, GetPlayer()))            channel->LeaveChannel(GetPlayer(), true);        cMgr->LeftChannel(channelName);    }}
开发者ID:denisakajacob,项目名称:TrinityCore,代码行数:22,


示例10: GetPlayerInfo

// Called when clicking on Guild bank gameobjectvoid WorldSession::HandleGuildBankerActivate(WorldPacket& recvPacket){    uint64 guid;    bool sendAllSlots;    recvPacket >> guid >> sendAllSlots;    sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_BANKER_ACTIVATE [%s]: Go: [" UI64FMTD "] AllSlots: %u"        , GetPlayerInfo().c_str(), guid, sendAllSlots);    GameObject const* const go = GetPlayer()->GetGameObjectIfCanInteractWith(guid, GAMEOBJECT_TYPE_GUILD_BANK);    if (!go)        return;    Guild* const guild = GetPlayer()->GetGuild();    if (!guild)    {        Guild::SendCommandResult(this, GUILD_COMMAND_VIEW_TAB, ERR_GUILD_PLAYER_NOT_IN_GUILD);        return;    }    guild->SendBankList(this, 0, true, true);}
开发者ID:beyourself,项目名称:Wow-4.3.4,代码行数:23,


示例11: uint8

void WorldSession::SendLfgUpdatePlayer(lfg::LfgUpdateData const& updateData){    bool queued = false;    uint8 size = uint8(updateData.dungeons.size());    switch (updateData.updateType)    {        case lfg::LFG_UPDATETYPE_JOIN_QUEUE:        case lfg::LFG_UPDATETYPE_ADDED_TO_QUEUE:            queued = true;            break;        case lfg::LFG_UPDATETYPE_UPDATE_STATUS:            queued = updateData.state == lfg::LFG_STATE_QUEUED;            break;        default:            break;    }#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)    sLog->outDebug(LOG_FILTER_LFG, "SMSG_LFG_UPDATE_PLAYER %s updatetype: %u",        GetPlayerInfo().c_str(), updateData.updateType);#endif    WorldPacket data(SMSG_LFG_UPDATE_PLAYER, 1 + 1 + (size > 0 ? 1 : 0) * (1 + 1 + 1 + 1 + size * 4 + updateData.comment.length()));    data << uint8(updateData.updateType);                  // Lfg Update type    data << uint8(size > 0);                               // Extra info    if (size)    {        data << uint8(queued);                             // Join the queue        data << uint8(0);                                  // unk - Always 0        data << uint8(0);                                  // unk - Always 0        data << uint8(size);        for (lfg::LfgDungeonSet::const_iterator it = updateData.dungeons.begin(); it != updateData.dungeons.end(); ++it)            data << uint32(*it);        data << updateData.comment;    }    SendPacket(&data);}
开发者ID:Helias,项目名称:azerothcore-wotlk,代码行数:38,


示例12: TC_LOG_DEBUG

void WorldSession::HandleGuildRankOpcode(WorldPacket& recvPacket){    uint32 rankId;    recvPacket >> rankId;    uint32 rights;    recvPacket >> rights;    std::string rankName;    recvPacket >> rankName;    uint32 money;    recvPacket >> money;    TC_LOG_DEBUG(LOG_FILTER_GUILD, "CMSG_GUILD_RANK [%s]: Rank: %s (%u)", GetPlayerInfo().c_str(), rankName.c_str(), rankId);    Guild* guild = GetPlayer()->GetGuild();    if (!guild)    {        recvPacket.rpos(recvPacket.wpos());        return;    }    GuildBankRightsAndSlotsVec rightsAndSlots(GUILD_BANK_MAX_TABS);    for (uint8 tabId = 0; tabId < GUILD_BANK_MAX_TABS; ++tabId)    {        uint32 bankRights;        uint32 slots;        recvPacket >> bankRights;        recvPacket >> slots;        rightsAndSlots[tabId] = GuildBankRightsAndSlots(tabId, bankRights, slots);    }    guild->HandleSetRankInfo(this, rankId, rankName, rights, money, rightsAndSlots);}
开发者ID:smaitlx,项目名称:Origin-Engine,代码行数:38,


示例13: GetPlayer

void WorldSession::HandleLfgLeaveOpcode(WorldPacket& recvData){    ObjectGuid leaveGuid;    Group* group = GetPlayer()->GetGroup();    uint64 guid = GetPlayer()->GetGUID();    uint64 gguid = group ? group->GetGUID() : guid;    recvData.read_skip<uint32>();                          // Always 8    recvData.read_skip<uint32>();                          // Join date    recvData.read_skip<uint32>();                          // Always 3    recvData.read_skip<uint32>();                          // Queue Id    recvData.ReadGuidMask(leaveGuid, 0, 1, 6, 7, 3, 5, 2, 4);    recvData.ReadGuidBytes(leaveGuid, 1, 5, 6, 7, 4, 2, 3, 0);    TC_LOG_DEBUG("lfg", "CMSG_LFG_LEAVE %s in group: %u sent guid " UI64FMTD ".",        GetPlayerInfo().c_str(), group ? 1 : 0, uint64(leaveGuid));    // Check cheating - only leader can leave the queue    if (!group || group->GetLeaderGUID() == guid)        sLFGMgr->LeaveLfg(gguid);}
开发者ID:Caydan,项目名称:mop548,代码行数:23,


示例14: GetPlayer

void WorldSession::HandleLfgLeaveOpcode(WorldPacket& recvData){    ObjectGuid leaveGuid;    Group* group = GetPlayer()->GetGroup();    ObjectGuid guid = GetPlayer()->GetGUID();    ObjectGuid gguid = group ? group->GetGUID() : guid;    recvData.read_skip<uint32>();                          // Always 8    recvData.read_skip<uint32>();                          // Join date    recvData.read_skip<uint32>();                          // Always 3    recvData.read_skip<uint32>();                          // Queue Id    leaveGuid[4] = recvData.ReadBit();    leaveGuid[5] = recvData.ReadBit();    leaveGuid[0] = recvData.ReadBit();    leaveGuid[6] = recvData.ReadBit();    leaveGuid[2] = recvData.ReadBit();    leaveGuid[7] = recvData.ReadBit();    leaveGuid[1] = recvData.ReadBit();    leaveGuid[3] = recvData.ReadBit();    recvData.ReadByteSeq(leaveGuid[7]);    recvData.ReadByteSeq(leaveGuid[4]);    recvData.ReadByteSeq(leaveGuid[3]);    recvData.ReadByteSeq(leaveGuid[2]);    recvData.ReadByteSeq(leaveGuid[6]);    recvData.ReadByteSeq(leaveGuid[0]);    recvData.ReadByteSeq(leaveGuid[1]);    recvData.ReadByteSeq(leaveGuid[5]);    TC_LOG_DEBUG("lfg", "CMSG_LFG_LEAVE %s in group: %u sent guid " UI64FMTD ".",        GetPlayerInfo().c_str(), group ? 1 : 0, uint64(leaveGuid));    // Check cheating - only leader can leave the queue    if (!group || group->GetLeaderGUID() == guid)        sLFGMgr->LeaveLfg(gguid);}
开发者ID:Clementon,项目名称:ElunaTrinityCata,代码行数:37,


示例15: GetPlayerInfo

void World::CollisionCheck(){	auto p = GetPlayerInfo();	auto b = GetBallInfo();	for (size_t i = 0; i < b.size(); i++)	{		for (size_t j = i; j < b.size(); j++)		{		}		for (size_t j = 0; j < p.size(); j++)		{		}		if (v2fMagnitude(b[i].Position) > 200)		{			balls[i].pos[1] = -balls[i].pos[1];		}	}	//for (size_t i = 0; i < balls.size(); i++)	//{	//	for (size_t j = i + 1; j < balls.size(); j++)	//	{	//		Collision(balls[i], balls[j]);	//	}	//	for (size_t j = 0; j < players.size(); j++)	//	{	//		Collision(balls[i], players[j]);	//	}	//	Collision(balls[i]);	//}}
开发者ID:Eracage,项目名称:Verkkopeliohjelmointi,代码行数:37,


示例16: HandleLfgGroupInfoCommand

    static bool HandleLfgGroupInfoCommand(ChatHandler* handler, char const* args)    {        Player* target = NULL;        std::string playerName;        if (!handler->extractPlayerTarget((char*)args, &target, NULL, &playerName))            return false;        Group* grp = target->GetGroup();        if (!grp)        {            handler->PSendSysMessage(LANG_LFG_NOT_IN_GROUP, playerName.c_str());            return true;        }        uint64 guid = grp->GetGUID();        std::string const& state = lfg::GetStateString(sLFGMgr->GetState(guid));        handler->PSendSysMessage(LANG_LFG_GROUP_INFO, grp->isLFGGroup(),            state.c_str(), sLFGMgr->GetDungeon(guid));        for (GroupReference* itr = grp->GetFirstMember(); itr != NULL; itr = itr->next())            GetPlayerInfo(handler, itr->GetSource());        return true;    }
开发者ID:Angmon,项目名称:TrinityCore,代码行数:24,


示例17: TC_LOG_DEBUG

void WorldSession::HandleSaveGuildEmblem(WorldPackets::Guild::SaveGuildEmblem& packet){    EmblemInfo emblemInfo;    emblemInfo.ReadPacket(packet);    TC_LOG_DEBUG("guild", "CMSG_SAVE_GUILD_EMBLEM [%s]: Guid: [%s] Style: %d, Color: %d, BorderStyle: %d, BorderColor: %d, BackgroundColor: %d"        , GetPlayerInfo().c_str(), packet.Vendor.ToString().c_str(), emblemInfo.GetStyle()        , emblemInfo.GetColor(), emblemInfo.GetBorderStyle()        , emblemInfo.GetBorderColor(), emblemInfo.GetBackgroundColor());    if (GetPlayer()->GetNPCIfCanInteractWith(packet.Vendor, UNIT_NPC_FLAG_TABARDDESIGNER))    {        // Remove fake death        if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))            GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);        if (Guild* guild = GetPlayer()->GetGuild())            guild->HandleSetEmblem(this, emblemInfo);        else            Guild::SendSaveEmblemResult(this, ERR_GUILDEMBLEM_NOGUILD); // "You are not part of a guild!";    }    else        Guild::SendSaveEmblemResult(this, ERR_GUILDEMBLEM_INVALIDVENDOR); // "That's not an emblem vendor!"}
开发者ID:DrYaling,项目名称:eluna-wod,代码行数:24,


示例18: ParseStatusString

void CHudStatusBar :: ParseStatusString( int line_num ){	// localise string first	char szBuffer[MAX_STATUSTEXT_LENGTH];	memset( szBuffer, 0, sizeof szBuffer );	gHUD.m_TextMessage.LocaliseTextString( m_szStatusText[line_num], szBuffer, MAX_STATUSTEXT_LENGTH );	// parse m_szStatusText & m_iStatusValues into m_szStatusBar	memset( m_szStatusBar[line_num], 0, MAX_STATUSTEXT_LENGTH );	char *src = szBuffer;	char *dst = m_szStatusBar[line_num];	char *src_start = src, *dst_start = dst;	while ( *src != 0 )	{		while ( *src == '/n' )			src++;  // skip over any newlines		if ( ((src - src_start) >= MAX_STATUSTEXT_LENGTH) || ((dst - dst_start) >= MAX_STATUSTEXT_LENGTH) )			break;		int index = atoi( src );		// should we draw this line?		if ( (index >= 0 && index < MAX_STATUSBAR_VALUES) && (m_iStatusValues[index] != -1))		{  // parse this line and append result to the status bar			while ( *src >= '0' && *src <= '9' )				src++;			if ( *src == '/n' || *src == 0 )				continue; // no more left in this text line			// copy the text, char by char, until we hit a % or a /n			while ( *src != '/n' && *src != 0 )			{				if ( *src != '%' )				{  // just copy the character					*dst = *src;					dst++, src++;				}				else				{					// get the descriptor					char valtype = *(++src); // move over %					// if it's a %, draw a % sign					if ( valtype == '%' )					{						*dst = valtype;						dst++, src++;						continue;					}					// move over descriptor, then get and move over the index					index = atoi( ++src ); 					while ( *src >= '0' && *src <= '9' )						src++;					if ( index >= 0 && index < MAX_STATUSBAR_VALUES )					{						int indexval = m_iStatusValues[index];						// get the string to substitute in place of the %XX						char szRepString[MAX_PLAYER_NAME_LENGTH];						switch ( valtype )						{						case 'p':  // player name							GetPlayerInfo( indexval, &g_PlayerInfoList[indexval] );							if ( g_PlayerInfoList[indexval].name != NULL )							{								strncpy( szRepString, g_PlayerInfoList[indexval].name, MAX_PLAYER_NAME_LENGTH );								m_pflNameColors[line_num] = GetClientColor( indexval );							}							else							{								strcpy( szRepString, "******" );							}							break;						case 'i':  // number							sprintf( szRepString, "%d", indexval );							break;						default:							szRepString[0] = 0;						}						for ( char *cp = szRepString; *cp != 0 && ((dst - dst_start) < MAX_STATUSTEXT_LENGTH); cp++, dst++ )							*dst = *cp;					}				}			}		}		else		{			// skip to next line of text			while ( *src != 0 && *src != '/n' )				src++;		}	}}
开发者ID:Arkshine,项目名称:NS,代码行数:100,


示例19: TC_LOG_DEBUG

void WorldSession::SendLfgDisabled(){    TC_LOG_DEBUG("lfg", "SMSG_LFG_DISABLED %s", GetPlayerInfo().c_str());    WorldPacket data(SMSG_LFG_DISABLED, 0);    SendPacket(&data);}
开发者ID:Clementon,项目名称:ElunaTrinityCata,代码行数:6,


示例20: uint8

void WorldSession::SendLfgUpdateStatus(lfg::LfgUpdateData const& updateData, bool party){    bool join = false;    bool queued = false;    uint8 size = uint8(updateData.dungeons.size());    ObjectGuid guid = _player->GetGUID();    time_t joinTime = sLFGMgr->GetQueueJoinTime(_player->GetGUID());    uint32 queueId = sLFGMgr->GetQueueId(_player->GetGUID());    switch (updateData.updateType)    {        case lfg::LFG_UPDATETYPE_JOIN_QUEUE_INITIAL:            // Joined queue outside the dungeon            join = true;            break;        case lfg::LFG_UPDATETYPE_JOIN_QUEUE:        case lfg::LFG_UPDATETYPE_ADDED_TO_QUEUE:                // Rolecheck Success            join = true;            queued = true;            break;        case lfg::LFG_UPDATETYPE_PROPOSAL_BEGIN:            join = true;            break;        case lfg::LFG_UPDATETYPE_UPDATE_STATUS:            join = updateData.state != lfg::LFG_STATE_ROLECHECK && updateData.state != lfg::LFG_STATE_NONE;            queued = updateData.state == lfg::LFG_STATE_QUEUED;            break;        default:            break;    }    TC_LOG_DEBUG("lfg", "SMSG_LFG_UPDATE_STATUS %s updatetype: %u, party %s",        GetPlayerInfo().c_str(), updateData.updateType, party ? "true" : "false");    WorldPacket data(SMSG_LFG_UPDATE_STATUS, 1 + 8 + 3 + 2 + 1 + updateData.comment.length() + 4 + 4 + 1 + 1 + 1 + 4 + size);    data.WriteBit(guid[1]);    data.WriteBit(party);    data.WriteBits(size, 24);    data.WriteBit(guid[6]);    data.WriteBit(size > 0);                               // Extra info    data.WriteBits(updateData.comment.length(), 9);    data.WriteBit(guid[4]);    data.WriteBit(guid[7]);    data.WriteBit(guid[2]);    data.WriteBit(join);                                   // LFG Join    data.WriteBit(guid[0]);    data.WriteBit(guid[3]);    data.WriteBit(guid[5]);    data.WriteBit(queued);                                 // Join the queue    data << uint8(updateData.updateType);                  // Lfg Update type    data.WriteString(updateData.comment);    data << uint32(queueId);                               // Queue Id    data << uint32(joinTime);                              // Join date    data.WriteByteSeq(guid[6]);    for (uint8 i = 0; i < 3; ++i)        data << uint8(0);                                  // unk - Always 0    data.WriteByteSeq(guid[1]);    data.WriteByteSeq(guid[2]);    data.WriteByteSeq(guid[4]);    data.WriteByteSeq(guid[3]);    data.WriteByteSeq(guid[5]);    data.WriteByteSeq(guid[0]);    data << uint32(3);    data.WriteByteSeq(guid[7]);    for (lfg::LfgDungeonSet::const_iterator it = updateData.dungeons.begin(); it != updateData.dungeons.end(); ++it)        data << uint32(*it);    SendPacket(&data);}
开发者ID:Clementon,项目名称:ElunaTrinityCata,代码行数:70,


示例21: SayTextPrint

void CHudSayText :: SayTextPrint( const char *pszBuf, int iBufSize, int clientIndex ){	if ( gViewPort && gViewPort->AllowedToPrintText() == FALSE )		return;	// find an empty string slot	for ( int i = 0; i < MAX_LINES; i++ )	{		if ( ! *g_szLineBuffer[i] )			break;	}	if ( i == MAX_LINES )	{		// force scroll buffer up		ScrollTextUp();		i = MAX_LINES - 1;	}	g_iNameLengths[i] = 0;	g_pflNameColors[i] = NULL;	// if it's a say message, search for the players name in the string	if ( *pszBuf == 2 && clientIndex > 0 )	{		GetPlayerInfo( clientIndex, &g_PlayerInfoList[clientIndex] );		const char *pName = g_PlayerInfoList[clientIndex].name;		if ( pName )		{			const char *nameInString = strstr( pszBuf, pName );			if ( nameInString )			{				g_iNameLengths[i] = strlen( pName ) + (nameInString - pszBuf);				g_pflNameColors[i] = GetClientColor( clientIndex );			}		}	}	strncpy( g_szLineBuffer[i], pszBuf, max(iBufSize -1, MAX_CHARS_PER_LINE-1) );	// make sure the text fits in one line	EnsureTextFitsInOneLineAndWrapIfHaveTo( i );	// Set scroll time	if ( i == 0 )	{		SCROLL_SPEED = CVAR_GET_FLOAT( "hud_saytext_time" );		flScrollTime = gHUD.m_flTime + SCROLL_SPEED;	}	m_iFlags |= HUD_ACTIVE;	PlaySound( "misc/talk.wav", 1 );	if ( ScreenHeight >= 480 )		Y_START = ScreenHeight - 60;	else		Y_START = ScreenHeight - 45;	Y_START -= (line_height * (MAX_LINES+1));}
开发者ID:jlecorre,项目名称:hlinvasion,代码行数:61,



注:本文中的GetPlayerInfo函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ GetPlayerName函数代码示例
C++ GetPlayerInMap函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。