Гайд Самый подробный гайд для фикса крейтмува на симпл базу

Сделал для чайников :roflanPominki:

Итак приступим.
1) Нам нужно зайти в hooks.hpp и заменить индекс крейтмува с 24 на 22
2) создаем в namespace Hooks после hkFrameStageNotify (на самом то деле не важно, просто так удобнее)
C++:
Expand Collapse Copy
void __fastcall hkCreateMove_Proxy(void* _this, int, int sequence_number, float input_sample_frametime, bool active);
3) Можно будет закоментить void __stdcall hkCreateMove. Он нам дальше не потребуется
4) Заходим в hooks.cpp и находим в namespace Hooks
void Initialize( ) и создаем там ( Если есть то пропускаем данный пункт )
C++:
Expand Collapse Copy
hlclient_hook.setup(g_CHLClient);
5) Листаем чуть ниже и видим
C++:
Expand Collapse Copy
hlclient_hook.hook_index( index::FrameStageNotify, hkFrameStageNotify);
6) Ниже него должен хукаться крейтмув
Мы заменяем полностью строку на
C++:
Expand Collapse Copy
hlclient_hook.hook_index( index::CreateMove, hkCreateMove_Proxy);
7) Листаем до hkCreateMove и изменяем первые строки на эти
Код:
Expand Collapse Copy
  void __stdcall hkCreateMove( int sequence_number, float input_sample_frametime, bool active, bool& bSendPacket ) {

      static auto oCreateMove = hlclient_hook.get_original<decltype(&hkCreateMove_Proxy)>(index::CreateMove);

      oCreateMove(g_CHLClient, 0, sequence_number, input_sample_frametime, active);

      auto cmd = g_Input->GetUserCmd(sequence_number);
      auto verified = g_Input->GetVerifiedCmd(sequence_number);

      if (!cmd || !cmd->command_number)
          return;

      CUserCmd* dddcmd = nullptr;
      dddcmd = cmd;
если у вас выдало ошибки после return, то просто коментим что после них идет в этой строке и добавляем после return точку с запятой ";"
7) Листаем в самый низ крейтмува и видим return false;
Мы его должны заменить на

Код:
Expand Collapse Copy
     verified->m_cmd = *cmd;
     verified->m_crc = cmd->GetChecksum();

8) После того как мы закончили с основным крейтмувом мы создаем функцию hkCreateMove_Proxy
Код:
Expand Collapse Copy
  __declspec(naked) void __fastcall hkCreateMove_Proxy(void* _this, int, int sequence_number, float input_sample_frametime, bool active)
  {
      __asm
      {
          push ebp
          mov  ebp, esp
          push ebx;
          push esp
          push dword ptr[active]
          push dword ptr[input_sample_frametime]
          push dword ptr[sequence_number]
          call hkCreateMove
          pop  ebx
          pop  ebp
          retn 0Ch
      }
  }

9) Если у вас выдало ошибки связанные с send_packet мы заменяем их на bSendPacket, если у нас опять выдало ошибку на bSendPacket, то заменяем bSendPacket на строке, где выдало ошибку на *send_packet.

Вроде все правильно расписал, не бейте тапками:FeelsBadMan:. Если найдете какие-то ошибки, то отпишите в теме я добавлю это в свою тему.
Если все получилось, то поздравляю, вы теперь соуфив:seemsgood:
сделай гайд как пользоваться микроволновкой. только про эти неуместные смайлики не забудь, так сказать, подчеркнуть статус "щит постера"
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
сделай гайд как пользоваться микроволновкой. только про эти неуместные смайлики не забудь, так сказать, подчеркнуть статус "щит постера"
при чем тут смайлы? Лично когда я вижу тему со смайлами, то мне намного интереснее читать тему. Скоро сделаю гайд на пользование микроволновки, если так хочешь :D
 
при чем тут смайлы? Лично когда я вижу тему со смайлами, то мне намного интереснее читать тему. Скоро сделаю гайд на пользование микроволновки, если так хочешь :D
нравится тебе лично, но выложил для всех, пиздец. я понимаю, возможно ты их используешь в силу своего маленького возраста, но буду надеяться что ты исправишься
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
нравится тебе лично, но выложил для всех, пиздец. я понимаю, возможно ты их используешь в силу своего маленького возраста, но буду надеяться что ты исправишься
Только ты возмущаешься на смайлы, никто другой. Но буду надеяться что ты исправишься:roflanEbalo:
 
Только ты возмущаешься на смайлы, никто другой. Но буду надеяться что ты исправишься:roflanEbalo:
ты заметил, что ты зацепился за такую мелочь? Вся суть моего первого сообщения была в том, что ты щитпостишь уже не 1 раз, но тебя сильно огорчили смайлики. хотя чего там, АртёмСтрулев76. Одного нейма достаточно
 
Шок, "слив фикса крэйт мува" 2022 смотреть онлайн без смс и регистрации
Посмотреть вложение 200283
проверка на инвалид хендл и адрес вообще к чему?
и вообще каст к void* прикол какой то, в каком типе надо хранить адрес, что даже язык не может найти оператор "!"...
 
зачем фиксить креатмув если он и так рабочий?
 
и вообще каст к void* прикол какой то, в каком типе надо хранить адрес, что даже язык не может найти оператор "!"...
1650620704105.png

Иначе будет использоваться арифметика указателей, а мне нужно побайтово адресами управлять
Каст к указателю нужен для проверки его валидности. Если ты вдруг не знал, тебе доступно не всё адресное пространство в мире)
проверка на инвалид хендл и адрес вообще к чему?
А тут человек видимо о безопасности только в книжках читал, и то нихуя не понял. Ну удачи тебе с такой логикой
 
Назад
Сверху Снизу