
25.05.2019, 20:36
|
|
Постоянный
Регистрация: 14.11.2017
Сообщений: 319
С нами:
4472205
Репутация:
163
|
|
Сообщение от Sane4K
Код:
Код:
void CALLBACK mainloop()
{
if (SF->getSAMP()->getDialog()->iIsActive && SF->getSAMP()->getDialog()->DialogID == 1 && work_started)
{
SF->getSAMP()->getDialog()->SetInputText("1");
// нужна задержка в 5000 мс. перед вводом.
SF->getSAMP()->getDialog()->SetInputText("2");
}
}
нужен таймер без заморозки основного потока. (игры)
поток – краш.
таймер – краш.
C++:
Код:
void
CALLBACK
mainloop
(
)
{
static
bool
init
=
false
;
if
(
!
init
)
{
if
(
!
GAME
)
return
;
if
(
GAME
->
GetSystemState
(
)
!=
eSystemState
::
GS_PLAYING_GAME
)
return
;
if
(
!
SF
->
getSAMP
(
)
->
IsInitialized
(
)
)
return
;
init
=
true
;
}
if
(
SF
->
getSAMP
(
)
->
getDialog
(
)
->
iIsActive
&&
SF
->
getSAMP
(
)
->
getDialog
(
)
->
DialogID
==
1
)
{
static
bool
state
=
false
;
static
DWORD dwTime
=
0
;
if
(
!
state
)
{
SF
->
getSAMP
(
)
->
getDialog
(
)
->
SetInputText
(
"1"
)
;
state
=
true
;
dwTime
=
GetTickCount
(
)
;
}
else
if
(
state
&&
GetTickCount
(
)
-
dwTime
>
5000
)
{
SF
->
getSAMP
(
)
->
getDialog
(
)
->
SetInputText
(
"2"
)
;
state
=
false
;
}
}
}
|
|
|