
26.11.2025, 17:03
|
|
Познающий
Регистрация: 16.05.2025
Сообщений: 35
С нами:
526134
Репутация:
8
|
|
Сообщение от yorenov
Альт как прожать? Так не воркает:
С++:
Код:
RakNet
::
BitStream bs
;
bs
.
ResetWritePointer
(
)
;
Synchronization
::
OnfootData onfootData
{
}
;
std
::
memcpy
(
&
onfootData
,
&
RefNetGame
(
)
->
GetPlayerPool
(
)
->
GetLocalPlayer
(
)
->
m_onfootData
,
sizeof
(
Synchronization
::
OnfootData
)
)
;
onfootData
.
m_controllerState
.
m_bPedWalk
=
1
;
onfootData
.
m_controllerState
.
m_value
=
static_cast
(
1024
)
;
bs
.
Write
(
static_cast
(
ID_PLAYER_SYNC
)
)
;
bs
.
Write
(
reinterpret_cast
(
&
onfootData
)
,
sizeof
(
Synchronization
::
OnfootData
)
)
;
rakhook
::
send
(
&
bs
,
HIGH_PRIORITY
,
RELIABLE_SEQUENCED
,
1
)
;
onfootData
.
m_controllerState
.
m_bPedWalk
=
0
;
onfootData
.
m_controllerState
.
m_value
=
static_cast
(
0
)
;
bs
.
Write
(
static_cast
(
ID_PLAYER_SYNC
)
)
;
bs
.
Write
(
reinterpret_cast
(
&
onfootData
)
,
sizeof
(
Synchronization
::
OnfootData
)
)
;
rakhook
::
send
(
&
bs
,
HIGH_PRIORITY
,
RELIABLE_SEQUENCED
,
1
)
;
А так прожимает только 1 раз + ко всему - костыль
C++:
Код:
input
[
0
]
.
type
=
INPUT_KEYBOARD
;
input
[
0
]
.
ki
.
wVk
=
0
;
input
[
0
]
.
ki
.
dwFlags
=
KEYEVENTF_SCANCODE
;
input
[
0
]
.
ki
.
wScan
=
0x38
;
input
[
1
]
.
type
=
INPUT_KEYBOARD
;
input
[
1
]
.
ki
.
wVk
=
0
;
input
[
1
]
.
ki
.
dwFlags
=
KEYEVENTF_SCANCODE
|
KEYEVENTF_KEYUP
;
input
[
1
]
.
ki
.
wScan
=
0x38
;
SendInput
(
2
,
input
,
sizeof
(
INPUT
)
)
;
ратку опять кинь, прожмется алт
|
|
|

26.11.2025, 17:17
|
|
Познающий
Регистрация: 08.11.2023
Сообщений: 65
С нами:
1324882
Репутация:
23
|
|
Сообщение от undefine
ратку опять кинь
Какую ратку?
|
|
|

26.11.2025, 18:13
|
|
Познающий
Регистрация: 16.05.2025
Сообщений: 35
С нами:
526134
Репутация:
8
|
|
Сообщение от yorenov
Какую ратку?
забыл? тебе в тг написали ты кинул свой твинк и с него типу ратку кинули
|
|
|

27.11.2025, 03:45
|
|
Познающий
Регистрация: 08.11.2023
Сообщений: 65
С нами:
1324882
Репутация:
23
|
|
Сообщение от undefine
забыл? тебе в тг написали ты кинул свой твинк и с него типу ратку кинули
В тему с заказами зайди, там много весело "неактуально", а потом - я сменил ТГ юз, ушел в работу в реальной жизни. ТГ юз занял идиот который заскамил типов, попросив обратно ТГ юз - он отказал. В итоге скамит и по сей день, к этому я не имею никакого отношения
Сообщение от yorenov
Альт как прожать? Так не воркает:
С++:
Код:
RakNet
::
BitStream bs
;
bs
.
ResetWritePointer
(
)
;
Synchronization
::
OnfootData onfootData
{
}
;
std
::
memcpy
(
&
onfootData
,
&
RefNetGame
(
)
->
GetPlayerPool
(
)
->
GetLocalPlayer
(
)
->
m_onfootData
,
sizeof
(
Synchronization
::
OnfootData
)
)
;
onfootData
.
m_controllerState
.
m_bPedWalk
=
1
;
onfootData
.
m_controllerState
.
m_value
=
static_cast
(
1024
)
;
bs
.
Write
(
static_cast
(
ID_PLAYER_SYNC
)
)
;
bs
.
Write
(
reinterpret_cast
(
&
onfootData
)
,
sizeof
(
Synchronization
::
OnfootData
)
)
;
rakhook
::
send
(
&
bs
,
HIGH_PRIORITY
,
RELIABLE_SEQUENCED
,
1
)
;
onfootData
.
m_controllerState
.
m_bPedWalk
=
0
;
onfootData
.
m_controllerState
.
m_value
=
static_cast
(
0
)
;
bs
.
Write
(
static_cast
(
ID_PLAYER_SYNC
)
)
;
bs
.
Write
(
reinterpret_cast
(
&
onfootData
)
,
sizeof
(
Synchronization
::
OnfootData
)
)
;
rakhook
::
send
(
&
bs
,
HIGH_PRIORITY
,
RELIABLE_SEQUENCED
,
1
)
;
А так прожимает только 1 раз + ко всему - костыль
C++:
Код:
input
[
0
]
.
type
=
INPUT_KEYBOARD
;
input
[
0
]
.
ki
.
wVk
=
0
;
input
[
0
]
.
ki
.
dwFlags
=
KEYEVENTF_SCANCODE
;
input
[
0
]
.
ki
.
wScan
=
0x38
;
input
[
1
]
.
type
=
INPUT_KEYBOARD
;
input
[
1
]
.
ki
.
wVk
=
0
;
input
[
1
]
.
ki
.
dwFlags
=
KEYEVENTF_SCANCODE
|
KEYEVENTF_KEYUP
;
input
[
1
]
.
ki
.
wScan
=
0x38
;
SendInput
(
2
,
input
,
sizeof
(
INPUT
)
)
;
Актуально, парни, помогите кликнуть злой альт на Радмире. 215 пакет не отправляется от клиента (при нажатии альта его просто нет - вход в квартиру)
|
|
|

30.11.2025, 18:18
|
|
Познающий
Регистрация: 08.11.2023
Сообщений: 65
С нами:
1324882
Репутация:
23
|
|
Сообщение от yorenov
Альт как прожать? Так не воркает:
С++:
Код:
RakNet
::
BitStream bs
;
bs
.
ResetWritePointer
(
)
;
Synchronization
::
OnfootData onfootData
{
}
;
std
::
memcpy
(
&
onfootData
,
&
RefNetGame
(
)
->
GetPlayerPool
(
)
->
GetLocalPlayer
(
)
->
m_onfootData
,
sizeof
(
Synchronization
::
OnfootData
)
)
;
onfootData
.
m_controllerState
.
m_bPedWalk
=
1
;
onfootData
.
m_controllerState
.
m_value
=
static_cast
(
1024
)
;
bs
.
Write
(
static_cast
(
ID_PLAYER_SYNC
)
)
;
bs
.
Write
(
reinterpret_cast
(
&
onfootData
)
,
sizeof
(
Synchronization
::
OnfootData
)
)
;
rakhook
::
send
(
&
bs
,
HIGH_PRIORITY
,
RELIABLE_SEQUENCED
,
1
)
;
onfootData
.
m_controllerState
.
m_bPedWalk
=
0
;
onfootData
.
m_controllerState
.
m_value
=
static_cast
(
0
)
;
bs
.
Write
(
static_cast
(
ID_PLAYER_SYNC
)
)
;
bs
.
Write
(
reinterpret_cast
(
&
onfootData
)
,
sizeof
(
Synchronization
::
OnfootData
)
)
;
rakhook
::
send
(
&
bs
,
HIGH_PRIORITY
,
RELIABLE_SEQUENCED
,
1
)
;
А так прожимает только 1 раз + ко всему - костыль
C++:
Код:
input
[
0
]
.
type
=
INPUT_KEYBOARD
;
input
[
0
]
.
ki
.
wVk
=
0
;
input
[
0
]
.
ki
.
dwFlags
=
KEYEVENTF_SCANCODE
;
input
[
0
]
.
ki
.
wScan
=
0x38
;
input
[
1
]
.
type
=
INPUT_KEYBOARD
;
input
[
1
]
.
ki
.
wVk
=
0
;
input
[
1
]
.
ki
.
dwFlags
=
KEYEVENTF_SCANCODE
|
KEYEVENTF_KEYUP
;
input
[
1
]
.
ki
.
wScan
=
0x38
;
SendInput
(
2
,
input
,
sizeof
(
INPUT
)
)
;
Актуально, как на синхре прожимать альт? Или я что то не так делаю? Вроде же m_value - это specialKey?
Сообщение от yorenov
Актуально, как на синхре прожимать альт? Или я что то не так делаю? Вроде же m_value - это specialKey?
m_value - short (16 бит), а я кастил к uint8_t, т.е.
1024 (0x0400) превращался в 0 у меня (низкий байт), и в итоге бит вообще не ставится))) + Я перезатирал все остальные клавиши, вместо того, чтобы просто добавить бит walk)
|
|
|

04.12.2025, 20:11
|
|
Познающий
Регистрация: 16.05.2025
Сообщений: 35
С нами:
526134
Репутация:
8
|
|
какая функция в гта отвечает за рендер build-object? типо пробывал CEntity::Render оно онли игроков с машинами, или же при
C++:
Код:
for
(
int
i
=
0
;
i
m_nSize
;
i
++
)
{
CBuilding
*
obj
=
objectsPool
->
GetAt
(
i
)
;
}
static
RpAtomic
*
atomic_callback
(
RpAtomic
*
atomic
,
void
*
obj
)
{
if
(
atomic
->
geometry
)
{
atomic
->
geometry
->
flags
|=
rpGEOMETRYMODULATEMATERIALCOLOR
;
RpGeometryForAllMaterials
(
atomic
->
geometry
,
material_callback
,
obj
)
;
}
return
atomic
;
}
static
RpMaterial
*
material_callback
(
RpMaterial
*
material
,
void
*
obj
)
{
if
(
!
material
||
!
material
->
texture
)
return
material
;
material
->
color
.
blue
=
255
;
material
->
color
.
red
=
0
;
material
->
color
.
green
=
0
;
return
material
;
}
и при попытке передать в atomic_callback крашит
|
|
|

04.12.2025, 21:10
|
|
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
С нами:
2055431
Репутация:
3
|
|
Сообщение от undefine
какая функция в гта отвечает за рендер build-object? типо пробывал CEntity::Render оно онли игроков с машинами, или же при
C++:
Код:
for
(
int
i
=
0
;
i
m_nSize
;
i
++
)
{
CBuilding
*
obj
=
objectsPool
->
GetAt
(
i
)
;
}
static
RpAtomic
*
atomic_callback
(
RpAtomic
*
atomic
,
void
*
obj
)
{
if
(
atomic
->
geometry
)
{
atomic
->
geometry
->
flags
|=
rpGEOMETRYMODULATEMATERIALCOLOR
;
RpGeometryForAllMaterials
(
atomic
->
geometry
,
material_callback
,
obj
)
;
}
return
atomic
;
}
static
RpMaterial
*
material_callback
(
RpMaterial
*
material
,
void
*
obj
)
{
if
(
!
material
||
!
material
->
texture
)
return
material
;
material
->
color
.
blue
=
255
;
material
->
color
.
red
=
0
;
material
->
color
.
green
=
0
;
return
material
;
}
и при попытке передать в atomic_callback крашит
CCustomBuildingPipeline::CustomPipeAtomicSetup
Возможно оно
|
|
|

04.12.2025, 23:26
|
|
Познающий
Регистрация: 16.05.2025
Сообщений: 35
С нами:
526134
Репутация:
8
|
|
как поставить хук на функцию? не вызов функции, а на саму функцию
пытался так
C++:
[CODE]
typedef
void
(
__thiscall
*
CEntity_Render_t
)
(
CEntity
*
entity
)
;
CEntity_Render_t fpOriginalRender
;
void
*
Create_Hook
(
BYTE
*
src
,
const
BYTE
*
dst
,
const
int
len
)
{
BYTE
*
jmp
;
DWORD dwback
;
DWORD jumpto
,
newjump
;
VirtualProtect
(
src
,
len
,
PAGE_READWRITE
,
&
dwback
)
;
if
(
src
[
0
]
==
0xE9
)
{
jmp
=
(
BYTE
*
)
malloc
(
10
)
;
jumpto
=
(
*
(
DWORD
*
)
(
src
+
1
)
)
+
(
(
DWORD
)
src
)
+
5
;
newjump
=
(
jumpto
-
(
DWORD
)
(
jmp
+
5
)
)
;
jmp
[
0
]
=
0xE9
;
*
(
DWORD
*
)
(
jmp
+
1
)
=
newjump
;
jmp
+=
5
;
jmp
[
0
]
=
0xE9
;
*
(
DWORD
*
)
(
jmp
+
1
)
=
(
DWORD
)
(
src
-
jmp
)
;
}
else
{
jmp
=
(
BYTE
*
)
malloc
(
5
+
len
)
;
memcpy
(
jmp
,
src
,
len
)
;
jmp
+=
len
;
jmp
[
0
]
=
0xE9
;
*
(
DWORD
*
)
(
jmp
+
1
)
=
(
DWORD
)
(
src
+
len
-
jmp
)
-
5
;
}
src
[
0
]
=
0xE9
;
*
(
DWORD
*
)
(
src
+
1
)
=
(
DWORD
)
(
dst
-
src
)
-
5
;
for
(
int
i
=
5
;
i
но игра просто вылетала
|
|
|

05.12.2025, 03:49
|
|
Постоянный
Регистрация: 05.08.2018
Сообщений: 372
С нами:
4091290
Репутация:
213
|
|
[QUOTE="undefine"]
как поставить хук на функцию? не вызов функции, а на саму функцию
пытался так
C++:
[CODE]
typedef
void
(
__thiscall
*
CEntity_Render_t
)
(
CEntity
*
entity
)
;
CEntity_Render_t fpOriginalRender
;
void
*
Create_Hook
(
BYTE
*
src
,
const
BYTE
*
dst
,
const
int
len
)
{
BYTE
*
jmp
;
DWORD dwback
;
DWORD jumpto
,
newjump
;
VirtualProtect
(
src
,
len
,
PAGE_READWRITE
,
&
dwback
)
;
if
(
src
[
0
]
==
0xE9
)
{
jmp
=
(
BYTE
*
)
malloc
(
10
)
;
jumpto
=
(
*
(
DWORD
*
)
(
src
+
1
)
)
+
(
(
DWORD
)
src
)
+
5
;
newjump
=
(
jumpto
-
(
DWORD
)
(
jmp
+
5
)
)
;
jmp
[
0
]
=
0xE9
;
*
(
DWORD
*
)
(
jmp
+
1
)
=
newjump
;
jmp
+=
5
;
jmp
[
0
]
=
0xE9
;
*
(
DWORD
*
)
(
jmp
+
1
)
=
(
DWORD
)
(
src
-
jmp
)
;
}
else
{
jmp
=
(
BYTE
*
)
malloc
(
5
+
len
)
;
memcpy
(
jmp
,
src
,
len
)
;
jmp
+=
len
;
jmp
[
0
]
=
0xE9
;
*
(
DWORD
*
)
(
jmp
+
1
)
=
(
DWORD
)
(
src
+
len
-
jmp
)
-
5
;
}
src
[
0
]
=
0xE9
;
*
(
DWORD
*
)
(
src
+
1
)
=
(
DWORD
)
(
dst
-
src
)
-
5
;
for
(
int
i
=
5
;
i
|
|
|

08.12.2025, 05:43
|
|
Новичок
Регистрация: 08.12.2025
Сообщений: 1
С нами:
229729
Репутация:
1
|
|
Всем привет, я пытаюсь сделать Silent Aim с эффектом крови, как в этом видео. У меня уже есть рабочий код Silent Aim, мне нужен только код эффекта крови. Может ли кто-нибудь помочь?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|