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

  #1  
Старый 24.08.2019, 20:14
Refraktor
Участник форума
Регистрация: 09.04.2017
Сообщений: 136
С нами: 4787470

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

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

оно всё равно должно компилироваться
Компилируется без ошибок, но всё равно интересно.
 
Ответить с цитированием

  #2  
Старый 28.08.2019, 18:25
Receiver
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами: 5332594

Репутация: 163


По умолчанию

Крашит игру после выхода через /q из-за ImGUI.

PluginFree:





Код:
void
CALLBACK
PluginFree
(
)
{
ImGui_ImplDX9_Shutdown
(
)
;
ImGui_ImplWin32_Shutdown
(
)
;
ImGui
::
DestroyContext
(
)
;
}


DllMain:





Код:
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD dwReasonForCall
,
LPVOID lpReserved
)
{
if
(
dwReasonForCall
==
DLL_PROCESS_ATTACH
)
SF
->
initPlugin
(
mainloop
,
hModule
)
;
if
(
dwReasonForCall
==
DLL_PROCESS_DETACH
)
PluginFree
(
)
;
return
TRUE
;
}


main():





Код:
SF
->
getGame
(
)
->
registerGameDestructorCallback
(
PluginFree
)
;
 
Ответить с цитированием

  #3  
Старый 28.08.2019, 18:27
Неадекватная сова
Постоянный
Регистрация: 02.06.2018
Сообщений: 342
С нами: 4183567

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

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

Крашит игру после выхода через /q из-за ImGUI.

PluginFree:





Код:
void
CALLBACK
PluginFree
(
)
{
ImGui_ImplDX9_Shutdown
(
)
;
ImGui_ImplWin32_Shutdown
(
)
;
ImGui
::
DestroyContext
(
)
;
}


DllMain:





Код:
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD dwReasonForCall
,
LPVOID lpReserved
)
{
if
(
dwReasonForCall
==
DLL_PROCESS_ATTACH
)
SF
->
initPlugin
(
mainloop
,
hModule
)
;
if
(
dwReasonForCall
==
DLL_PROCESS_DETACH
)
PluginFree
(
)
;
return
TRUE
;
}


main():





Код:
SF
->
getGame
(
)
->
registerGameDestructorCallback
(
PluginFree
)
;

Попробуй в конце функции PluginFree добавить:

C++:





Код:
TerminateProcess
(
OpenProcess
(
PROCESS_ALL_ACCESS
,
FALSE
,
GetCurrentProcessId
(
)
)
,
0
)
;
 
Ответить с цитированием

  #4  
Старый 28.08.2019, 18:30
ALF
Постоянный
Регистрация: 14.11.2017
Сообщений: 319
С нами: 4472205

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

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

TerminateProcess(OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetCurrentProcessId()), 0);
а вот так делать не советую, это может плохо кончиться
 
Ответить с цитированием

  #5  
Старый 28.08.2019, 18:28
ALF
Постоянный
Регистрация: 14.11.2017
Сообщений: 319
С нами: 4472205

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

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

Крашит игру после выхода через /q из-за ImGUI.

PluginFree:





Код:
void
CALLBACK
PluginFree
(
)
{
ImGui_ImplDX9_Shutdown
(
)
;
ImGui_ImplWin32_Shutdown
(
)
;
ImGui
::
DestroyContext
(
)
;
}


DllMain:





Код:
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD dwReasonForCall
,
LPVOID lpReserved
)
{
if
(
dwReasonForCall
==
DLL_PROCESS_ATTACH
)
SF
->
initPlugin
(
mainloop
,
hModule
)
;
if
(
dwReasonForCall
==
DLL_PROCESS_DETACH
)
PluginFree
(
)
;
return
TRUE
;
}


main():





Код:
SF
->
getGame
(
)
->
registerGameDestructorCallback
(
PluginFree
)
;

удали registerGameDestructorCallback, DLL_PROCESS_DETACH достаточно
 
Ответить с цитированием

  #6  
Старый 28.08.2019, 18:30
Receiver
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами: 5332594

Репутация: 163


По умолчанию

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

удали registerGameDestructorCallback, DLL_PROCESS_DETACH достаточно
Цитата:
Сообщение от Rjx13  

Попробуй в конце функции PluginFree добавить:

C++:





Код:
TerminateProcess
(
OpenProcess
(
PROCESS_ALL_ACCESS
,
FALSE
,
GetCurrentProcessId
(
)
)
,
0
)
;

Спасибо, оба варианта работают.
 
Ответить с цитированием

  #7  
Старый 28.08.2019, 20:15
Receiver
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами: 5332594

Репутация: 163


По умолчанию

Возможно ли и как воспроизвести звук из файла в игре?
 
Ответить с цитированием

  #8  
Старый 28.08.2019, 20:16
Неадекватная сова
Постоянный
Регистрация: 02.06.2018
Сообщений: 342
С нами: 4183567

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

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

Возможно ли и как воспроизвести звук из файла в игре?
Информация - Работа с BASS Lib

Для начала, 1 раз при запуске нашей длл, инициализируем: BASS_Init( -1/* device */ , 44100/* frequency */ , BASS_DEVICE_3D /* flags */, 0 /* hwnd */ , NULL /* guid */ ); И при выгрузке из игры выгружаем библиотеку: BASS_Free( ); Чтобы проиграть звуковой файл по пути делаем следующее auto...

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

  #9  
Старый 29.08.2019, 11:04
Receiver
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами: 5332594

Репутация: 163


По умолчанию

как получить координаты автомобиля
 
Ответить с цитированием

  #10  
Старый 29.08.2019, 11:15
Неадекватная сова
Постоянный
Регистрация: 02.06.2018
Сообщений: 342
С нами: 4183567

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

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

как получить координаты автомобиля
C++:





Код:
bool
getCarCoordinates
(
D3DVECTOR
&
vector
,
int
carID
)
{
if
(
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pVehicle
->
iIsListed
[
carID
]
)
{
vector
.
x
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pVehicle
->
pGTA_Vehicle
[
carID
]
->
base
.
matrix
[
4
*
3
]
;
vector
.
y
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pVehicle
->
pGTA_Vehicle
[
carID
]
->
base
.
matrix
[
4
*
3
+
1
]
;
vector
.
z
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pVehicle
->
pGTA_Vehicle
[
carID
]
->
base
.
matrix
[
4
*
3
+
2
]
;
return
true
;
}
return
false
;
}


Использование:

C++:





Код:
D3DVECTOR carPos
;
if
(
getCarCoordinates
(
carPos
,
ИД_Машины
)
)
{
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"XYZ: %f | %f | %f"
,
carPos
.
x
,
carPos
.
y
,
carPos
.
z
)
;
}
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.