Показать сообщение отдельно

  #1  
Старый 12.11.2024, 21:17
vmprotect
Постоянный
Регистрация: 15.09.2021
Сообщений: 396
С нами: 2453766

Репутация: 68
По умолчанию

Всем привет пытаюсь изменить текст диалога который открывается через F1, но в игре возникает ошибка. Возможно, я что-то упускаю или делаю неправильно. Буду благодарен за любую помощь и советы.

hook:





Код:
using
CDialog__Show
=
void
(
__thiscall
*
)
(
void
*
,
void
*
,
int
,
int
,
int
,
const
char
*
,
const
char
*
,
const
char
*
,
const
char
*
,
bool
)
;
kthook
::
kthook_simple

CDialog__Show_Hook
;
void
customhook
(
)
{
SampDLL
=
reinterpret_cast

(
GetModuleHandle
(
"samp.dll"
)
)
;
CDialog__Show_Hook
.
set_dest
(
SampDLL
+
0x6B3E7
)
;
CDialog__Show_Hook
.
set_cb
(
[
]
(
const
decltype
(
CDialog__Show_Hook
)
&
hook
,
void
*
pDialog
,
void
*
EDX
,
int
a2
,
int
nId
,
int
nType
,
const
char
*
Source
,
const
char
*
szText
,
const
char
*
szLeftButton
,
const
char
*
szRightButton
,
bool
bServerside
)
{
Source
=
"custom text"
;
return
hook
.
get_trampoline
(
)
(
pDialog
,
EDX
,
a2
,
nId
,
nType
,
Source
,
szText
,
szLeftButton
,
szRightButton
,
bServerside
)
;
}
)
;
CDialog__Show_Hook
.
install
(
)
;
}




ставлю хук на call ShowDialog внутри функции CHelpDialog::Show

 
Ответить с цитированием