Показать сообщение отдельно

  #1  
Старый 01.11.2024, 14:42
maksmanus228
Участник форума
Регистрация: 23.10.2020
Сообщений: 135
С нами: 2925217

Репутация: 83
По умолчанию

добрый день, у меня есть новая функция UpdateNetwork (пока что переписанная с idb сампа) и у меня крашит игра при попытке прописать packet->data

вот код

Код:

Код:
void __fastcall SSmpPackets::UpdateNetwork(CNetGame* game, void* edx)
{
    Packet* packet = nullptr;
    uint8_t* localdata = nullptr;
    uint8_t state {};
    for(packet = game->m_pRakClient->Receive(); packet; packet = game->m_pRakClient->Receive())
    {
        localdata = packet->data;
        
        if(*localdata == 40) state = localdata[5];
        switch(state)
        {   
            case 12:
                game->Packet_AuthKey(packet);
                break;
            case 29:
            {
                AddDebugMessage("The server didn't respond. Retrying..");
                game->m_nGameState = 1;
                break;
            }
            case 31:
            {
                AddDebugMessage("The server didn't respond. Retrying..");
                break;
            }
            case 32:
                game->Packet_DisconnectionNotification(packet);
                break;
            case 33:
                game->Packet_ConnectionLost(packet);
                break;
            case 34:
                game->Packet_ConnectionSucceeded(packet);
                break;
            case 35:
                AddDebugMessage("Failed to initialize encryption.");
                break;
            case 36:
                AddDebugMessage("You are banned from this server.");
                break;
            case 37:
            {
                AddDebugMessage("Wrong server password.");
                game->m_pRakClient->Disconnect(0, 0);
                break;
            }
            case 200:
                game->Packet_VehicleSync(packet);
                break;
            case 203:
                game->Packet_AimSync(packet);
                break;
            case 206:
                game->Packet_BulletSync(packet);
                break;
            case 207:
                game->Packet_PlayerSync(packet);
                break;
            case 208:
                game->Packet_MarkersSync(packet);
                break;
            case 209:
                game->Packet_UnoccupiedSync(packet);
                break;
            case 210:
                game->Packet_TrailerSync(packet);
                break;
            case 211:
                game->Packet_PassengerSync(packet);
                break;
            default: break;
        }
        game->m_pRakClient->DeallocatePacket(packet);
    }
}



В чем может быть дело? структура Packet взяты из этого репозитория:


рак нет для сампа

и еще: работает ли правильно структура Packet2 от этого же репозитория
 
Ответить с цитированием