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

F0RQU1N and

Известный
1,307
497
  • Влюблен
Реакции: whyega52

whyega52

Гений, миллионер, плейбой, долбаеб
Модератор
2,800
2,666
#pragma once мб поможет
или просто добавь перед классом нетворк
class Plugin;
или
struct Plugin;
(хз что это там у тебя но наверное это и не имеет особо значения)
теперь линкер решил немного дать пиздов
1711700854718.png
 

F0RQU1N and

Известный
1,307
497
  • Вау
Реакции: whyega52

ARMOR

011110000111100101101001
Модератор
4,970
6,897
как хукать MODELS\FONTS.TXD для подгрузки своих шрифтов
CFont::Initialise 0x5BA690 Тут подгружается fonts.txd через CTxdStore, можешь просто переписать функцию и инджектнуть её, либо просто хукнуть CSprite2d::SetTexture внутри неё. для font2 - 0x5BA6CC, для font1 - 0x5BA6E0.
Ещё можешь просто после подгрузки игровых шрифтов подгрузить свои вместо них в массив CSprite2d CFont::Sprite[2] - 0xC71AD0
 
  • Клоун
Реакции: #Northn

vmprotect

Известный
352
194
каким образом происходит подгрузка своих шрифтов для чата типа ttf
 

ARMOR

011110000111100101101001
Модератор
4,970
6,897
каким образом происходит подгрузка своих шрифтов для чата типа ttf
Для чата подгрузка происходит через CFonts::Reset(), для диалогов и т.д используется CDXUTDialog::InitFont(). Сами методы просто используют D3DXCreateFontA
 

yorenov

Участник
40
31
C++:
void loooooooool::rakhookSetup() {
rakhook::on_receive_rpc += [&] (unsigned char &id, RakNet::BitStream *bitStream) {
        if (!enabled)
            return true;
        if (id != 215)
            return true;

        bitStream->ResetReadPointer();

        char test[5]{0};
        bitStream->Read(test, 5);

        uint16_t test2;
        bitStream->Read(test2);

       
        sendResponse(test, test2, 0, 0);
        // тут надо подождать 20 секунд
        sendResponse(test, test2, 0, 0);

        return true;
    };
}
У нас есть лямбда, функция loooooooool::rakhookSetup() вызывается 1 раз после инициализации. Вопрос вот в чем, как мне вызвать функцию sendResponse два раза с интервалом в 20 секунд? Переменные test и test2 не хочу выносить за пределы лямбды, выносить битстрим - бяка, создавать поток не хочу, использовать ktcoro - научите). Суть просто в том, что мне надо вызвать функцию sendResponse несколько раз, передав в аргументы те самые test и test2, так же, вызывать с интервалом. Подскажите нормальные способы

C++:
void loooooooool::rakhookSetup() {
rakhook::on_receive_rpc += [&] (unsigned char &id, RakNet::BitStream *bitStream) {
        if (!enabled)
            return true;
        if (id != 215)
            return true;

        bitStream->ResetReadPointer();

        char test[5]{0};
        bitStream->Read(test, 5);

        uint16_t test2;
        bitStream->Read(test2);

      
        sendResponse(test, test2, 0, 0);
        // тут надо подождать 20 секунд
        sendResponse(test, test2, 0, 0);

        return true;
    };
}
У нас есть лямбда, функция loooooooool::rakhookSetup() вызывается 1 раз после инициализации. Вопрос вот в чем, как мне вызвать функцию sendResponse два раза с интервалом в 20 секунд? Переменные test и test2 не хочу выносить за пределы лямбды, выносить битстрим - бяка, создавать поток не хочу, использовать ktcoro - научите). Суть просто в том, что мне надо вызвать функцию sendResponse несколько раз, передав в аргументы те самые test и test2, так же, вызывать с интервалом. Подскажите нормальные способы
upd: Нашел решение

С++:
tasklist.add_task([](int _test, int _test2) -> ktwait {
            looooooool::sendResponse(_test, _test2, "1", false);
            co_await 16000;
            looooooool::sendResponse(_test, _test2, "2", true);
        }, test, test2);
 
Последнее редактирование:

vmprotect

Известный
352
194
как можно реализовать привязку сервера, например если подключаешься на IP 127.0.0.1:7777, то будет выводиться определенная функция, а если на другой IP то ничего не будет
 

ARMOR

011110000111100101101001
Модератор
4,970
6,897
как можно реализовать привязку сервера, например если подключаешься на IP 127.0.0.1:7777, то будет выводиться определенная функция, а если на другой IP то ничего не будет
Получать адрес и порт из CNetGame и проверять их
 
  • Нравится
Реакции: whyega52 и vmprotect