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

  #3831  
Старый 15.07.2019, 00:36
Stiopko
Постоянный
Регистрация: 28.02.2018
Сообщений: 307
С нами: 4319022

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

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

Он тебе всё верно скинул

Не правильно подключил инклуды, посмотри примеры тут:

imgui/examples/example_win32_directx9/main.cpp at master · ocornut/imgui

Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies - ocornut/imgui

github.com


Исходник - ASI Плагин с подключенным ImGui v1.72(WIP)

Собственно, кто то должен был это сделать, ну и вот. Имеется полная выгрузка, хукер - VMT, не самый лучший хукер. Код вроде как красивый, и соответствует стандартам C++ 2017. Создавался на VS2019, с последними обновлениями. https://github.com/rraggerr/asi_imgui Желательно удалять...

blast.hk

я сравнил в роде все правильно

Цитата:
Сообщение от Спойлер  


C++:





Код:
#pragma once
#ifndef _STDLLPROGECT_H_
#define _STDLLPROGECT_H_
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 1
#include 
#include "stPlugin.h"
#include "../Hook/d3dhook.h"
#include 
#include 
#include "../ImGui/imgui.h"
#include "../ImGui/imgui_impl_win32.h"
#include "../ImGui/imgui_impl_dx9.h"
#include "../ImGui/imgui_stdlib.h"
#include "../ImGui/imgui_internal.h"
typedef
void
(
_MyEndScene
)
(
IDirect3DDevice9
*
)
;
typedef
void
(
_MyReset
)
(
IDirect3DDevice9
*
,
D3DPRESENT_PARAMETERS
*
)
;
class
stDLLProject
{
// helpThread
BOOL threadState
=
TRUE
;
HANDLE mainThread
;
// mainThread
LONG PrevWndFunc
=
NULL
;
Plugin
*
pPlug
=
nullptr
;
// D3D9 Hook
static
_EndScene
*
oEndScene
;
static
_Reset
*
oReset
;
static
_MyEndScene
*
endScene
;
static
_MyReset
*
reset
;
static
HRESULT WINAPI
myReset
(
IDirect3DDevice9
*
m_pDevice
,
D3DPRESENT_PARAMETERS
*
pPresentationParameters
)
;
static
HRESULT WINAPI
myEndScene
(
IDirect3DDevice9
*
m_pDevice
)
;
public
:
// SAMP window
HWND m_pGameWindow
=
NULL
;
// D3D9
IDirect3DDevice9
*
device
=
nullptr
;
stDLLProject
(
_beginthread_proc_type func
)
;
// Initialization only in ather thread
void
Init
(
const
uint32_t
&
timeout
=
100
)
;
void
InitHookGameDestructor
(
void
(
__stdcall destructor
)
(
void
)
)
;
void
InitD3D9
(
)
;
void
InitD3D9hook
(
_MyEndScene
*
eendScene
,
_MyReset
*
rreset
)
;
void
InitSAMPWindow
(
const
uint32_t
&
timeout
=
100
)
;
void
InitImGUI
(
)
;
void
InitilizingPlugin
(
)
;
Plugin
*
GetPlugin
(
)
const
;
BOOL
GetThreadState
(
)
const
;
~
stDLLProject
(
)
;
}
;
#endif
// _STDLLPROGECT_H_


d3dhook.h

C++:





Код:
#pragma once
#ifndef _D3DHOOK_H_
#define _D3DHOOK_H_
#include 
#include 
#define DIRECTINPUT_VERSION 0x0800
#include 
typedef
HRESULT
(
WINAPI _EndScene
)
(
IDirect3DDevice9
*
)
;
typedef
HRESULT
(
WINAPI _Reset
)
(
IDirect3DDevice9
*
,
D3DPRESENT_PARAMETERS
*
)
;
void
InitHook
(
IDirect3DDevice9
*
device
,
_EndScene
*
myEndScene
,
_Reset
*
myReset
,
_EndScene
*
*
_endScene
,
_Reset
*
*
_reset
)
;
#endif
// _D3DHOOK_H_


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

  #3832  
Старый 15.07.2019, 04:11
_Vine_
Участник форума
Регистрация: 06.01.2016
Сообщений: 154
С нами: 5447649

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

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

я сравнил в роде все правильно

Цитата:
Сообщение от Спойлер  


C++:





Код:
#pragma once
#ifndef _STDLLPROGECT_H_
#define _STDLLPROGECT_H_
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 1
#include 
#include "stPlugin.h"
#include "../Hook/d3dhook.h"
#include 
#include 
#include "../ImGui/imgui.h"
#include "../ImGui/imgui_impl_win32.h"
#include "../ImGui/imgui_impl_dx9.h"
#include "../ImGui/imgui_stdlib.h"
#include "../ImGui/imgui_internal.h"
typedef
void
(
_MyEndScene
)
(
IDirect3DDevice9
*
)
;
typedef
void
(
_MyReset
)
(
IDirect3DDevice9
*
,
D3DPRESENT_PARAMETERS
*
)
;
class
stDLLProject
{
// helpThread
BOOL threadState
=
TRUE
;
HANDLE mainThread
;
// mainThread
LONG PrevWndFunc
=
NULL
;
Plugin
*
pPlug
=
nullptr
;
// D3D9 Hook
static
_EndScene
*
oEndScene
;
static
_Reset
*
oReset
;
static
_MyEndScene
*
endScene
;
static
_MyReset
*
reset
;
static
HRESULT WINAPI
myReset
(
IDirect3DDevice9
*
m_pDevice
,
D3DPRESENT_PARAMETERS
*
pPresentationParameters
)
;
static
HRESULT WINAPI
myEndScene
(
IDirect3DDevice9
*
m_pDevice
)
;
public
:
// SAMP window
HWND m_pGameWindow
=
NULL
;
// D3D9
IDirect3DDevice9
*
device
=
nullptr
;
stDLLProject
(
_beginthread_proc_type func
)
;
// Initialization only in ather thread
void
Init
(
const
uint32_t
&
timeout
=
100
)
;
void
InitHookGameDestructor
(
void
(
__stdcall destructor
)
(
void
)
)
;
void
InitD3D9
(
)
;
void
InitD3D9hook
(
_MyEndScene
*
eendScene
,
_MyReset
*
rreset
)
;
void
InitSAMPWindow
(
const
uint32_t
&
timeout
=
100
)
;
void
InitImGUI
(
)
;
void
InitilizingPlugin
(
)
;
Plugin
*
GetPlugin
(
)
const
;
BOOL
GetThreadState
(
)
const
;
~
stDLLProject
(
)
;
}
;
#endif
// _STDLLPROGECT_H_


d3dhook.h

C++:





Код:
#pragma once
#ifndef _D3DHOOK_H_
#define _D3DHOOK_H_
#include 
#include 
#define DIRECTINPUT_VERSION 0x0800
#include 
typedef
HRESULT
(
WINAPI _EndScene
)
(
IDirect3DDevice9
*
)
;
typedef
HRESULT
(
WINAPI _Reset
)
(
IDirect3DDevice9
*
,
D3DPRESENT_PARAMETERS
*
)
;
void
InitHook
(
IDirect3DDevice9
*
device
,
_EndScene
*
myEndScene
,
_Reset
*
myReset
,
_EndScene
*
*
_endScene
,
_Reset
*
*
_reset
)
;
#endif
// _D3DHOOK_H_


Не добавил .cpp файлы имгуи в проект
 
Ответить с цитированием

  #3833  
Старый 16.07.2019, 06:04
damag
Познавший АНТИЧАТ
Регистрация: 14.06.2018
Сообщений: 1,150
С нами: 4165677

Репутация: 183


По умолчанию

Ку, может кто-то знает, как выглядят эти функи на с++

applyForceToCar

setCarRotationVelocity

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

  #3834  
Старый 16.07.2019, 16:06
Stiopko
Постоянный
Регистрация: 28.02.2018
Сообщений: 307
С нами: 4319022

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

Почему при попытке использовать имгуи все летит сюда



Инициализация

C++:





Код:
ImGui
::
CreateContext
(
)
;
ImGui_ImplWin32_Init
(
GetActiveWindow
(
)
)
;
ImGui_ImplDX9_Init
(
*
(
IDirect3DDevice9
*
*
)
0xC97C28
)
;
 
Ответить с цитированием

  #3835  
Старый 16.07.2019, 16:45
ALF
Постоянный
Регистрация: 14.11.2017
Сообщений: 319
С нами: 4472205

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

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

Почему при попытке использовать имгуи все летит сюда

Инициализация

C++:





Код:
ImGui
::
CreateContext
(
)
;
ImGui_ImplWin32_Init
(
GetActiveWindow
(
)
)
;
ImGui_ImplDX9_Init
(
*
(
IDirect3DDevice9
*
*
)
0xC97C28
)
;

Решено Ошибка после подключения imgui

День добрый. Подключил к своему плагину ImGui. Всё работает, но есть одна проблема. Когда на этапе загрузки игры свернуть окно (или выбрать другое окно), то выскакивает следующая ошибка, и игру крашит. Замечал, что у того же мунлоадера или других плагинов с этим всё нормально. Где я сделал...

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

  #3836  
Старый 17.07.2019, 21:28
Stiopko
Постоянный
Регистрация: 28.02.2018
Сообщений: 307
С нами: 4319022

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

Как можно выгрузить аsi, и снять хуки которые я поставил через собейтовский клас CDetour

Вот как я снимаю хуки, но хз правильно ли

C++:





Код:
bool
RemoveSAMPHook
(
uint32_t
dwFuncOffset
,
void
*
origFunc
,
int
iType
,
int
iSize
)
{
if
(
GetModuleHandle
(
"samp.dll"
)
==
NULL
)
return
false
;
uint32_t
g_dwSAMP_Addr
=
(
uint32_t
)
GetModuleHandle
(
"samp.dll"
)
;
CDetour api
;
return
api
.
Remove
(
(
uint8_t
*
)
(
(
uint32_t
)
g_dwSAMP_Addr
)
+
dwFuncOffset
,
(
uint8_t
*
)
origFunc
,
iType
,
iSize
)
;
}
RemoveSAMPHook
(
SAMP_HOOKENTER_CNETGAME_DESTR
,
oDestrFuncs
[
0
]
,
3
,
5
)
RemoveSAMPHook
(
SAMP_HOOKENTER_CNETGAME_DESTR2
,
oDestrFuncs
[
1
]
,
3
,
5
)


И еще, что я делаю не так, что при инициализации окна сампа то FindWindowA возвращает всегда NULL

C++:





Код:
while
(
m_pGameWindow
==
NULL
)
{
m_pGameWindow
=
FindWindowA
(
NULL
,
"GTA:SA:MP"
)
;
Sleep
(
timeout
)
;
}
 
Ответить с цитированием

  #3837  
Старый 18.07.2019, 23:39
Musaigen
Познавший АНТИЧАТ
Регистрация: 01.04.2018
Сообщений: 1,710
С нами: 4272230

Репутация: 183


По умолчанию

Есть файл test.h, есть папка game, в ней файл test.cpp, вопрос, как сделать так чтобы я могу инклуднуть файл test.h в test.cpp именно вот так
Код:
#include
?
 
Ответить с цитированием

  #3838  
Старый 19.07.2019, 08:14
index
Новичок
Регистрация: 18.10.2015
Сообщений: 6
С нами: 5563739

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

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

Есть файл test.h, есть папка game, в ней файл test.cpp, вопрос, как сделать так чтобы я могу инклуднуть файл test.h в test.cpp именно вот так
Код:
#include
?
Чтобы именно так - они должны лежать в одной директории. В твоем случае можно заинклудить так:
Код:
#include
Upd: подзабыл. Парень ниже описал верный способ без "..\".
 
Ответить с цитированием

  #3839  
Старый 19.07.2019, 17:20
CarLCas
Участник форума
Регистрация: 12.07.2013
Сообщений: 161
С нами: 6755146

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

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

Есть файл test.h, есть папка game, в ней файл test.cpp, вопрос, как сделать так чтобы я могу инклуднуть файл test.h в test.cpp именно вот так
Код:
#include
?
Свойства проекта > Каталоги VC++ > Каталоги включения. Добавляешь путь до папки где лежит test.h
 
Ответить с цитированием

  #3840  
Старый 19.07.2019, 23:40
Musaigen
Познавший АНТИЧАТ
Регистрация: 01.04.2018
Сообщений: 1,710
С нами: 4272230

Репутация: 183


По умолчанию

Из-за чего raknet хук может выдавать значение 0 при чтении структуры stOnFootData(также при чтении вообще любых структур)

RakNetHook:





Код:
bool
OnReceivePacket
(
Packet
*
p
)
{
if
(
p
->
data
==
nullptr
||
p
->
length
==
0
)
return
true
;
if
(
p
->
data
[
0
]
==
ID_PLAYER_SYNC
)
{
BitStream
bs
(
p
->
data
,
p
->
length
,
false
)
;
uint16_t
playerID
=
uint16_t
(
-
1
)
;
stOnFootData data
{
0
}
;
bs
.
ResetReadPointer
(
)
;
bs
.
IgnoreBits
(
8
)
;
bs
.
Read
(
playerID
)
;
bs
.
Read
(
(
PCHAR
)
&
data
,
sizeof
(
stOnFootData
)
)
;
// Дальше происходит форматирование и вывод.
}
}


Пытаюсь вывести айди(playerID) и позицию игрока(data.fPosition)

ID - высвечивается нормально, как положено.

Позиция игрока - выводится как 0

Конфликтов между собейтом или другими плагинами/скриптами нет.
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.