Другое С/С++ Вопрос - Ответ

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,759
4,891
Разве? Тогда как ты объяснишь рекомендацию использовать регулярки вместо stoi? Вот совет тебе по конвертации скроки в число и обратно - используй std::from_chars и std::to_chars
Ну я хотел для валидации написать, но что-то пошло не так. А так да, std и boost рулит плюсами
 

|| NN - NoName ||

Известный
1,047
641
Сорри я тупой и не понимаю схуяли игра зависает из за этого блока.
1603461451657.png
 

#Northn

Известный
Всефорумный модератор
2,659
2,603
Сорри я тупой и не понимаю схуяли игра зависает из за этого блока.
Посмотреть вложение 72761
Ты в основной поток пихаешь цикл, и игра ждёт, пока этот цикл завершится, чтобы продолжить работу остальных функций
Игра не зависает, а ждёт исполнение этого цикла.
Чтобы не зависало, нужно отдельный поток создавать, детачить и в него уже цикл пихать
 
  • Нравится
Реакции: || NN - NoName ||

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,759
4,891
Ты в основной поток пихаешь цикл, и игра ждёт, пока этот цикл завершится, чтобы продолжить работу остальных функций
Игра не зависает, а ждёт исполнение этого цикла.
Чтобы не зависало, нужно отдельный поток создавать, детачить и в него уже цикл пихать
Или не использовать потоки, а использовать хуки обновления игры, которые выполняются раз в кадр
 

Musaigen

ihatemyself
Проверенный
1,709
1,601
Как можно перезаписать входящий пакет, без использования SF?
 

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,759
4,891
Как можно перезаписать входящий пакет, без использования SF?
R1:
C++:
typedef Packet* (__fastcall* RakPeer_Receive)(void*);
RakPeer_Receive fpReceive = NULL;

Packet* __fastcall HOOK_RakPeer_Receive(void* pRakPeer) {
    Packet* packet = fpReceive(pRakPeer);
    if (packet != nullptr && packet->data) {
        // your code
    }
    return packet;
}

MH_CreateAndEnableHook(dwSampModule + 0x31180, &HOOK_RakPeer_Receive, reinterpret_cast<LPVOID*>(&fpReceive))
 

Musaigen

ihatemyself
Проверенный
1,709
1,601
R1:
C++:
typedef Packet* (__fastcall* RakPeer_Receive)(void*);
RakPeer_Receive fpReceive = NULL;

Packet* __fastcall HOOK_RakPeer_Receive(void* pRakPeer) {
    Packet* packet = fpReceive(pRakPeer);
    if (packet != nullptr && packet->data) {
        // your code
    }
    return packet;
}

MH_CreateAndEnableHook(dwSampModule + 0x31180, &HOOK_RakPeer_Receive, reinterpret_cast<LPVOID*>(&fpReceive))
А это тут при чём, меня интересует как перезаписать входящий пакет, а не как хукнуть его.
 

Joni Scripts

Известный
533
377
Как сделать проверку на этот диалог в RPC который дает мне сервер, код ниже не работает, find не умею пользоваться
1604787736711.png

1604788008277.png