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

Забаненный
Статус
Оффлайн
Регистрация
24 Фев 2022
Сообщения
276
Реакции[?]
20
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сделал для чайников :roflanPominki:

Итак приступим.
1) Нам нужно зайти в hooks.hpp и заменить индекс крейтмува с 24 на 22
2) создаем в namespace Hooks после hkFrameStageNotify (на самом то деле не важно, просто так удобнее)
C++:
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++:
hlclient_hook.setup(g_CHLClient);
5) Листаем чуть ниже и видим
C++:
hlclient_hook.hook_index( index::FrameStageNotify, hkFrameStageNotify);
6) Ниже него должен хукаться крейтмув
Мы заменяем полностью строку на
C++:
hlclient_hook.hook_index( index::CreateMove, hkCreateMove_Proxy);
7) Листаем до hkCreateMove и изменяем первые строки на эти
Код:
  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;
Мы его должны заменить на

Код:
     verified->m_cmd = *cmd;
     verified->m_crc = cmd->GetChecksum();
8) После того как мы закончили с основным крейтмувом мы создаем функцию hkCreateMove_Proxy
Код:
  __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:
 
std::X$$V::Z::_Func_impl_no_alloc
Пользователь
Статус
Оффлайн
Регистрация
30 Мар 2019
Сообщения
389
Реакции[?]
103
Поинты[?]
1K
Шок, "слив фикса крэйт мува" 2022 смотреть онлайн без смс и регистрации
1650371526464.png
 
Начинающий
Статус
Оффлайн
Регистрация
23 Июн 2020
Сообщения
20
Реакции[?]
4
Поинты[?]
0
Сделал для чайников : roflanPominki:

Итак приступим.
1) Нам нужно зайти в hooks.hpp и заменить индекс крейтмува с 24 на 22
2) создаем в namespace Hooks после hkFrameStageNotify (на самом то деле не важно, просто так удобнее)
C++:
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++:
hlclient_hook.setup(g_CHLClient);
5) Листаем чуть ниже и видим
C++:
hlclient_hook.hook_index( index::FrameStageNotify, hkFrameStageNotify);
6) Ниже него должен хукаться крейтмув
Мы заменяем полностью строку на
C++:
hlclient_hook.hook_index( index::CreateMove, hkCreateMove_Proxy);
7) Листаем до hkCreateMove и изменяем первые строки на эти
Код:
  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

Код:
     verified->m_cmd = *cmd;
     verified->m_crc = cmd->GetChecksum();
8) After we are done with the main ratemove, we create the hkCreateMove_Proxy function
Код:
  __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
 
Забаненный
Статус
Оффлайн
Регистрация
24 Фев 2022
Сообщения
276
Реакции[?]
20
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
24 Фев 2022
Сообщения
276
Реакции[?]
20
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Почему? Я конечно понимаю, что можно было и без прокси обойтись как это сделал voidptr_t выше, но не думаю что кто-то готовый код будет ликать под базу симпла. Если критикуешь, то хотя бы предложи, как можно улучшить или же укажи на ошибку.
 
Забаненный
Статус
Оффлайн
Регистрация
19 Янв 2022
Сообщения
50
Реакции[?]
18
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
24 Фев 2022
Сообщения
276
Реакции[?]
20
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
19 Янв 2022
Сообщения
50
Реакции[?]
18
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Начинающий
Статус
Оффлайн
Регистрация
12 Апр 2021
Сообщения
47
Реакции[?]
1
Поинты[?]
0
так в симле по дефолту крейтмув сделан через клиент хук
 
Забаненный
Статус
Оффлайн
Регистрация
24 Фев 2022
Сообщения
276
Реакции[?]
20
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
так в симле по дефолту крейтмув сделан через клиент хук
всякие пасты на симпле по типу мутена, монеона и всем ему подобных не имеют фикс, а качать уже фикшеные сурсы и брать из них не очень....
 
Участник
Статус
Оффлайн
Регистрация
15 Янв 2021
Сообщения
500
Реакции[?]
311
Поинты[?]
101K
Дефолтый симпл и так пофикшен....
всякие пасты на симпле по типу мутена, монеона и всем ему подобных не имеют фикс, а качать уже фикшеные сурсы и брать из них не очень....
shit sources тогда уж, непонятно зачем было заменять дефолтный хук, который отлично выполнял свою функцию, лол
 
Начинающий
Статус
Оффлайн
Регистрация
12 Апр 2021
Сообщения
47
Реакции[?]
1
Поинты[?]
0
Забаненный
Статус
Оффлайн
Регистрация
24 Фев 2022
Сообщения
276
Реакции[?]
20
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Дефолтый симпл и так пофикшен....
shit sources тогда уж, непонятно зачем было заменять дефолтный хук, который отлично выполнял свою функцию, лол
Блять... Крейтмув в симпле сделали нормальным год назад, а пастам года 2 уже исполнилось и их зачем-то обновляют люди. +я сделал изначально данную тему для 1 человека. Я думаю хотя бы кому-то будет полезна этая тема, а не будут что-то пытаться высирать люди. Спасибо
то что в паблике лежат не только пасты монеона, а еще другие пасты, которые на юг ликали, но их не стали обновлять. Может люди сталкнулись с проблемой, что пофиксить не могут...
 
Забаненный
Статус
Оффлайн
Регистрация
24 Фев 2022
Сообщения
276
Реакции[?]
20
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Участник
Статус
Оффлайн
Регистрация
15 Янв 2021
Сообщения
500
Реакции[?]
311
Поинты[?]
101K
Начинающий
Статус
Оффлайн
Регистрация
12 Апр 2021
Сообщения
47
Реакции[?]
1
Поинты[?]
0
Забаненный
Статус
Оффлайн
Регистрация
24 Фев 2022
Сообщения
276
Реакции[?]
20
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
еще с 2017 он такой:coldsweat:
Пожалуйста, авторизуйтесь для просмотра ссылки.
извеняюсь. Сути не меняет. Тема сделана по 2 причинам. 1) Ради 1 человека, которому нужно было пофиксить крейтмув 2) Ради тех людей, кто пастит старые базы на симпле и не хочется качать фикшеные базы и пастить от туда. Надеюсь больше тему не будем засорять...
 
Сверху Снизу