Показать сообщение отдельно

  #5  
Старый 13.05.2018, 18:29
_Vine_
Участник форума
Регистрация: 06.01.2016
Сообщений: 154
С нами: 5447649

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

В чем тут проблема?

При нажатии клавиши "1", "2" или "3" должна эмулироватся игровая клавиша под номером "1", которая заставляет игрока бежать вперед/назад.

Писал код на CLEO - все работает безупречно, персонаж бежит.

Писал код на SF API, используя SF->getGame()->emulGTAKey() - персонаж не бежит

Писал код на SF API, используя SF->getCLEO()->callOpcode() - персонаж не бежит

Проверял, что функции SF API вызываются, выводя в чат сообщение перед и после их вызова - сообщения в чат выводились, но игрок так же не бежал.

Код CLEO:

CLEO:





Код:
while
true
wait
0
key_down
49
jf
continue
0B56:
set_game_key
1
state -
128
end


Код SF API:

C++:





Код:
void
CALLBACK
mainloop
(
)
{
static
bool
init
=
false
;
if
(
init
)
{
if
(
SF
->
getGame
(
)
->
isKeyDown
(
50
)
)
SF
->
getGame
(
)
->
emulateGTAKey
(
1
,
-
128
)
;
if
(
SF
->
getGame
(
)
->
isKeyDown
(
51
)
)
SF
->
getCLEO
(
)
->
callOpcode
(
"0B56: set_game_key 1 state -128"
)
;
return
;
}
if
(
!
init
)
{
if
(
GAME
==
nullptr
||
GAME
->
GetSystemState
(
)
!=
eSystemState
::
GS_PLAYING_GAME
||
!
SF
->
getSAMP
(
)
->
IsInitialized
(
)
)
return
;
init
=
true
;
}
}
 
Ответить с цитированием