uint32_t UniqueID = packet->Read<uint32_t>();
uint8_t hasLinkedItem = packet->Read<uint8_t>();

//如果带装备连接
if (hasLinkedItem)
{

  //创建一个临时封包(0xB034)
  auto temporaryPacket = new CMsgStreamBuffer(0xB034);
  for (size_t i = 0; i < (packet->GetLength() - 15 - MessageA.length()); i++)
  {

    //从服务器传来的byte数组(标识位、类型6/7、装备信息等)
    auto byte = packet->Read<uint8_t>();
    temporaryPacket->Write<uint8_t>(byte);
  }

  //创建并填充全体聊天对象:chat
  GlobalChat chat;
  chat.index = 0;
  chat.msg = (wchar_t*)MessageW.c_str();
  chat.completed = false;
  chat.buffer = temporaryPacket;

  //将chat添加到GlobalChatLog列表中
  g_GlobalDataMgr->GlobalChatLog.push_back(chat);
}

//获取发送连接的玩家的CICPlayer指针
auto Sender = g_CICPlayer->GetCICPlayerByUniqueID(UniqueID);
if (Sender)
{
  //将连接信息发送到聊天窗口中
  g_CGInterface->SendColoredMsg(type, MessageW, color);
  auto splitted = g_StringHelper->wsplit(MessageW, L':');
  w_string_last string = w_string_last(splitted[1]);
  //在发送连接的玩家的头顶显示消息(对于其它玩家,也是一样可以看到渲染的。)
  Sender->ShowMessageAbove(&string, color);
}
else
  g_CGInterface->SendColoredMsg(type, MessageW, color);

 

原文地址:http://www.cnblogs.com/anzf/p/16787745.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性