Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Список серверных пакетов [PB]
#1
Всем привет,

Кто решился написать или уже пишет сервер для Point Blank или Project Blackout
Вот список серверных пакетов и опкоды к ним.

Код:
PROTOCOL_AUTH_GET_POINT_CASH_ACK //545
PROTOCOL_BASE_USER_TITLE_INFO_ACK //2626
PROTOCOL_SERVER_MESSAGE_CONNECTIONSUCCESS //2049
PROTOCOL_SERVER_MESSAGE_ERROR //2054
PROTOCOL_BASE_LOGIN_ACK //2564
PROTOCOL_BASE_GET_MEDALSYSTEM_ACK //2588
PROTOCOL_BASE_ENTER_CHANNELSELECT_ACK //2570
PROTOCOL_BASE_GET_MYINFO_ACK //2566
PROTOCOL_BASE_GET_CHANNELLIST_ACK //2572
PROTOCOL_BASE_SELECT_CHANNEL_ACK //2574
PROTOCOL_BASE_GET_RECORD_INFO_DB_ACK //2592
PROTOCOL_LOBBY_ENTER_ACK //3080
PROTOCOL_LOBBY_LEAVE_ACK //3084
PROTOCOL_LOBBY_GET_ROOMLIST_ACK //3074
PROTOCOL_LOBBY_GET_ROOMINFO_ACK //3076
PROTOCOL_LOBBY_QUICKJOIN_ROOM_ACK //3078
PROTOCOL_LOBBY_CREATE_ROOM_ACK //3090
PROTOCOL_LOBBY_JOIN_ROOM_ACK //3082
PROTOCOL_LOBBY_CREATE_NICK_NAME_ACK //3102
PROTOCOL_BASE_GET_EQUIPMENT_INFO_ACK //2586
PROTOCOL_INVENTORY_GET_INFO_ACK //3588
PROTOCOL_ROOM_GET_SLOTINFO_ACK //3861
PROTOCOL_ROOM_GET_PLAYERINFO_ACK //3842
PROTOCOL_ROOM_CHANGE_ROOMINFO_ACK //3848
PROTOCOL_ROOM_GET_NICKNAME_ACK //3844
PROTOCOL_ROOM_CHANGE_PASSWD_ACK //3907
PROTOCOL_ROOM_CHANGE_SLOT_ACK //3850
PROTOCOL_SERVER_MESSAGE_KICK_PLAYER //2051
PROTOCOL_INVENTORY_ENTER_ACK //3586
PROTOCOL_INVENTORY_LEAVE_ACK //3590
PROTOCOL_INVENTORY_DELET_ITEM_ACK //535
PROTOCOL_SHOP_ENTER_ACK //2820
PROTOCOL_SHOP_LEAVE_ACK //2818
PROTOCOL_AUTH_SHOP_GOODS_BUY_ACK //531
PROTOCOL_BATTLE_READYBATTLE_ACK //3426
PROTOCOL_ROOM_GET_LOBBY_USER_LIST_ACK //3855
PROTOCOL_SERVER_MESSAGE_INVITED //2053
PROTOCOL_SERVER_MESSAGE_FRIEND_INVITED //2056
PROTOCOL_SERVER_MESSAGE_ANNOUNCE //2055
PROTOCOL_BATTLE_PRESTARTBATTLE_ACK //3349
PROTOCOL_BATTLE_EQUIPMENT_INFO_ACK //3365
PROTOCOL_BATTLE_STARTBATTLE_ACK //3334
PROTOCOL_BATTLE_GIVEUPBATTLE_ACK //3385
PROTOCOL_BATTLE_RESPAWN_ACK //3338
PROTOCOL_BATTLE_RESPAWN_FOR_AI_ACK //3379
PROTOCOL_BATTLE_DEATH_ACK //3355
PROTOCOL_BATTLE_ENDBATTLE_ACK //3336
PROTOCOL_SERVER_MESSAGE_DISCONNECTIONSUCCESS //2050
PROTOCOL_SERVER_MESSAGE_GAMEGUARD_ERROR //2059
PROTOCOL_ROOM_CHANGE_TEAM_ACK //3846
PROTOCOL_ROOM_CHATTING_ACK //3851
PROTOCOL_BATTLE_LEAVEP2PSERVER_ACK //3347
PROTOCOL_BATTLE_HOLE_CHECK_ACK //3330
PROTOCOL_BATTLE_TIMEOUTCLIENT_ACK //3342
PROTOCOL_BATTLE_SENDPING_ACK //3345
PROTOCOL_BATTLE_MISSION_ROUND_START_ACK //3371
PROTOCOL_BATTLE_MISSION_ROUND_END_ACK //3353
PROTOCOL_BATTLE_MISSION_BOMB_INSTALL_ACK //3357
PROTOCOL_BATTLE_MISSION_BOMB_UNINSTALL_ACK //3359
PROTOCOL_BATTLE_TIMERSYNC_ACK //3373
PROTOCOL_SERVER_MESSAGE_KICK_BATTLE_PLAYER //2052
PROTOCOL_BASE_USER_LEAVE_ACK //2578
PROTOCOL_BASE_USER_ENTER_ACK //2580
PROTOCOL_AUTH_ACCOUNT_KICK_ACK //513
PROTOCOL_PUSH_ITEM_ACK //514
PROTOCOL_JOIN_GAME_ACK // 515
PROTOCOL_PUSH_PRESENT_ITEM_ACK //516
PROTOCOL_ALARM_COIN_ACK //517
PROTOCOL_BASE_GAMEGUARD_REQ //2583
PROTOCOL_BATTLE_RECORD_ACK //3363
PROTOCOL_LOBBY_GET_ROOMINFOADD_ACK //3088
PROTOCOL_LOBBY_CREATE_TRAINING_ACK //3092
PROTOCOL_ROOM_CHANGE_ROOM_OPTIONINFO_ACK //3859
PROTOCOL_CS_CLAN_LOGIN_ACK //1283
PROTOCOL_CS_CLAN_LOGOUT_ACK //1285
PROTOCOL_CS_CREATE_CLAN_ACK //1311
PROTOCOL_CS_CLAN_CONTEXT_ACK //1299
PROTOCOL_CS_CLAN_LIST_STREAM_ACK //1301
PROTOCOL_CS_JOIN_REQUEST_ACK //1317
PROTOCOL_CS_CANCEL_REQUEST_ACK //1319
PROTOCOL_CS_DETAIL_INFO_ACK //1305
PROTOCOL_CS_MEMBER_CONTEXT_ACK //2612
PROTOCOL_CS_MEMBER_LIST_ACK //1309
PROTOCOL_CS_REQUEST_CONTEXT_ACK //1321
PROTOCOL_CS_REQUEST_LIST_ACK //1323
PROTOCOL_CS_REQUEST_INFO_ACK //1325
PROTOCOL_CS_ACCEPT_REQUEST_ACK //1327
PROTOCOL_CS_DENIAL_REQUEST_ACK //1330
PROTOCOL_CS_CLIENT_ENTER_ACK //1442
PROTOCOL_CS_CLIENT_LEAVE_ACK //1444
PROTOCOL_CS_CLIENT_CLAN_LIST_ACK //1446
PROTOCOL_CS_CLIENT_CHECK_DUPLICATE_ACK //1448
PROTOCOL_AUTH_FRIEND_INFO_ACK //274
PROTOCOL_AUTH_FRIEND_INVITED_ACK //276
PROTOCOL_AUTH_FRIEND_INVITED_REQUEST_ACK //277
PROTOCOL_AUTH_FRIEND_INFO_CHANGE_ACK //279
PROTOCOL_AUTH_FRIEND_ACCEPT_ACK //281
PROTOCOL_AUTH_FRIEND_INSERT_ACK //283
PROTOCOL_AUTH_FRIEND_DELETE_ACK //285
PROTOCOL_AUTH_FRIEND_ROOM_ENTER_ACK //287
PROTOCOL_AUTH_FRIEND_ROOM_LEAVE_ACK //289
PROTOCOL_AUTH_SEND_WHISPER_ACK //291
PROTOCOL_AUTH_RECV_WHISPER_ACK //294
PROTOCOL_AUTH_FIND_USER_ACK //298
PROTOCOL_BASE_QUEST_GET_ACK //2594
PROTOCOL_BASE_QUEST_GET_INFO_ACK //2596
PROTOCOL_BASE_QUEST_CHANGE_ACK //2600
PROTOCOL_BASE_QUEST_ACTIVE_IDX_CHANGE_ACK //2602
PROTOCOL_BASE_MEDAL_GET_INFO_ACK //2604
PROTOCOL_BASE_QUEST_GET_ITEM_ACK //2598
PROTOCOL_BASE_QUEST_BUY_CARD_SET_ACK //2606
PROTOCOL_BASE_QUEST_DELETE_CARD_SET_ACK //2608
PROTOCOL_ROOM_INFO_ENTER_ACK //3863
PROTOCOL_ROOM_INFO_LEAVE_ACK //3865
PROTOCOL_SERVER_MESSAGE_CHANGE_INVENTORY //2058
PROTOCOL_BATTLE_MISSION_GENERATOR_INFO_ACK //3369
PROTOCOL_BATTLE_MISSION_DEFENCE_INFO_ACK //3387
PROTOCOL_CS_MEMBER_INFO_CHANGE_ACK //1355
PROTOCOL_MESSENGER_NOTE_LIST_ACK //421
PROTOCOL_MESSENGER_NOTE_CHECK_READED_ACK //423
PROTOCOL_MESSENGER_NOTE_DELETE_ACK //425
PROTOCOL_MESSENGER_NOTE_RECEIVE_ACK //427
PROTOCOL_ROOM_UNREADY_4VS4_ACK //3879
PROTOCOL_LOBBY_CHATTING_ACK //3093
PROTOCOL_AUTH_SHOP_AUTH_GIFT_ACK //541
PROTOCOL_AUTH_GET_REMAIN_MONEY_ACK //304
PROTOCOL_CS_MATCH_ALL_TEAM_LIST_ACK //1545
PROTOCOL_MESSENGER_NOTE_SEND_ACK //418
PROTOCOL_BATTLE_MISSION_ROUND_PRE_START_ACK //3351
PROTOCOL_BATTLE_MISSION_TUTORIAL_ROUND_END_ACK //3395
PROTOCOL_BATTLE_SUGGEST_KICKVOTE_ACK //3397
PROTOCOL_CS_MATCH_ROOM_CREATE_GS_REQ //1564

Код:
Версия клиента 1.15.36.20


Код:
По многочисленным просьбам,
Версия клиента 2010г.

Код:
PROTOCOL_BASE_USER_TITLE_INFO_ACK //2668
PROTOCOL_SERVER_MESSAGE_CONNECTIONSUCCESS //2049
PROTOCOL_SERVER_MESSAGE_ERROR //2054
PROTOCOL_BASE_LOGIN_ACK //2564
PROTOCOL_BASE_GET_MEDALSYSTEM_ACK //2588
PROTOCOL_BASE_ENTER_CHANNELSELECT_ACK //2570
PROTOCOL_BASE_GET_MYINFO_ACK //2566
PROTOCOL_BASE_GET_CHANNELLIST_ACK //2572
PROTOCOL_BASE_SELECT_CHANNEL_ACK //2574
PROTOCOL_BASE_GET_RECORD_INFO_DB_ACK //2592
PROTOCOL_LOBBY_ENTER_ACK //2818
PROTOCOL_LOBBY_LEAVE_ACK //2830
PROTOCOL_LOBBY_GET_ROOMLIST_ACK //2820
PROTOCOL_LOBBY_GET_ROOMINFO_ACK //2822
PROTOCOL_LOBBY_QUICKJOIN_ROOM_ACK //2824
PROTOCOL_LOBBY_CREATE_ROOM_ACK //2826
PROTOCOL_LOBBY_JOIN_ROOM_ACK //2828
PROTOCOL_LOBBY_CREATE_NICK_NAME_ACK //2832
PROTOCOL_BASE_GET_EQUIPMENT_INFO_ACK //2586
PROTOCOL_INVENTORY_GET_INFO_ACK //3078
PROTOCOL_ROOM_GET_SLOTINFO_ACK //3586
PROTOCOL_ROOM_GET_PLAYERINFO_ACK //3588
PROTOCOL_ROOM_CHANGE_ROOMINFO_ACK //3592
PROTOCOL_ROOM_GET_NICKNAME_ACK //3590
PROTOCOL_ROOM_CHANGE_PASSWD_ACK //3594
PROTOCOL_ROOM_CHANGE_SLOT_ACK //3596
PROTOCOL_SERVER_MESSAGE_KICK_PLAYER //2051
PROTOCOL_INVENTORY_ENTER_ACK //3074
PROTOCOL_INVENTORY_LEAVE_ACK //3076
PROTOCOL_SHOP_ENTER_ACK //3330
PROTOCOL_SHOP_LEAVE_ACK //3332
PROTOCOL_AUTH_SHOP_GOODS_BUY_ACK //531
PROTOCOL_BATTLE_READYBATTLE_ACK //3844
PROTOCOL_ROOM_GET_LOBBY_USER_LIST_ACK //3603
PROTOCOL_SERVER_MESSAGE_INVITED //2053
PROTOCOL_SERVER_MESSAGE_FRIEND_INVITED //2056
PROTOCOL_SERVER_MESSAGE_ANNOUNCE //2055
PROTOCOL_BATTLE_PRESTARTBATTLE_ACK //3846
PROTOCOL_BATTLE_EQUIPMENT_INFO_ACK //3879
PROTOCOL_BATTLE_STARTBATTLE_ACK //3848
PROTOCOL_BATTLE_GIVEUPBATTLE_ACK //3850
PROTOCOL_BATTLE_RESPAWN_ACK //3856
PROTOCOL_BATTLE_DEATH_ACK //3854
PROTOCOL_BATTLE_ENDBATTLE_ACK //3852
PROTOCOL_SERVER_MESSAGE_DISCONNECTIONSUCCESS //2050
PROTOCOL_SERVER_MESSAGE_GAMEGUARD_ERROR //2059
PROTOCOL_ROOM_CHANGE_TEAM_ACK //3601
PROTOCOL_ROOM_CHATTING_ACK //3597
PROTOCOL_BATTLE_LEAVEP2PSERVER_ACK //3863
PROTOCOL_BATTLE_HOLE_CHECK_ACK //3842
PROTOCOL_BATTLE_TIMEOUTCLIENT_ACK //3858
PROTOCOL_BATTLE_SENDPING_ACK //3861
PROTOCOL_BATTLE_MISSION_ROUND_START_ACK //3867
PROTOCOL_BATTLE_MISSION_ROUND_END_ACK //3869
PROTOCOL_BATTLE_MISSION_BOMB_INSTALL_ACK //3871
PROTOCOL_BATTLE_MISSION_BOMB_UNINSTALL_ACK //3873
PROTOCOL_BATTLE_TIMERSYNC_ACK //3885
PROTOCOL_SERVER_MESSAGE_KICK_BATTLE_PLAYER //2052
PROTOCOL_BASE_USER_LEAVE_ACK //2578
PROTOCOL_BASE_USER_ENTER_ACK //2580
PROTOCOL_AUTH_ACCOUNT_KICK_ACK //513
PROTOCOL_PUSH_ITEM_ACK //514
PROTOCOL_JOIN_GAME_ACK //515
PROTOCOL_PUSH_PRESENT_ITEM_ACK //516
PROTOCOL_ALARM_COIN_ACK //517
PROTOCOL_BASE_GAMEGUARD_REQ //2583
PROTOCOL_BATTLE_RECORD_ACK //3877
PROTOCOL_LOBBY_GET_ROOMINFOADD_ACK //2836
PROTOCOL_LOBBY_CREATE_TRAINING_ACK //2838
PROTOCOL_ROOM_CHANGE_ROOM_OPTIONINFO_ACK //3609
PROTOCOL_CS_CLAN_LOGIN_ACK //1283
PROTOCOL_CS_CLAN_LOGOUT_ACK //1285
PROTOCOL_CS_CREATE_CLAN_ACK //1311
PROTOCOL_CS_CLAN_CONTEXT_ACK //1299
PROTOCOL_CS_CLAN_LIST_STREAM_ACK //1301
PROTOCOL_CS_JOIN_REQUEST_ACK //1317
PROTOCOL_CS_CANCEL_REQUEST_ACK //1319
PROTOCOL_CS_DETAIL_INFO_ACK //1305
PROTOCOL_CS_MEMBER_CONTEXT_ACK //1307
PROTOCOL_CS_MEMBER_LIST_ACK //1309
PROTOCOL_CS_REQUEST_CONTEXT_ACK //1321
PROTOCOL_CS_REQUEST_LIST_ACK //1323
PROTOCOL_CS_REQUEST_INFO_ACK //1325
PROTOCOL_CS_ACCEPT_REQUEST_ACK //1327
PROTOCOL_CS_DENIAL_REQUEST_ACK //1330
PROTOCOL_CS_CLIENT_ENTER_ACK //1442
PROTOCOL_CS_CLIENT_LEAVE_ACK //1444
PROTOCOL_CS_CLIENT_CLAN_LIST_ACK //1446
PROTOCOL_CS_CLIENT_CHECK_DUPLICATE_ACK //1448
PROTOCOL_AUTH_FRIEND_INFO_ACK //274
PROTOCOL_AUTH_FRIEND_INVITED_ACK //276
PROTOCOL_AUTH_FRIEND_INVITED_REQUEST_ACK //277
PROTOCOL_AUTH_FRIEND_INFO_CHANGE_ACK //279
PROTOCOL_AUTH_FRIEND_ACCEPT_ACK //281
PROTOCOL_AUTH_FRIEND_INSERT_ACK //283
PROTOCOL_AUTH_FRIEND_DELETE_ACK //285
PROTOCOL_AUTH_FRIEND_ROOM_ENTER_ACK //287
PROTOCOL_AUTH_FRIEND_ROOM_LEAVE_ACK //289
PROTOCOL_AUTH_SEND_WHISPER_ACK //291
PROTOCOL_AUTH_RECV_WHISPER_ACK //294
PROTOCOL_AUTH_FIND_USER_ACK //298
PROTOCOL_BASE_QUEST_GET_ACK //2594
PROTOCOL_BASE_QUEST_GET_INFO_ACK //2596
PROTOCOL_BASE_QUEST_BUY_ACK //2600
PROTOCOL_BASE_QUEST_CHANGE_ACK //2602
PROTOCOL_BASE_QUEST_DELETE_ACK //2604
PROTOCOL_BASE_QUEST_ACTIVE_IDX_CHANGE_ACK //2606
PROTOCOL_BASE_MEDAL_GET_INFO_ACK //2608
PROTOCOL_BASE_QUEST_GET_ITEM_ACK //2598
PROTOCOL_BASE_QUEST_BUY_ONE_CARD_ACK //2610
PROTOCOL_BASE_QUEST_BUY_CARD_SET_ACK //2612
PROTOCOL_BASE_QUEST_DELETE_CARD_SET_ACK //2614
PROTOCOL_ROOM_INFO_ENTER_ACK //3611
PROTOCOL_ROOM_INFO_LEAVE_ACK //3613
PROTOCOL_SERVER_MESSAGE_CHANGE_INVENTORY //2058
PROTOCOL_BATTLE_MISSION_GENERATOR_INFO_ACK //3883
PROTOCOL_BATTLE_MISSION_DEFENCE_INFO_ACK //3899
PROTOCOL_CS_MEMBER_INFO_CHANGE_ACK //1355
PROTOCOL_MESSENGER_NOTE_LIST_ACK //421
PROTOCOL_MESSENGER_NOTE_CHECK_READED_ACK //423
PROTOCOL_MESSENGER_NOTE_DELETE_ACK //425
PROTOCOL_MESSENGER_NOTE_RECEIVE_ACK //427
PROTOCOL_ROOM_UNREADY_4VS4_ACK //3627
PROTOCOL_LOBBY_CHATTING_ACK //2839
PROTOCOL_AUTH_SHOP_CHECK_GIFT_ACK //541
PROTOCOL_AUTH_GET_REMAIN_MONEY_ACK //304
PROTOCOL_CS_MATCH_ALL_TEAM_LIST_ACK //1545
PROTOCOL_MESSENGER_NOTE_SEND_ACK //418
PROTOCOL_BATTLE_MISSION_ROUND_PRE_START_ACK //3865
Ответ
#2
Awiion
Подскажите структуру пакета
PROTOCOL_ROOM_GET_SLOTINFO_ACK
PROTOCOL_BATTLE_READYBATTLE_ACK
Ответ
#3
PROTOCOL_ROOM_GET_SLOTINFO_ACK
PROTOCOL_BATTLE_READYBATTLE_ACK:

Код:
case 0xD62u:
      sub_4BEC00(SLODWORD(dword_BA5AB8), (int)&v245);
      i3NetworkPacket::ReadData(a1, &v246, 4);
      i3NetworkPacket::ReadData(a1, &v250, 1);
      for ( i = 0; i < v250; ++i )
      {
        i3NetworkPacket::ReadData(a1, &v244, 1);
        v77 = v244;
        v78 = dword_BA5AB8;
        if ( (signed int)v244 >= 16 )
        {
          i3Error::SetEnv(0, 986, "struct _NetCharaInfo *__thiscall CGameContext::setNetCharaInfo(int)", 0);
          i3Error::Log("Asserted : %s");
        }
        v242 = LODWORD(v78) + 344 * v77 + 163564;
        i3NetworkPacket::ReadData(a1, LODWORD(v78) + 344 * v77 + 163564, 20);
        i3NetworkPacket::ReadData(a1, v248, 24);
        i3NetworkPacket::ReadData(a1, v249, 3);
        for ( j = 0; j < 6; ++j )
          *(_DWORD *)(v242 + 4 * j + 308) = v248[j];
        for ( k = 0; k < 3; ++k )
          *(_BYTE *)(v242 + (unsigned __int8)k + 338) = v249[k];
        if ( v244 == *(_DWORD *)(LODWORD(dword_BA5AB8) + 170140) )
          sub_4BF3B0(SLODWORD(dword_BA5AB8), v242);
      }
      sub_4BEC40(LODWORD(dword_BA5AB8), &v245);
      sub_44C0A0(SLODWORD(dword_BA5AB8), 137, 0, 0);
      return;
Ответ
#4
Awiion
Подскажите структуру пакета
PROTOCOL_BATTLE_MISSION_ROUND_PRE_START_ACK //3351
Ответ
#5
slawa560,
Код:
short  // Маска готов.
              byte   // Инк
              byte   // Дино
              long   // Инк
              byte   // Инк
Ответ
#6
Awiion, насколько я помню, первый байт - это слот игрока, который играет за TRex, потом команда играющая за дино, а вот последние 9 байт, я не разобрал, клиент их перебирает в цикле.
Ответ
#7
Awiion,Programmator
How server login lengh fix Bad Symbol for TH
http://i.hizliresim.com/db0qrr.jpg
http://i.hizliresim.com/5V2R0l.jpg
Ответ
#8
Awiion Написал:Всем привет,

Кто решился написать или уже пишет сервер для Point Blank или Project Blackout
Вот список серверных пакетов и опкоды к ним.

Код:
PROTOCOL_BATTLE_STARTBATTLE_ACK //3334


This packet i didn't find Char Red, Char blue..... items...

Please Help!!!
Код:
[SM]received data size: 218
[SM]received size: 11
[SM]received opcode: 3334
00000000   0B 00 06 0D 01 00 00 00  0E 00 00 00 01 FF FF 07   ·············ÿÿ·
00000010   00 2B 0D 01 FA 00 00 00  01 88 48 00 23 0D 4D 00   ·+··ú····ˆH·#·M·
00000020   4A 00 48 00 4D 00 10 00  07 00 0A 00 0D 00 09 00   J·H·M···········
00000030   0A 00 11 00 0B 00 04 00  0C 00 09 00 0B 00 11 00   ················
00000040   0E 00 05 00 06 00 05 00  07 00 02 00 06 00 06 00   ················
00000050   08 00 0B 00 0D 00 12 00  0B 00 0A 00 09 00 00 00   ················
00000060   00 00 08 00 08 00 70 00  1B 0D 00 01 0D BC EC F5   ······p······¼ìõ
00000070   05 00 60 9C 41 00 40 70  3F 00 20 6A C1 FF 04 14   ··`œA·@p?· jÁÿ··
00000080   00 00 00 00 60 A0 41 00  40 70 3F 00 C0 75 C1 4D   ····`-A·@p?·ÀuÁM
00000090   00 4B 00 49 00 4D 00 10  00 07 00 0A 00 0D 00 09   ·K·I·M··········
000000A0   00 0A 00 11 00 0B 00 04  00 0D 00 09 00 0B 00 11   ················
000000B0   00 0E 00 05 00 06 00 05  00 07 00 02 00 06 00 06   ················
000000C0   00 08 00 0B 00 0D 00 12  00 0B 00 0B 00 09 00 00   ················
000000D0   00 00 00 08 00 08 00 00  00 00

Код:
internal class SM_BATTLE_STARTBATTLE : SendBaseGamePacket
    {
        private Account _player;

        private Room _room;

        public SM_BATTLE_STARTBATTLE(Account p)
        {
            makeme();
            _player = p;
            _room = p.getRoom();
        }

        protected internal override void write()
        {
            writeH(3334);
            writeD(_room.isBattleInt());
            writeD(_player.getSlot());
            writeD(_player.char_red);
            writeD(_player.char_blue);
            writeD(_player.char_helmet);
            writeD(_player.char_dino);
            writeD(_player.char_beret);
            writeC(0);
            writeC(0);
            writeC(0);
            writeC(1);



Код:
[SM]received data size: 218
[SM]received size: 11
[SM]received opcode: 3334
   0B 00
   06 0D //OPCODE
   01 00 00 00 // ROOM_STATE_COUNTDOWN
   0E 00 00 00 // SLOT
   01 FF FF 07 //???
   00 //??
   2B 0D 01 FA //??
   00 00 00 01
   88 48 00 23 0D 4D 00  
   4A 00 48 00 4D 00 10 00 07 00 0A 00 0D 00 09 00  
   0A 00 11 00 0B 00 04 00 0C 00 09 00 0B 00 11 00  
   0E 00 05 00 06 00 05 00 07 00 02 00 06 00 06 00  
   08 00 0B 00 0D 00 12 00 0B 00 0A 00 09 00 00 00  
   00 00 08 00 08 00 70 00 1B 0D 00 01 0D BC EC F5  
   05 00 60 9C 41 00 40 70 3F 00 20 6A C1 FF 04 14  
   00 00 00 00 60 A0 41 00 40 70 3F 00 C0 75 C1 4D  
   00 4B 00 49 00 4D 00 10 00 07 00 0A 00 0D 00 09  
   00 0A 00 11 00 0B 00 04 00 0D 00 09 00 0B 00 11  
   00 0E 00 05 00 06 00 05 00 07 00 02 00 06 00 06  
   00 08 00 0B 00 0D 00 12 00 0B 00 0B 00 09 00 00  
   00 00 00 08 00 08 00 00 00 00
Ответ
#9
zOne62,

Код:
case 0xD06u:
      sub_57B8C0(
        (int)"E:\\PB_Backup_All\\2012_12_20\\PointBlank\\Source_New\\ClientSource\\Source\\Network\\ClientTCPSocket.cpp",
        6864,
        "* START BATTLE\r\n");
      i3NetworkPacket::ReadData(a1, &v216, 4);
      i3NetworkPacket::ReadData(a1, &v215, 4);
      sub_580660("PROTOCOL_BATTLE_STARTBATTLE_ACK %d", v215);
      if ( v216 )
      {
        if ( (unsigned int)v215 >= 0x10 )
        {
          _snprintf(&v191, 0x100u, "PROTOCOL_BATTLE_STARTBATTLE_ACK - SLOT ERROR SLOT = %d \n", v215);
          sub_57B8C0(
            (int)"E:\\PB_Backup_All\\2012_12_20\\PointBlank\\Source_New\\ClientSource\\Source\\Network\\ClientTCPSocket.cpp",
            6996,
            &v191);
          return;
        }
        i3NetworkPacket::ReadData(a1, &v212, 1);
        i3NetworkPacket::ReadData(a1, &v210, 2);
        *(_WORD *)(LODWORD(dword_BA5AB8) + 278348) = v210;
        if ( *(_DWORD *)(LODWORD(dword_BA5AB8) + 170140) == v215 )
          *(_BYTE *)(LODWORD(dword_BA5AB8) + 243518) = v212;
        v5 = sub_4BEE50(SLODWORD(dword_BA5AB8));
        if ( sub_584490(v5) != 2 && (v6 = sub_4BEE50(SLODWORD(dword_BA5AB8)), sub_584490(v6) != 4) )
        {
          v7 = sub_4BEE50(SLODWORD(dword_BA5AB8));
          if ( sub_584490(v7) == 7 )
          {
            v208 = 0;
            i3NetworkPacket::ReadData(a1, &v205, 2);
            *(_WORD *)(LODWORD(dword_BA5AB8) + 243768) = v205;
            i3NetworkPacket::ReadData(a1, &v205, 2);
            *(_WORD *)(LODWORD(dword_BA5AB8) + 243782) = v205;
            i3NetworkPacket::ReadData(a1, &v206, 1);
            *(_BYTE *)(LODWORD(dword_BA5AB8) + 243704) = v206;
            i3NetworkPacket::ReadData(a1, LODWORD(dword_BA5AB8) + 243516, 2);
            i3NetworkPacket::ReadData(a1, LODWORD(dword_BA5AB8) + 247388, 10);
            i3NetworkPacket::ReadData(a1, &v208, 1);
            v207 = LODWORD(dword_BA5AB8) + 243516;
            *(_WORD *)(LODWORD(dword_BA5AB8) + 243516) = -1;
          }
          else
          {
            v8 = sub_4BEE50(SLODWORD(dword_BA5AB8));
            if ( sub_584490(v8) == 3 )
            {
              i3NetworkPacket::ReadData(a1, &v203, 2);
              *(_WORD *)(LODWORD(dword_BA5AB8) + 243700) = v203;
              i3NetworkPacket::ReadData(a1, &v203, 2);
              *(_WORD *)(LODWORD(dword_BA5AB8) + 243702) = v203;
              i3NetworkPacket::ReadData(a1, &v201, 36);
              v202 = *(_DWORD *)(LODWORD(dword_BA5AB8) + 243792);
              if ( v202 )
                sub_4A7500(v202, (int)&v201);
              v204 = LODWORD(dword_BA5AB8) + 243516;
              *(_WORD *)(LODWORD(dword_BA5AB8) + 243516) = -1;
            }
            else
            {
              v9 = sub_4BEE50(SLODWORD(dword_BA5AB8));
              if ( sub_584490(v9) == 5 )
              {
                i3NetworkPacket::ReadData(a1, &v199, 2);
                *(_WORD *)(LODWORD(dword_BA5AB8) + 243700) = v199;
                i3NetworkPacket::ReadData(a1, &v199, 2);
                *(_WORD *)(LODWORD(dword_BA5AB8) + 243702) = v199;
                i3NetworkPacket::ReadData(a1, &v198, 68);
                if ( *(_DWORD *)(LODWORD(dword_BA5AB8) + 170140) == v215 )
                  sub_4A89B0(*(void **)(LODWORD(dword_BA5AB8) + 243792), &v198);
                else
                  sub_4A8CD0(*(void **)(LODWORD(dword_BA5AB8) + 243792), &v198, v215);
                v200 = LODWORD(dword_BA5AB8) + 243516;
                *(_WORD *)(LODWORD(dword_BA5AB8) + 243516) = -1;
              }
              else
              {
                v10 = sub_4BEE50(SLODWORD(dword_BA5AB8));
                if ( sub_584490(v10) == 12 )
                {
                  v197 = 0;
                  i3NetworkPacket::ReadData(a1, &v194, 2);
                  *(_WORD *)(LODWORD(dword_BA5AB8) + 243700) = v194;
                  i3NetworkPacket::ReadData(a1, &v194, 2);
                  *(_WORD *)(LODWORD(dword_BA5AB8) + 243702) = v194;
                  i3NetworkPacket::ReadData(a1, &v195, 1);
                  *(_BYTE *)(LODWORD(dword_BA5AB8) + 243704) = v195;
                  i3NetworkPacket::ReadData(a1, LODWORD(dword_BA5AB8) + 243516, 2);
                  i3NetworkPacket::ReadData(a1, LODWORD(dword_BA5AB8) + 247388, 10);
                  i3NetworkPacket::ReadData(a1, &v197, 1);
                  v196 = LODWORD(dword_BA5AB8) + 243516;
                  *(_WORD *)(LODWORD(dword_BA5AB8) + 243516) = -1;
                }
                else
                {
                  v193 = LODWORD(dword_BA5AB8) + 243516;
                  *(_WORD *)(LODWORD(dword_BA5AB8) + 243516) = -1;
                }
              }
            }
          }
        }
        else
        {
          i3NetworkPacket::ReadData(a1, &v209, 2);
          *(_WORD *)(LODWORD(dword_BA5AB8) + 243700) = v209;
          i3NetworkPacket::ReadData(a1, &v209, 2);
          *(_WORD *)(LODWORD(dword_BA5AB8) + 243702) = v209;
          i3NetworkPacket::ReadData(a1, LODWORD(dword_BA5AB8) + 243516, 2);
        }
        for ( mm = 0; mm < 16; ++mm )
        {
          v61 = dword_BA5AB8;
          if ( mm < 0 || mm >= 16 )
          {
            i3Error::SetEnv(0, 986, "struct _NetCharaInfo *__thiscall CGameContext::setNetCharaInfo(int)", 0);
            i3Error::Log("Asserted : %s");
          }
          *(_BYTE *)(LODWORD(v61) + 344 * mm + 163860) = 100;
        }
        if ( v212 )
          *(_DWORD *)(LODWORD(dword_BA5AB8) + 2348) |= 0x400u;
        else
          *(_DWORD *)(LODWORD(dword_BA5AB8) + 2348) &= 0xFFFFFBFFu;
        v214 = v215;
        v213 = sub_4BEE50(SLODWORD(dword_BA5AB8));
        v11 = sub_584410(v213);
        v12 = sub_584440(v213);
        v13 = sub_584490(v213);
        _snprintf(&Format, 0x100u, "START BATTLE STAGETYPE %d STAGESLOT %d STAGEORD %d ", v13, v12, v11);
        sub_57B8C0(
          (int)"E:\\PB_Backup_All\\2012_12_20\\PointBlank\\Source_New\\ClientSource\\Source\\Network\\ClientTCPSocket.cpp",
          6989,
          &Format);
      }
      else
      {
        v214 = -2147479530;
        i3Error::SetEnv(
          "E:\\PB_Backup_All\\2012_12_20\\PointBlank\\Source_New\\ClientSource\\Source\\Network\\ClientTCPSocket.cpp",
          7004,
          "void __thiscall ClientTCPSocket::_PacketParsingBattle(class i3NetworkPacket *)",
          0);
        i3Error::Log("[Error] StartBattle Fail. Please contact the server.\n");
      }
      sub_44C0A0(SLODWORD(dword_BA5AB8), 150, v214, 0);
      return;
Ответ
#10
А как был составлен этот список? Вручную сопоставлял или из бинаря вытащил?
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Список серверных пакетов PROGRAMMATOR 82 38,722 01-24-2020, 09:13 PM
Последний пост: Pyotr
  Структура, крипт и декрипт Tcp и Udp пакетов PROGRAMMATOR 22 16,491 11-28-2018, 03:59 AM
Последний пост: AngryKitten
  Список всех доступных карт PROGRAMMATOR 21 11,088 12-06-2016, 01:12 AM
Последний пост: Awiion
  Список умений \ Skills List PROGRAMMATOR 0 3,219 10-23-2016, 01:15 PM
Последний пост: PROGRAMMATOR
  Список предметов \ Item List PROGRAMMATOR 17 7,753 10-10-2016, 04:34 PM
Последний пост: bola
  Список рангов и наград за их получение PROGRAMMATOR 44 13,575 08-22-2016, 01:36 PM
Последний пост: Awiion

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)