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

  #6  
Старый 29.09.2019, 00:01
Gafask
Участник форума
Регистрация: 10.12.2018
Сообщений: 137
С нами: 3908139

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

Цитата:
Сообщение от iAmerican  

0xB7CE50 - [dword] Деньги \\ - пробуй через это
и поменяй название перменной

P.s. а вообще у тебя цикл while постоянно идет

Писал в блокноте , может что то и не так , но суть думаю понятна будет

sad:





Код:
DWORD Cped
=
*
(
DWORD
*
)
0xB6F5F0
;
// тут мы прочитали указатель на игрока ну адрес игрока типо .
DWORD dwMoney
=
(
Cped
+
0x756
)
;
// а это смещение адреса для денег , мы его прочитали и записали в $ ну или в что-то другое разницы нету вроде ) . Хоть в 1 .
#define FUNC_CMessages__AddMessageJumpQ 0x69F1E0
void
AddMessageJumpQ
(
PCHAR text
,
UINT time
,
USHORT flag
,
bool
bPreviousBrief
)
// Функция показа сообщения на экране.
{
(
(
void
(
__cdecl
*
)
(
PCHAR
,
UINT
,
USHORT
,
bool
)
)
FUNC_CMessages__AddMessageJumpQ
)
(
text
,
time
,
flag
,
bPreviousBrief
)
;
}
void
__cdecl
MainThread
(
void
*
pArg
)
{
static
DWORD dwOldMoney
=
0
;
static
bool
_bInit
=
false
;
while
(
true
)
{
if
(
!
_bInit
)
{
dwOldMoney
=
(
Cped
+
0x756
)
;
// Или тот адресс который я кинул выше.
_bInit
=
true
;
}
if
(
dwOldMoney
!=
(
Cped
+
0x756
)
)
{
if
(
$
==
100
)
{
AddMessageJumpQ
(
"Проверка выполнена и денег 100 . "
,
1500
,
NULL
,
false
)
;
dwOldMoney
=
(
Cped
+
0x756
)
;
}
else
{
AddMessageJumpQ
(
"Проверка на то что денег 100 не верно"
,
1500
,
NULL
,
false
)
;
dwOldMoney
=
(
Cped
+
0x756
)
;
}
}
Sleep
(
100
)
;
}
}

Неа , 0 эмоции . Я если что в том коде который кидал там есть пару косяков и недочетов . Но смысл вроде я донес . По логике цикл бесконечный лаги не вызывает у меня и работает стабильно . И по логике если цикл бесконечный то он проверяет всегда эту = или нет ( я про if ) , мне просто не понятно почему при считывании из памяти игры и потом проверки это значения толку 0 . Я хотел это реализовать типа проверку координат игрока и потом уже выполнение кода типа если ровно то это а если нет то будет то-то выполнено , а когда я вроде проверяю и значение одинаковы толку 0 . Я даже ставил промежуток между этими значениями типа проверку между 1 и 4 ( типа если равно 1 или 2 или 3 или 4) то код выполнится но нет . Ну у меня были предположение что иза того что значение флоат и типа оно плавает ( проще говоря с точкой ) то тогда можно же выполнить проверку денег и если оно верно то вывести на экран но и это тоже не хочет . Типа сама проблема в том что у меня не получается сделать проверку значения из адреса памяти ( if как будто его не читает ) . Код который ты дал я поправил ( там был старый мой косяк , указатели были не все заменены ) и вгрызся в игру ( заинжектил) то не чего не показало ( там должно было высветится типа подсказки ) . Потом поставив через CE значение на 100 и там и там и поменяв на 1-4 байт то толку не было ( менял для того что-бы убедится что точно не работает ) .
 
Ответить с цитированием