 |
|

08.11.2018, 17:44
|
|
Участник форума
Регистрация: 14.05.2014
Сообщений: 149
С нами:
6314183
Репутация:
68
|
|
Код:
Код:
((void(__thiscall *) (void *_this, char *message)) (g_dwSAMP_Addr + SAMP_FUNC_SAY)) (g_Players->pLocalPlayer, msg);
g_Players->pLocalPlayer то откуда взять? Я перерыл в поиске соба, не нашёл как заполняет pLocalPlayer.
|
|
|

08.11.2018, 18:17
|
|
Участник форума
Регистрация: 13.03.2016
Сообщений: 242
С нами:
5351007
Репутация:
0
|
|
Сообщение от leak.
так на скрине показывает до 0x407FFF строки, т,е это начало кода. в гта их больше
Я надеюсь ты не сравниваешь то что тебе показывает в ида? В запущеном виде часть памяти будет распределятся динамически, остальная часть кода разбросана по дллкам.
И советую дебагер всегда от админ прав запускать.
|
|
|

08.11.2018, 18:28
|
|
Постоянный
Регистрация: 28.03.2013
Сообщений: 495
С нами:
6908018
Репутация:
213
|
|
|
|
|

08.11.2018, 22:50
|
|
Познающий
Регистрация: 05.09.2016
Сообщений: 37
С нами:
5097707
Репутация:
58
|
|
Сообщение от Rzeźnik
Я надеюсь ты не сравниваешь то что тебе показывает в ида? В запущеном виде часть памяти будет распределятся динамически, остальная часть кода разбросана по дллкам.
И советую дебагер всегда от админ прав запускать.
закинул в папку дебагера плагины с гтихаба, теперь все адреса находят. большое спасибо)
|
|
|

10.11.2018, 23:14
|
|
Постоянный
Регистрация: 28.02.2018
Сообщений: 307
С нами:
4319022
Репутация:
113
|
|
как полностью выгрузить плагин с помощью pfree
Есть дочерний поток. После того как он закончил свою работу. Я хочу его выгрузить плагин. Но загрузить не могу потому что плагин еще использует gta_sa
C++:
Код:
void
ThreadEmulPressAlt
(
)
{
static
BitStream bsOnfootSync
;
static
stOnFootData ofSync
;
while
(
state
)
{
if
(
!
IsDriving
(
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
sLocalPlayerID
)
)
{
std
::
this_thread
::
sleep_for
(
std
::
chrono
::
milliseconds
(
curTimeOut
)
)
;
memset
(
&
ofSync
,
0
,
sizeof
(
stOnFootData
)
)
;
ofSync
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pLocalPlayer
->
onFootData
;
ofSync
.
stSampKeys
.
keys_unknown__walkSlow
=
1
;
bsOnfootSync
.
ResetWritePointer
(
)
;
bsOnfootSync
.
Write
(
(
BYTE
)
ID_PLAYER_SYNC
)
;
bsOnfootSync
.
Write
(
(
PCHAR
)
&
ofSync
,
sizeof
(
stOnFootData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
bsOnfootSync
)
;
ofSync
.
stSampKeys
.
keys_unknown__walkSlow
=
0
;
bsOnfootSync
.
ResetWritePointer
(
)
;
bsOnfootSync
.
Write
(
(
BYTE
)
ID_PLAYER_SYNC
)
;
bsOnfootSync
.
Write
(
(
PCHAR
)
&
ofSync
,
sizeof
(
stOnFootData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
bsOnfootSync
)
;
g_mutex
.
lock
(
)
;
paramsCurSession
.
speeds
.
speedSend
++
;
g_mutex
.
unlock
(
)
;
}
}
}
Вызов
C++:
Код:
thd
=
new
std
::
thread
(
ThreadEmulPressAlt
)
;
|
|
|

11.11.2018, 05:49
|
|
Участник форума
Регистрация: 13.03.2016
Сообщений: 242
С нами:
5351007
Репутация:
0
|
|
Сообщение от Firto
как полностью выгрузить плагин с помощью pfree
Есть дочерний поток. После того как он закончил свою работу. Я хочу его выгрузить плагин. Но загрузить не могу потому что плагин еще использует gta_sa
C++:
Код:
void
ThreadEmulPressAlt
(
)
{
static
BitStream bsOnfootSync
;
static
stOnFootData ofSync
;
while
(
state
)
{
if
(
!
IsDriving
(
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
sLocalPlayerID
)
)
{
std
::
this_thread
::
sleep_for
(
std
::
chrono
::
milliseconds
(
curTimeOut
)
)
;
memset
(
&
ofSync
,
0
,
sizeof
(
stOnFootData
)
)
;
ofSync
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pLocalPlayer
->
onFootData
;
ofSync
.
stSampKeys
.
keys_unknown__walkSlow
=
1
;
bsOnfootSync
.
ResetWritePointer
(
)
;
bsOnfootSync
.
Write
(
(
BYTE
)
ID_PLAYER_SYNC
)
;
bsOnfootSync
.
Write
(
(
PCHAR
)
&
ofSync
,
sizeof
(
stOnFootData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
bsOnfootSync
)
;
ofSync
.
stSampKeys
.
keys_unknown__walkSlow
=
0
;
bsOnfootSync
.
ResetWritePointer
(
)
;
bsOnfootSync
.
Write
(
(
BYTE
)
ID_PLAYER_SYNC
)
;
bsOnfootSync
.
Write
(
(
PCHAR
)
&
ofSync
,
sizeof
(
stOnFootData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
bsOnfootSync
)
;
g_mutex
.
lock
(
)
;
paramsCurSession
.
speeds
.
speedSend
++
;
g_mutex
.
unlock
(
)
;
}
}
}
Вызов
C++:
Код:
thd
=
new
std
::
thread
(
ThreadEmulPressAlt
)
;
ExitThread в потоке юзай
|
|
|

11.11.2018, 23:09
|
|
Постоянный
Регистрация: 28.02.2018
Сообщений: 307
С нами:
4319022
Репутация:
113
|
|
Сообщение от Rzeźnik
ExitThread в потоке юзай
не работает
C++:
Код:
void
ThreadEmulPressAlt
(
)
{
static
BitStream bsOnfootSync
;
static
stOnFootData ofSync
;
while
(
paramsCurSession
.
state
)
{
if
(
!
IsDriving
(
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
sLocalPlayerID
)
)
{
std
::
this_thread
::
sleep_for
(
std
::
chrono
::
milliseconds
(
paramsCurSession
.
curTimeOut
)
)
;
memset
(
&
ofSync
,
0
,
sizeof
(
stOnFootData
)
)
;
ofSync
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pLocalPlayer
->
onFootData
;
ofSync
.
stSampKeys
.
keys_unknown__walkSlow
=
1
;
bsOnfootSync
.
ResetWritePointer
(
)
;
bsOnfootSync
.
Write
(
(
BYTE
)
ID_PLAYER_SYNC
)
;
bsOnfootSync
.
Write
(
(
PCHAR
)
&
ofSync
,
sizeof
(
stOnFootData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
bsOnfootSync
)
;
ofSync
.
stSampKeys
.
keys_unknown__walkSlow
=
0
;
bsOnfootSync
.
ResetWritePointer
(
)
;
bsOnfootSync
.
Write
(
(
BYTE
)
ID_PLAYER_SYNC
)
;
bsOnfootSync
.
Write
(
(
PCHAR
)
&
ofSync
,
sizeof
(
stOnFootData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
bsOnfootSync
)
;
g_mutex
.
lock
(
)
;
paramsCurSession
.
speeds
.
speedSend
++
;
g_mutex
.
unlock
(
)
;
}
}
ExitThread
(
0
)
;
}
|
|
|

12.11.2018, 17:26
|
|
Постоянный
Регистрация: 13.02.2016
Сообщений: 532
С нами:
5392682
Репутация:
93
|
|
Gradient function:
Код:
Код:
void RenderWindowBackground(int x, int y, int size_x, int size_y, int alpha)
{
D3DCOLOR first_color = D3DCOLOR_ARGB(ini.color.bgnd_first.alpha, ini.color.bgnd_first.red, ini.color.bgnd_first.green, ini.color.bgnd_first.blue);
D3DCOLOR second_color = D3DCOLOR_ARGB(ini.color.bgnd_second.alpha, ini.color.bgnd_second.red, ini.color.bgnd_second.green, ini.color.bgnd_second.blue);
if (alpha) {
first_color = D3DCOLOR_ARGB(alpha, ini.color.bgnd_first.red, ini.color.bgnd_first.green, ini.color.bgnd_first.blue);
second_color = D3DCOLOR_ARGB(alpha, ini.color.bgnd_second.red, ini.color.bgnd_second.green, ini.color.bgnd_second.blue);
}
pD3DHook->pRender->D3DGradient(x, y, size_x, size_y, first_color, second_color);
}
Use:
Код:
Код:
ImGui::RenderWindowBackground(ImGui::GetWindowPos().x, ImGui::GetWindowPos().y, ImGui::GetWindowSize().x, ImGui::GetWindowSize().y);
|
|
|

12.11.2018, 17:41
|
|
Новичок
Регистрация: 31.07.2013
Сообщений: 12
С нами:
6727803
Репутация:
51
|
|
Господа, вылетает иногда GTA при Shift+0 , я так понял нужно дополнительное обнуление каких-либо данных, кто-то же все-таки сталкивался с данной проблемой, Как поправить?
|
|
|

12.11.2018, 18:39
|
|
Участник форума
Регистрация: 13.03.2016
Сообщений: 242
С нами:
5351007
Репутация:
0
|
|
Сообщение от JakeBat
Господа, вылетает иногда GTA при Shift+0 , я так понял нужно дополнительное обнуление каких-либо данных, кто-то же все-таки сталкивался с данной проблемой, Как поправить?
Для начала дать нам свой говнокод на анализ
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|