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

  #1  
Старый 27.11.2020, 04:23
Ya Zaregalsya
Постоянный
Регистрация: 29.05.2017
Сообщений: 394
С нами: 4714653

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

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

как создать коллбек на событие в игре?
ну, как "хуки" сетевые, только на внутриигровые события (любое действие, совершённое/спровоцированное игроком)
 
Ответить с цитированием

  #2  
Старый 27.11.2020, 21:51
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

найти его адресс и поставить на него хук. Плагин SDK в помощь.
 
Ответить с цитированием

  #3  
Старый 29.11.2020, 07:28
Ya Zaregalsya
Постоянный
Регистрация: 29.05.2017
Сообщений: 394
С нами: 4714653

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

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

найти его адресс и поставить на него хук. Плагин SDK в помощь.
— Как обжарить хлеб в тостере?

— Покупаешь хлеб и жаришь. Сварочный аппарат в помощь.
 
Ответить с цитированием

  #4  
Старый 29.11.2020, 18:34
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

так оно и есть. Ты сказал что ты хочешь игровое событие словить, а их херовая туча и хорошо они описаны в плагин SDK
 
Ответить с цитированием

  #5  
Старый 29.11.2020, 21:19
Ya Zaregalsya
Постоянный
Регистрация: 29.05.2017
Сообщений: 394
С нами: 4714653

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

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

так оно и есть. Ты сказал что ты хочешь игровое событие словить, а их херовая туча и хорошо они описаны в плагин SDK
Нужно обработать попадание пули в конкретный объект. Здесь таких событий нет.
 
Ответить с цитированием

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

Репутация: 183


По умолчанию

Цитата:
Сообщение от Ya Zaregalsya  

Нужно обработать попадание пули в конкретный объект. Здесь таких событий нет.
Хук на DoBulletImpact и сравнение объектов приходящих в эту функцию
 
Ответить с цитированием

  #7  
Старый 02.12.2020, 19:15
Ya Zaregalsya
Постоянный
Регистрация: 29.05.2017
Сообщений: 394
С нами: 4714653

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

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

Хук на DoBulletImpact и сравнение объектов приходящих в эту функцию
=)

А как получить объекты, которые приходят в эту функцию?
 
Ответить с цитированием

  #8  
Старый 02.12.2020, 23:20
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Цитата:
Сообщение от Ya Zaregalsya  

=)

А как получить объекты, которые приходят в эту функцию?
Немного уточни этот момент)
 
Ответить с цитированием

  #9  
Старый 24.01.2021, 10:07
Ya Zaregalsya
Постоянный
Регистрация: 29.05.2017
Сообщений: 394
С нами: 4714653

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

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

Хук на DoBulletImpact и сравнение объектов приходящих в эту функцию
Всё ещё не разобрался с Вашим предложением. Можете объяснить подробнее как реализовать тело такого хука? У меня вообще крайне мало опыта работы с хуками.
 
Ответить с цитированием

  #10  
Старый 24.01.2021, 11:59
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Могу тебе кинуть пример хука на urmem DoBulletImpact. По логике вещей должен код работать, но 100 процентной гарантии не даю ибо пишу не со своего компа и пишу без компилятора. Скажу сам, я сам до сих пор не особо в хуках разбираюсь.

C++:





Код:
#include "urmem.hpp"
urmem
::
hook hook
;
//Определение обьекта нашего хука(вроде правильно сказал по терминологии)
//Определяем тело нашей функции куда мы хотим чтобы шли данные с хука
void
DoBulletImpact
(
void
*
_this
,
CEntity
*
owner
,
CEntity
*
victim
,
CVector
*
startPoint
,
CVector
*
endPoint
,
CColPoint
*
colPoint
,
int
arg5
)
{
hook
.
call

(
_this
,
owner
,
victim
,
startPoint
,
endPoint
,
colPoint
,
arg5
)
;
//Вызываем оригинальную функцию.
}
//В иницилизацию плагина
hook
.
install
(
0x73B550
,
urmem
::
get_func_addr
(
&
DoBulletImpact
)
)
;
//Первый параметр метода - это куда мы ставим хук.
//Второй - это адресс нашего метода или функции. Если это метод класса, то он должен быть статичным.
//В выгрызку плагина
hook
.
disable
(
)
;


Ссылка на urmem

Ссылка на опредление метода DoBulletImpact и его адресс

Скажу от себя еще. Этой либой я лично не ставил хуки на thiscall и все делал исключительно на свой глаз и код может быть не рабочим.
 
Ответить с цитированием
Ответ



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

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


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




ANTICHAT ™ © 2001- Antichat Kft.