HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 24.03.2016, 17:08
Gabriel__
Постоянный
Регистрация: 23.06.2015
Сообщений: 411
С нами: 5731627

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

Хук который будет ловить исходящие пакеты. В Switch'е он будет создавать объект нужной структуры stOnFootData, stInCarData. И слудующий код будет ставить им значения скорости например. А то без этого пулучится такая хрень типо для каждой структуры будет такая хрень.

Код:





Код:
switch (params->packetId)
    {
    case PacketEnumeration::ID_PLAYER_SYNC:
        stOnFootData data; // определяем объект в который сохраним отправляемые данные
        memset(&data, 0, sizeof(stOnFootData)); // обнуляем
        byte packet;
        params->bitStream->ResetReadPointer(); // на всякий случай устанавливаем оффсет чтения на начало
        params->bitStream->Read(packet); // читаем ID пакета
        params->bitStream->Read((PCHAR)&data, sizeof(stOnFootData)); // читаем отправляемые данные
        params->bitStream->ResetReadPointer(); // снова обнуляем оффсет чтения
        data.byteCurrentWeapon = 0;
        params->bitStream->ResetWritePointer(); // обнуляем оффсет записи
        params->bitStream->Write(packet); // пишем ид пакета
        params->bitStream->Write((PCHAR)&data, sizeof(stOnFootData)); // пишем обновленные данные  
        break;
    case PacketEnumeration::ID_VEHICLE_SYNC:
        stInCarData data; // определяем объект в который сохраним отправляемые данные
        memset(&data, 0, sizeof(stInCarData)); // обнуляем
        byte packet;
        params->bitStream->ResetReadPointer(); // на всякий случай устанавливаем оффсет чтения на начало
        params->bitStream->Read(packet); // читаем ID пакета
        params->bitStream->Read((PCHAR)&data, sizeof(stInCarData)); // читаем отправляемые данные
        params->bitStream->ResetReadPointer(); // снова обнуляем оффсет чтения
        data.byteCurrentWeapon = 0;
        params->bitStream->ResetWritePointer(); // обнуляем оффсет записи
        params->bitStream->Write(packet); // пишем ид пакета
        params->bitStream->Write((PCHAR)&data, sizeof(stInCarData)); // пишем обновленные данные  
        break;
    case PacketEnumeration::ID_PASSENGER_SYNC:
        stPassengerData data; // определяем объект в который сохраним отправляемые данные
        memset(&data, 0, sizeof(stPassengerData)); // обнуляем
        byte packet;
        params->bitStream->ResetReadPointer(); // на всякий случай устанавливаем оффсет чтения на начало
        params->bitStream->Read(packet); // читаем ID пакета
        params->bitStream->Read((PCHAR)&data, sizeof(stPassengerData)); // читаем отправляемые данные
        params->bitStream->ResetReadPointer(); // снова обнуляем оффсет чтения
        data.byteCurrentWeapon = 0;
        params->bitStream->ResetWritePointer(); // обнуляем оффсет записи
        params->bitStream->Write(packet); // пишем ид пакета
        params->bitStream->Write((PCHAR)&data, sizeof(stPassengerData)); // пишем обновленные данные  
        break;
    default:
    }
    return true;

};
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.