
08.09.2018, 18:24
|
|
Познавший АНТИЧАТ
Регистрация: 09.08.2015
Сообщений: 1,213
С нами:
5663255
Репутация:
183
|
|
Сообщение от Musaigen
Данная фича не реагирует на тип bool, даже пробывал reinterpet_cast, хз как там. Вот как я делал.
C++:
Код:
*
(
bool
*
)
0xB7CEE4
=
true
;
// типо должен выдавать мне беск. бег, но нихуя.
Попробуй это:
C++:
Код:
*
(
BYTE
*
)
0xB7CEE4
=
1
;
|
|
|

08.09.2018, 18:37
|
|
Познавший АНТИЧАТ
Регистрация: 01.04.2018
Сообщений: 1,710
С нами:
4272230
Репутация:
183
|
|
Сообщение от Rinat_Namazov
Попробуй это:
C++:
Код:
*
(
BYTE
*
)
0xB7CEE4
=
1
;
Не, не сработало. Видимо не суждено мне быть бесконечным бегуном.
|
|
|

09.09.2018, 09:51
|
|
Познавший АНТИЧАТ
Регистрация: 22.02.2017
Сообщений: 1,474
С нами:
4852492
Репутация:
88
|
|
Как вывести локально сообщение в asi?
|
|
|

10.09.2018, 05:50
|
|
Постоянный
Регистрация: 28.03.2013
Сообщений: 495
С нами:
6908018
Репутация:
213
|
|
Сообщение от mr.krabs
Как вывести локально сообщение в asi?
BlastHackNet/mod_s0beit_sa(https://github.com/BlastHackNet/mod_s0beit_sa/blob/master/src/samp.cpp#L675)
Сообщение от _=Gigant=_
why this not working i wanted to check when i'm driving to put gravity back to normal
if (cheat_state->state == CHEAT_STATE_ACTOR)
{
gta_gravity_set(10.0000);
}
else if (cheat_state->state == CHEAT_STATE_VEHICLE)
{
gta_gravity_set(0.0080);
}
cheat_state->state maybe can't change, check it
Сообщение от _Vine_
Здравствуйте.
Заметил, что из за перехвата оконной процедуры(wndproc) через SetWindowLongPtr, при выгрузке плагина через консоль сф командой "pfree SFPlugin" происходит краш. В коллбэке деструктора игры и DLL PROCESS DETACH'e пытался восстанавливать оригинальный WndProc, но краш все равно был.
Может быть, кто нибудь знает, из за чего такое происходит?
C++:
Код:
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS
#include
#include
#include
#include
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
#pragma comment(lib, "user32.lib")
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
WNDPROC oWndProc
=
0
;
LRESULT __stdcall
WndProc
(
HWND hWnd
,
UINT uMsg
,
WPARAM wParam
,
LPARAM lParam
)
{
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"WNDPROC CALLED"
)
;
return
CallWindowProcA
(
oWndProc
,
hWnd
,
uMsg
,
wParam
,
lParam
)
;
}
void
__stdcall
Destructor
(
)
{
static
bool
once
=
false
;
if
(
!
once
)
{
SetWindowLongPtr
(
GetForegroundWindow
(
)
,
GWLP_WNDPROC
,
(
long
)
oWndProc
)
;
once
=
true
;
}
}
void
CALLBACK
mainloop
(
)
{
static
bool
init
=
false
;
if
(
!
init
)
{
if
(
GAME
==
nullptr
||
GAME
->
GetSystemState
(
)
!=
eSystemState
::
GS_PLAYING_GAME
||
!
SF
->
getSAMP
(
)
->
IsInitialized
(
)
)
return
;
oWndProc
=
(
WNDPROC
)
SetWindowLongPtr
(
GetForegroundWindow
(
)
,
GWLP_WNDPROC
,
(
long
)
WndProc
)
;
SF
->
getGame
(
)
->
registerGameDestructorCallback
(
Destructor
)
;
init
=
true
;
}
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD dwReasonForCall
,
LPVOID lpReserved
)
{
if
(
dwReasonForCall
==
DLL_PROCESS_ATTACH
)
SF
->
initPlugin
(
mainloop
,
hModule
)
;
else
if
(
dwReasonForCall
==
DLL_PROCESS_DETACH
)
Destructor
(
)
;
return
TRUE
;
}
в sf wndproc уже перехвачен, достаточно зарегать каллбек.
тут пример - Гайд - API SF | Урок 5 - Подключение ImGui(https://blast.hk/threads/23083/)
|
|
|

11.09.2018, 08:46
|
|
Участник форума
Регистрация: 06.01.2016
Сообщений: 154
С нами:
5447649
Репутация:
28
|
|
А можно ли как то сделать это без сф?
|
|
|

11.09.2018, 09:20
|
|
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,262
С нами:
6935116
Репутация:
183
|
|
Сообщение от _Vine_
А можно ли как то сделать это без сф?
нет, твой хук потом еще 40 раз какие-нибудь собейты, сфы перезапишут в итоге очередь не вернуть
|
|
|

11.09.2018, 09:33
|
|
Познавший АНТИЧАТ
Регистрация: 09.08.2015
Сообщений: 1,213
С нами:
5663255
Репутация:
183
|
|
Сообщение от Weeq
нет, твой хук потом еще 40 раз какие-нибудь собейты, сфы перезапишут в итоге очередь не вернуть
Может можно выделить память (Чтобы при выгрузке функция осталось в процессе), записать туда функцию WndProc которая вызывает следующий WndProc, что бы не сломать очередь?
|
|
|

09.09.2018, 23:40
|
|
Участник форума
Регистрация: 06.01.2016
Сообщений: 154
С нами:
5447649
Репутация:
28
|
|
Здравствуйте.
Заметил, что из за перехвата оконной процедуры(wndproc) через SetWindowLongPtr, при выгрузке плагина через консоль сф командой "pfree SFPlugin" происходит краш. В коллбэке деструктора игры и DLL PROCESS DETACH'e пытался восстанавливать оригинальный WndProc, но краш все равно был.
Может быть, кто нибудь знает, из за чего такое происходит?
C++:
Код:
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS
#include
#include
#include
#include
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
#pragma comment(lib, "user32.lib")
SAMPFUNCS
*
SF
=
new
SAMPFUNCS
(
)
;
WNDPROC oWndProc
=
0
;
LRESULT __stdcall
WndProc
(
HWND hWnd
,
UINT uMsg
,
WPARAM wParam
,
LPARAM lParam
)
{
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"WNDPROC CALLED"
)
;
return
CallWindowProcA
(
oWndProc
,
hWnd
,
uMsg
,
wParam
,
lParam
)
;
}
void
__stdcall
Destructor
(
)
{
static
bool
once
=
false
;
if
(
!
once
)
{
SetWindowLongPtr
(
GetForegroundWindow
(
)
,
GWLP_WNDPROC
,
(
long
)
oWndProc
)
;
once
=
true
;
}
}
void
CALLBACK
mainloop
(
)
{
static
bool
init
=
false
;
if
(
!
init
)
{
if
(
GAME
==
nullptr
||
GAME
->
GetSystemState
(
)
!=
eSystemState
::
GS_PLAYING_GAME
||
!
SF
->
getSAMP
(
)
->
IsInitialized
(
)
)
return
;
oWndProc
=
(
WNDPROC
)
SetWindowLongPtr
(
GetForegroundWindow
(
)
,
GWLP_WNDPROC
,
(
long
)
WndProc
)
;
SF
->
getGame
(
)
->
registerGameDestructorCallback
(
Destructor
)
;
init
=
true
;
}
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD dwReasonForCall
,
LPVOID lpReserved
)
{
if
(
dwReasonForCall
==
DLL_PROCESS_ATTACH
)
SF
->
initPlugin
(
mainloop
,
hModule
)
;
else
if
(
dwReasonForCall
==
DLL_PROCESS_DETACH
)
Destructor
(
)
;
return
TRUE
;
}
|
|
|

12.09.2018, 10:27
|
|
Участник форума
Регистрация: 17.12.2017
Сообщений: 110
С нами:
4423953
Репутация:
68
|
|
как отправить фейк анимацию
|
|
|

12.09.2018, 10:53
|
|
Познающий
Регистрация: 22.07.2015
Сообщений: 58
С нами:
5689694
Репутация:
68
|
|
Сообщение от raymondique
как отправить фейк анимацию
Хукать онфут дату и редактировать параметры sCurrentAnimationID, sAnimFlags
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|