HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 09.03.2021, 19:45
user337567
Познающий
Регистрация: 04.07.2019
Сообщений: 91
С нами: 3611571

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

как найти здоровье локального игрока? и как вообще взаимодействовать с GameAPI
 
Ответить с цитированием

  #2  
Старый 09.03.2021, 19:50
sc6ut
Постоянный
Регистрация: 03.05.2020
Сообщений: 385
С нами: 3174020

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

узнать здоровье -
Код:
PEDSELF->GetHealth()
PEDSELF - указатель на локального игрока (класс CPed).

GAME - указатель на класс CGame.
 
Ответить с цитированием

  #3  
Старый 09.03.2021, 19:50
Vintik
Познавший АНТИЧАТ
Регистрация: 18.08.2017
Сообщений: 1,568
С нами: 4598023

Репутация: 183


По умолчанию

с СФ апи почти не знаком, но здоровье легко и без его использования:

C++:





Код:
float
health
=
*
(
float
*
)
(
(
*
(
DWORD
*
)
0xB6F5F0
)
+
0x540
)
;
float
armour
=
*
(
float
*
)
(
(
*
(
DWORD
*
)
0xB6F5F0
)
+
0x548
)
;
// а так же вот так броню
 
Ответить с цитированием

  #4  
Старый 09.03.2021, 19:58
kin4stat
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами: 4483143

Репутация: 183


По умолчанию

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

с СФ апи почти не знаком, но здоровье легко и без его использования:

C++:





Код:
float
health
=
*
(
float
*
)
(
(
*
(
DWORD
*
)
0xB6F5F0
)
+
0x540
)
;
float
armour
=
*
(
float
*
)
(
(
*
(
DWORD
*
)
0xB6F5F0
)
+
0x548
)
;
// а так же вот так броню

Вот тебе и "Преимущество" C-style кастов. Куча скобок и разбирай какая куда относится

А вообще красиво можно сделать вот так:

C++:





Код:
float
health
=
*
reinterpret_cast

(
0xB6F5F0
)
[
0x540
/
sizeof
(
float
)
]
;
float
armour
=
*
reinterpret_cast

(
0xB6F5F0
)
[
0x548
/
sizeof
(
float
)
]
;
 
Ответить с цитированием

  #5  
Старый 09.03.2021, 21:04
Vintik
Познавший АНТИЧАТ
Регистрация: 18.08.2017
Сообщений: 1,568
С нами: 4598023

Репутация: 183


По умолчанию

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

Вот тебе и "Преимущество" C-style кастов. Куча скобок и разбирай какая куда относится
А вообще красиво можно сделать вот так:

C++:





Код:
float
health
=
*
reinterpret_cast

(
0xB6F5F0
)
[
0x540
/
4
]
;
float
armour
=
*
reinterpret_cast

(
0xB6F5F0
)
[
0x548
/
4
]
;

Верю, скобок много.

C++:





Код:
DWORD CPed
=
*
(
DWORD
*
)
0xB6F5F0
;
float
health
=
*
(
float
*
)
(
CPed
+
0x540
)
;
float
armour
=
*
(
float
*
)
(
Cped
+
0x548
)
;


Хотя твой вариант более элегантный, что ли.
 
Ответить с цитированием

  #6  
Старый 12.03.2021, 12:24
sc6ut
Постоянный
Регистрация: 03.05.2020
Сообщений: 385
С нами: 3174020

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

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

float health = *reinterpret_cast(0xB6F5F0)[0x540 / sizeof(float)]; float armour = *reinterpret_cast(0xB6F5F0)[0x548 / sizeof(float)];
вообще-то так:

C++:





Код:
float
health
=
(
*
reinterpret_cast

(
0xB6F5F0
)
)
[
0x540
/
sizeof
(
float
)
]
;
float
armour
=
(
*
reinterpret_cast

(
0xB6F5F0
)
)
[
0x548
/
sizeof
(
float
)
]
;
 
Ответить с цитированием

  #7  
Старый 12.03.2021, 15:56
kin4stat
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами: 4483143

Репутация: 183


По умолчанию

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

вообще-то так:

C++:





Код:
float
health
=
(
*
reinterpret_cast

(
0xB6F5F0
)
)
[
0x540
/
sizeof
(
float
)
]
;
float
armour
=
(
*
reinterpret_cast

(
0xB6F5F0
)
)
[
0x548
/
sizeof
(
float
)
]
;

И чем же оно отличается? Лишними скобками?
 
Ответить с цитированием

  #8  
Старый 12.03.2021, 17:33
sc6ut
Постоянный
Регистрация: 03.05.2020
Сообщений: 385
С нами: 3174020

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

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

Лишними скобками?
наборот, как раз таки, не лишними, без них игра крашит 🙂
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.