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

Тема в разделе "C, C++", создана пользователем Jesik, 10 май 2013.

  1. san0

    Проверенный

    Регистрация:
    15 дек 2013
    Сообщения:
    348
    Симпатии:
    166
    Репутация:
    64
    1) Попробуй SetWindowLong после того, как по адресу samp.dll + 0x119CB8 (4 байта) будет что-то больше 0. Это означает, что самп уже установил новый адрес процедуры диалогового окна для своих нужд. Это значение еще SF модифицирует, так для справки.
    2) TRUE != true (BOOL != BOOLEAN), и в специфических условиях это может работать по другому.
    
    LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
    {
        if (uMsg == WM_CHAR && wParam == '`') {
            // .. //
            return FALSE;
        }
        return CallWindowProc(hOrigProc, hWnd, uMsg, wParam, lParam);
    }
    
    3) Вместо всего этого WndProc лишь для игнорирования одной клавиши попробуй 5 байт занопить по адресу samp.dll + 0x5DAFD.
    4) Проверял это с открытием чата на 'T', у меня нет тильды ))))
     
  2. Ghost29

    Ghost29 Пользователь

    Регистрация:
    8 сен 2013
    Сообщения:
    15
    Симпатии:
    0
    Репутация:
    0
    Имеется такая функция из сурсов соба
    
    #define     FUNC_JPegCompressScreenToFile   0x5D0820
    #define     CLASS_RwCamera                  0xB6F97C
     VOID CGameSA::TakeScreenshot ( char * szFileName )
     {
        DWORD dwFunc = FUNC_JPegCompressScreenToFile;
        _asm
        {
        mov     eax, CLASS_RwCamera
        mov     eax, [eax]
        push    szFileName
        push    eax
        call    dwFunc
        add     esp,8
        }
     }
    
    Как её можно вызвать без asm вставки?
     
  3. BlackKnigga

    Друг

    Регистрация:
    10 янв 2016
    Сообщения:
    850
    Симпатии:
    252
    Репутация:
    102
    #define     FUNC_JPegCompressScreenToFile   0x5D0820
    #define     CLASS_RwCamera                  0xB6F97C
    typedef HRESULT(_cdecl *JPegCompressScreenToFile)(void*, char*);
    char *szFileName = "ПУТЬ ЗДЕСЬ";
    JPegCompressScreenToFile Func = (JPegCompressScreenToFile)FUNC_JPegCompressScreenToFile;
    Func(*(void**)CLASS_RwCamera, szFileName);
    std::function я чет не осилил:sad_frog2:
    Только зачем парится и не использовать ассемблер?
     
    Последние данные очков репутации:
    Ghost29: 1 Очко (спасибо!!!) 2 фев 2018
  4. Ghost29

    Ghost29 Пользователь

    Регистрация:
    8 сен 2013
    Сообщения:
    15
    Симпатии:
    0
    Репутация:
    0
    Да мне просто не на плюсы надо эту функцию
    Спасибо
     
  5. san0

    Проверенный

    Регистрация:
    15 дек 2013
    Сообщения:
    348
    Симпатии:
    166
    Репутация:
    64
    Может, так? Вызывается как обычно TakeScreenshot("screen1.jpg") :)
    #define  CLASS_RwCamera 0xB6F97C
    inline void* GetRwCamera()
    {
        return *(void* *)CLASS_RwCamera;
    }
    
    #define  FUNC_JPegCompressScreenToFile   0x5D0820
    void TakeScreenshot(const char * szFileName)
    {
        ((void(__cdecl*)(void *, const char*))FUNC_JPegCompressScreenToFile)
            (GetRwCamera(), szFileName);
    }
    
     
    Ghost29 нравится это.
  6. 2Shae

    2Shae Знаток

    Регистрация:
    14 май 2014
    Сообщения:
    117
    Симпатии:
    6
    Репутация:
    4
    Как отправить сообщение в чат через память?
     
  7. san0

    Проверенный

    Регистрация:
    15 дек 2013
    Сообщения:
    348
    Симпатии:
    166
    Репутация:
    64
  8. Jack_Savage

    Jack_Savage Знаток

    Регистрация:
    6 ноя 2016
    Сообщения:
    143
    Симпатии:
    17
    Репутация:
    5
    В Directx 9 можно растянуть спрайт на весь экран ?
     
  9. drags

    drags Активный пользователь

    Регистрация:
    24 сен 2013
    Сообщения:
    26
    Симпатии:
    0
    Репутация:
    0
    Как получить LVL (1)
    {FFFFFF}Уровень: {B83434}[1] из этой строки? А то у меня постоянно выбивает 87487448
     
  10. kewa opcode

    kewa opcode плакса
    Проверенный

    Регистрация:
    15 апр 2017
    Сообщения:
    386
    Симпатии:
    262
    Репутация:
    39
    А как получаешь то
     
  11. Ranto

    Ranto Пользователь

    Регистрация:
    26 ноя 2017
    Сообщения:
    9
    Симпатии:
    0
    Репутация:
    0
    1. Как создать текст при загрузки игры? (как во всяких enb ну или тот же SAMPFUNCS когда нажимаешь ESC там в левом верхнем углу написано sampfuncs version... c++)
    [​IMG]
     
  12. DarkP1xel

    DarkP1xel #ТГК
    BH Team

    Регистрация:
    17 июн 2013
    Сообщения:
    2.488
    Симпатии:
    1.806
    Репутация:
    414
    D3DXCreateFont
     
    Ranto и D3.Pheonix нравится это.
  13. Ranto

    Ranto Пользователь

    Регистрация:
    26 ноя 2017
    Сообщения:
    9
    Симпатии:
    0
    Репутация:
    0
    Сделал как ты сказал, создал header файл с параметрами для функции, взял твой код с 1 урока про DLL, но появилась проблема я как новичок в c++ не понял что за параметры у данной функции "D3DXCreateFont", помоги пожалуйста, либо просто объясни что вставлять . Заранее спасибо.
    [​IMG]
     
  14. kewa opcode

    kewa opcode плакса
    Проверенный

    Регистрация:
    15 апр 2017
    Сообщения:
    386
    Симпатии:
    262
    Репутация:
    39
    Хукай пресент
     
  15. Sasha22rus

    Sasha22rus Новичок

    Регистрация:
    14 апр 2017
    Сообщения:
    4
    Симпатии:
    1
    Репутация:
    0
    upload_2018-2-19_14-15-15.png
    кто знает, как изменить кодировку в RakSampe?
     
  16. ALF

    ALF Активный пользователь

    Регистрация:
    14 ноя 2017
    Сообщения:
    34
    Симпатии:
    32
    Репутация:
    11
    window.cpp и netrpc.cpp > tahoma на system