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

  #9  
Старый 29.09.2019, 16:56
CleanLegend
Постоянный
Регистрация: 28.03.2013
Сообщений: 495
С нами: 6908018

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

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

2.Cпасибо заработало , лайк поставил . А не подскажешь как можно еще реализовать это с 1-2 смещениями ? ( смещения адреса памяти )
Цитата:
Сообщение от gafaskara  

Вопрос.CPP:





Код:
#include 
#include 
#include "main.h"
void
__cdecl
MainThread
(
void
*
pArg
)
{
while
(
true
)
Sleep
(
1
)
;
{
if
(
$
==
100
)
// Проверка на то что $ = 100 и если оно верное ( true ) то выполнится код нижу.
{
Sleep
(
1
)
;
//Задержка 1 мс. Добавил чисто для безопасности шобы не было просадки , ну а вдруг нада .
AddMessageJumpQ
(
"Проверка выполнена и равна 100 . "
,
1500
,
NULL
,
false
)
;
//Выводит подсказку с текстом , ну это стандарт функция)
}
else
{
//Если $ не равна 100 то выполнится этот код ниже .
Sleep
(
10000
)
;
// Задержка 10 Сек.
AddMessageJumpQ
(
"Значение не 100"
,
1500
,
NULL
,
false
)
;
//Выводит подсказку с текстом , ну это стандарт функция)
}
}
}


main.h:





Код:
DWORD Cped
=
*
(
DWORD
*
)
0xB6F5F0
;
// тут мы прочитали указатель на игрока ну адрес игрока типо .
DWORD ZZZ
=
(
Cped
+
0x756
)
;
// а это смещение адреса для денег , мы его прочитали и записали в $ ну или в что-то другое разницы нету вроде ) . Хоть в 1 .

Выше в коде ты передаешь не адрес, а значение, получается $ у тебя имеет константу, которая задается один раз при инициализации, а при инициализации игры она скорее всего 0.

Можно сделать сразу так:

C++:





Код:
if
(
*
(
DWORD
*
)
(
0xB6F5F0
+
0x756
)
==
100
)


Либо передать указатель и потом его использовать из свое переменной:

C++:





Код:
DWORD
*
money
=
(
DWORD
*
)
(
0xB6F5F0
+
0x756
)
if
(
(
DWORD
*
)
money
==
100
)
 
Ответить с цитированием