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

Забаненный
Забаненный
Статус
Оффлайн
Регистрация
24 Фев 2022
Сообщения
277
Реакции
20
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сделал для чайников :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:
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
qo0base prod?
 
Шок, "слив фикса крэйт мува" 2022 смотреть онлайн без смс и регистрации
1650371526464.png
 
Сделал для чайников : 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;
We must replace it with

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

8) After we are done with the main ratemove, we create the hkCreateMove_Proxy function
Код:
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) If you have an error related to send_packet, we replace them with bSendPacket, if we again have an error with bSendPacket, then we replace bSendPacket on the line where it generated an error with *send_packet.

It seems that everything is correctly painted, do not hit with slippers :FeelsBadMan:. If you find any errors, then unsubscribe in the topic, I will add it to my topic.
If everything worked out, then congratulations, you are now soufiv:seemsgood:
bullshit
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Почему? Я конечно понимаю, что можно было и без прокси обойтись как это сделал @voidptr_t выше, но не думаю что кто-то готовый код будет ликать под базу симпла. Если критикуешь, то хотя бы предложи, как можно улучшить или же укажи на ошибку.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
так в симле по дефолту крейтмув сделан через клиент хук
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
так в симле по дефолту крейтмув сделан через клиент хук
всякие пасты на симпле по типу мутена, монеона и всем ему подобных не имеют фикс, а качать уже фикшеные сурсы и брать из них не очень....
 
Дефолтый симпл и так пофикшен....
всякие пасты на симпле по типу мутена, монеона и всем ему подобных не имеют фикс, а качать уже фикшеные сурсы и брать из них не очень....
shit sources тогда уж, непонятно зачем было заменять дефолтный хук, который отлично выполнял свою функцию, лол
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Дефолтый симпл и так пофикшен....
shit sources тогда уж, непонятно зачем было заменять дефолтный хук, который отлично выполнял свою функцию, лол
Блять... Крейтмув в симпле сделали нормальным год назад, а пастам года 2 уже исполнилось и их зачем-то обновляют люди. +я сделал изначально данную тему для 1 человека. Я думаю хотя бы кому-то будет полезна этая тема, а не будут что-то пытаться высирать люди. Спасибо
то что в паблике лежат не только пасты монеона, а еще другие пасты, которые на юг ликали, но их не стали обновлять. Может люди сталкнулись с проблемой, что пофиксить не могут...
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
еще с 2017 он такой:coldsweat:
Пожалуйста, авторизуйтесь для просмотра ссылки.
извеняюсь. Сути не меняет. Тема сделана по 2 причинам. 1) Ради 1 человека, которому нужно было пофиксить крейтмув 2) Ради тех людей, кто пастит старые базы на симпле и не хочется качать фикшеные базы и пастить от туда. Надеюсь больше тему не будем засорять...
 
Назад
Сверху Снизу