
10.06.2019, 19:36
|
|
Участник форума
Регистрация: 04.04.2017
Сообщений: 263
С нами:
4793630
Репутация:
133
|
|
Сообщение от Rece1ver
как эмулировать нажатие клавишы N без зависания игры в mainloop с повторением ?
emulategtakey, синхра, win api функции + timer
Сообщение от Rece1ver
как эмулировать нажатие клавишы N без зависания игры в mainloop с повторением ?
C++:
Код:
void
EmulKey
(
int
KeyId
)
{
stOnFootData sync
;
memset
(
&
sync
,
0
,
sizeof
(
stOnFootData
)
)
;
sync
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pLocalPlayer
->
onFootData
;
sync
.
sKeys
=
KeyId
;
BitStream bsActorSync
;
bsActorSync
.
Write
(
(
BYTE
)
ID_PLAYER_SYNC
)
;
bsActorSync
.
Write
(
(
PCHAR
)
&
sync
,
sizeof
(
stOnFootData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
bsActorSync
)
;
}
Эмуляция с помощью синхры
Сообщение от cakebou
emulategtakey, синхра, win api функции + timer
C++:
Код:
void
EmulKey
(
int
KeyId
)
{
stOnFootData sync
;
memset
(
&
sync
,
0
,
sizeof
(
stOnFootData
)
)
;
sync
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pLocalPlayer
->
onFootData
;
sync
.
sKeys
=
KeyId
;
BitStream bsActorSync
;
bsActorSync
.
Write
(
(
BYTE
)
ID_PLAYER_SYNC
)
;
bsActorSync
.
Write
(
(
PCHAR
)
&
sync
,
sizeof
(
stOnFootData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
bsActorSync
)
;
}
Эмуляция с помощью синхры
C++:
Код:
static
int
time
=
0
;
if
(
GetTickCount
(
)
-
1000
>
time
)
{
time
=
GetTickCount
(
)
;
EmulKey
(
/* id клавиши */
)
;
}
// эмуляция нажатия клавиши 1 раз в секунду
|
|
|