当前位置: 首页>>代码示例>>C++>>正文


C++ WorldPacket::getMsgCode方法代码示例

本文整理汇总了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;
    }
}
开发者ID:gogo111007,项目名称:Server,代码行数:29,代码来源:WorldSocket.cpp

示例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());
}
开发者ID:gogo111007,项目名称:Server,代码行数:8,代码来源:WorldSession.cpp

示例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);
}
开发者ID:gogo111007,项目名称:Server,代码行数:12,代码来源:WorldSession.cpp

示例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);
}
开发者ID:gogo111007,项目名称:Server,代码行数:12,代码来源:WorldSession.cpp

示例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);
}
开发者ID:gogo111007,项目名称:Server,代码行数:12,代码来源:WorldSession.cpp

示例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);
}
开发者ID:gogo111007,项目名称:Server,代码行数:18,代码来源:WorldSession.cpp

示例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);
    }
}
开发者ID:gogo111007,项目名称:Server,代码行数:24,代码来源:WorldSession.cpp

示例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);
}
开发者ID:gogo111007,项目名称:Server,代码行数:36,代码来源:WorldSession.cpp

示例9: HandleTest

void WorldSession::HandleTest(WorldPacket &recvPacket)
{
    cout << "Handle " << LookupMsgCodeName(recvPacket.getMsgCode()) << ", size: " << recvPacket.Size() << endl;
}
开发者ID:gogo111007,项目名称:Server,代码行数:4,代码来源:WorldSession.cpp

示例10: HandleServerSide

void WorldSession::HandleServerSide(WorldPacket &recvPacket)
{
    cout << "ERROR: Handler ServerSide MsgCode " << recvPacket.getMsgCode() << "(" << LookupMsgCodeName(recvPacket.getMsgCode()) << ")" << endl;
}
开发者ID:gogo111007,项目名称:Server,代码行数:4,代码来源:WorldSession.cpp

示例11: HandleEarlyProccess

void WorldSession::HandleEarlyProccess(WorldPacket &recvPacket)
{
    cout << "ERROR: Handle EarlyProccess MsgCode " << recvPacket.getMsgCode() << "(" << LookupMsgCodeName(recvPacket.getMsgCode()) << ")" << endl;
}
开发者ID:gogo111007,项目名称:Server,代码行数:4,代码来源:WorldSession.cpp

示例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;
//.........这里部分代码省略.........
开发者ID:gogo111007,项目名称:Server,代码行数:101,代码来源:Client.cpp


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