本文整理汇总了C++中WorldPacket::getMsgCode方法的典型用法代码示例。如果您正苦于以下问题:C++ WorldPacket::getMsgCode方法的具体用法?C++ WorldPacket::getMsgCode怎么用?C++ WorldPacket::getMsgCode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WorldPacket
的用法示例。
在下文中一共展示了WorldPacket::getMsgCode方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SendPacket
int32 WorldSocket::SendPacket(const WorldPacket &sendPacket)
{
if (!m_pSHSocket || m_pSHSocket->disconnected())
return -1;
try
{
m_pSendHeader->Reset(sendPacket.Size(), sendPacket.getMsgCode());
size_t len = m_pSendHeader->size() + sendPacket.Size();
m_sendDataHolder.resize(len);
memset(&m_sendDataHolder[0], 0, len);
memcpy(&m_sendDataHolder[0], m_pSendHeader->header(), m_pSendHeader->size());
memcpy(&m_sendDataHolder[m_pSendHeader->size()], sendPacket.Contents(), sendPacket.Size());
m_pSHSocket->Send(&m_sendDataHolder[0], len);
m_sendDataHolder.clear();
return 1;
}
catch (SHException e)
{
cout << e.what() << endl;
return 0;
}
}
示例2: HandleChatMessage
void WorldSession::HandleChatMessage(WorldPacket &recvPacket)
{
cout << "Handle " << LookupMsgCodeName(recvPacket.getMsgCode()) << ", size: " << recvPacket.Size() << endl;
string s = recvPacket.ReadString();
sWorld.SendWorldMessage(s, m_pPlayer->getID());
}
示例3: HandleMoveStateChanged
void WorldSession::HandleMoveStateChanged(WorldPacket &recvPacket)
{
cout << "Handle " << LookupMsgCodeName(recvPacket.getMsgCode()) << ", size: " << recvPacket.Size() << endl;
uint32 id = recvPacket.ReadUInt32();
WorldPacket data(SMSG_MOVESTATE_CHANGED, 4);
data << id;
sWorld.SendGlobalWorldPacket(data);
}
示例4: HandleMovementInfo
void WorldSession::HandleMovementInfo(WorldPacket &recvPacket)
{
cout << "Handle " << LookupMsgCodeName(recvPacket.getMsgCode()) << ", size: " << recvPacket.Size() << endl;
uint32 id = recvPacket.ReadUInt32();
WorldPacket data(SMSG_MOVEMENT_INFO, 4);
data << id;
sWorld.SendGlobalWorldPacket(data);
}
示例5: HandleMoveStartBackward
void WorldSession::HandleMoveStartBackward(WorldPacket &recvPacket)
{
cout << "Handle " << LookupMsgCodeName(recvPacket.getMsgCode()) << ", size: " << recvPacket.Size() << endl;
uint32 id = recvPacket.ReadUInt32();
WorldPacket data(SMSG_PLAYER_MOVE, 4);
data << id;
sWorld.SendGlobalWorldPacket(data);
}
示例6: HandleEnumCharacters
void WorldSession::HandleEnumCharacters(WorldPacket &recvPacket)
{
cout << "Handle " << LookupMsgCodeName(recvPacket.getMsgCode()) << ", size: " << recvPacket.Size() << endl;
WorldPacket data(SMSG_ENUM_CHARACTERS, sizeof(PlayerInfo));
data << playerInfo[m_accountID].name
<< playerInfo[m_accountID].guid
<< playerInfo[m_accountID].id
<< playerInfo[m_accountID].level
<< playerInfo[m_accountID].race
<< playerInfo[m_accountID].classs
<< playerInfo[m_accountID].health
<< playerInfo[m_accountID].mana
<< playerInfo[m_accountID].speed;
SendPacket(&data);
}
示例7: HandlePlayerInfo
void WorldSession::HandlePlayerInfo(WorldPacket &recvPacket)
{
cout << "Handle " << LookupMsgCodeName(recvPacket.getMsgCode()) << ", size: " << recvPacket.Size() << endl;
uint32 id;
recvPacket >> id;
if (id < 10)
{
WorldPacket data(SMSG_PLAYER_INFO, sizeof(PlayerInfo));
data << playerInfo[id].name
<< playerInfo[id].guid
<< playerInfo[id].id
<< playerInfo[id].level
<< playerInfo[id].race
<< playerInfo[id].classs
<< playerInfo[id].health
<< playerInfo[id].mana
<< playerInfo[id].speed;
SendPacket(&data);
}
}
示例8: HandlePlayerLogin
void WorldSession::HandlePlayerLogin(WorldPacket &recvPacket)
{
cout << "Handle " << LookupMsgCodeName(recvPacket.getMsgCode()) << ", size: " << recvPacket.Size() << endl;
uint32 id = recvPacket.ReadUInt32();
Player *pPlayer = new Player(this);
pPlayer->Create(playerInfo[m_accountID].name, playerInfo[m_accountID].guid, playerInfo[m_accountID].id, playerInfo[m_accountID].level, playerInfo[m_accountID].race,
playerInfo[m_accountID].classs, playerInfo[m_accountID].health, playerInfo[m_accountID].mana, playerInfo[m_accountID].speed);
pPlayer->setPosition(id * 103.5f, id * 25.3f, 0);
setPlayer(pPlayer);
WorldPacket data(SMSG_HELLO);
string msg = "欢迎登陆蘑菇王子服务器!@~~";
data << m_accountID;
data << sWorld.GetActivedSessionCount();
data << msg;
SendPacket(&data);
sMapManager.LoadMap(pPlayer->getMapID())->Add(pPlayer);
msg = "有玩家登陆啦~!@@@";
data.Initialize(SMSG_PLAYER_LOGIN, sizeof(uint32) + msg.size() + m_pPlayer->getName().size());
data << id;
data << m_pPlayer->getName();
data << msg;
sWorld.SendGlobalWorldPacket(data);
}
示例9: HandleTest
void WorldSession::HandleTest(WorldPacket &recvPacket)
{
cout << "Handle " << LookupMsgCodeName(recvPacket.getMsgCode()) << ", size: " << recvPacket.Size() << endl;
}
示例10: HandleServerSide
void WorldSession::HandleServerSide(WorldPacket &recvPacket)
{
cout << "ERROR: Handler ServerSide MsgCode " << recvPacket.getMsgCode() << "(" << LookupMsgCodeName(recvPacket.getMsgCode()) << ")" << endl;
}
示例11: HandleEarlyProccess
void WorldSession::HandleEarlyProccess(WorldPacket &recvPacket)
{
cout << "ERROR: Handle EarlyProccess MsgCode " << recvPacket.getMsgCode() << "(" << LookupMsgCodeName(recvPacket.getMsgCode()) << ")" << endl;
}
示例12: ParsePacket
void ParsePacket()
{
try
{
bool locked = false;
while (!disconnect)
{
Sleep(1);
if (locked || packetQueueIn.empty())
continue;
else
locked = true;
WorldPacket data = packetQueueIn.front();
packetItr itr = packetQueueIn.begin();
packetQueueIn.erase(itr);
uint32 msgCode = data.getMsgCode();
switch (msgCode)
{
case MSG_CONNECTION:
{
string msg;
data >> msg;
cout << "[System]: Chanllenge OK: " << msg << endl;
challengeOK = true;
break;
}
case SMSG_AUTH_CHALLENGE:
{
if (challengeOK)
{
WorldPacket data(CMSG_AUTH_SESSION);
data << username;
data << password;
SendPacket(data);
}
else
cout << "[System]: Client not prepared!" << endl;
break;
}
case SMSG_AUTH_RESPONSE:
{
string msg;
data >> authed;
data >> msg;
cout << "[System]: " << msg << endl;
WorldPacket sData;
if (!authed)
{
cin >> username >> password;
sData.Initialize(CMSG_AUTH_SESSION);
sData << username;
sData << password;
SendPacket(sData);
}
else
{
sData.Initialize(CMSG_ENUM_CHARACTERS);
sData << uint8(0);
SendPacket(sData);
}
break;
}
case SMSG_HELLO:
{
uint32 onLinePlayer;
string msg;
data >> accountID;
data >> onLinePlayer;
data >> msg;
cout << "[System]: " << "AccountID: " << accountID << ", Name: " << player.name << ", Online Players: " << onLinePlayer << "\n[System]: " << msg << endl;
break;
}
case SMSG_ENUM_CHARACTERS:
{
data >> player.name
>> player.guid
>> player.id
>> player.level
>> player.race
>> player.classs
>> player.health
>> player.mana
>> player.speed;
uint32 id;
//.........这里部分代码省略.........