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

SR_team

like pancake
BH Team
4,801
6,472
(Оптимизация головного мозга, извините)
Разве? Тогда как ты объяснишь рекомендацию использовать регулярки вместо stoi? Вот совет тебе по конвертации скроки в число и обратно - используй std::from_chars и std::to_chars
 

kin4stat

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

|| NN - NoName ||

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

#Northn

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

kin4stat

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

Musaigen

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

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,744
4,808
Как можно перезаписать входящий пакет, без использования 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

abobusnik
Проверенный
1,607
1,365
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))
А это тут при чём, меня интересует как перезаписать входящий пакет, а не как хукнуть его.