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

san0

Известный
Друг
411
267
И так и так пробовал , если сделать так , то клавиши работают , но всё равно чат открывается.
1) Попробуй SetWindowLong после того, как по адресу samp.dll + 0x119CB8 (4 байта) будет что-то больше 0. Это означает, что самп уже установил новый адрес процедуры диалогового окна для своих нужд. Это значение еще SF модифицирует, так для справки.
2) TRUE != true (BOOL != BOOLEAN), и в специфических условиях это может работать по другому.
C++:
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', у меня нет тильды ))))
 

tropical5466

Известный
28
19
Имеется такая функция из сурсов соба
Код:
#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 вставки?
 

BlackKnigga

Известный
BH Team
922
445
Имеется такая функция из сурсов соба
Код:
#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 вставки?
C++:
#define     FUNC_JPegCompressScreenToFile   0x5D0820
#define     CLASS_RwCamera                  0xB6F97C
typedef void(_cdecl *JPegCompressScreenToFile)(void*, char*);
char *szFileName = "ПУТЬ ЗДЕСЬ";
JPegCompressScreenToFile Func = (JPegCompressScreenToFile)FUNC_JPegCompressScreenToFile;
Func(*(void**)CLASS_RwCamera, szFileName);
std::function я чет не осилил:sad_frog2:
Только зачем парится и не использовать ассемблер?
 
Последнее редактирование:
  • Нравится
Реакции: tropical5466

tropical5466

Известный
28
19
C++:
#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:
Только зачем парится и не использовать ассемблер?
Да мне просто не на плюсы надо эту функцию
Спасибо
 

san0

Известный
Друг
411
267
Только зачем парится и не использовать ассемблер?
Может, так? Вызывается как обычно TakeScreenshot("screen1.jpg") :)
C++:
#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);
}
 
  • Нравится
Реакции: tropical5466

drags

Известный
Проверенный
155
208
Как получить LVL (1)
{FFFFFF}Уровень: {B83434}[1] из этой строки? А то у меня постоянно выбивает 87487448
 

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
А как получаешь то
 
  • Нравится
Реакции: SR_team

Ranto

Участник
45
1
1. Как создать текст при загрузки игры? (как во всяких enb ну или тот же SAMPFUNCS когда нажимаешь ESC там в левом верхнем углу написано sampfuncs version... c++)
ca32fa04d5ae.png
 

Ranto

Участник
45
1
Сделал как ты сказал, создал header файл с параметрами для функции, взял твой код с 1 урока про DLL, но появилась проблема я как новичок в c++ не понял что за параметры у данной функции "D3DXCreateFont", помоги пожалуйста, либо просто объясни что вставлять . Заранее спасибо.
fbfdc5769053.jpg
 

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Хукай пресент