
23.05.2016, 08:14
|
|
Участник форума
Регистрация: 12.07.2013
Сообщений: 161
С нами:
6755146
Репутация:
78
|
|
Сообщение от Frixen
Как правильно юзать таймер, чтобы после нажатия клавиши допустим F8 пошел отсчет, а после 5 секунд произошло какое-нибудь действие.
C++:
Код:
static
DWORD timer
=
0
;
void
mainloop
(
)
{
if
{
!
init
}
{
}
if
(
GetTickCount
-
timer
>
5000
)
{
SF
->
log
(
"Таймер работает раз в 5 секунд"
)
;
timer
=
GetTickCount
(
)
;
}
}
Пробовал делать так, но он срабатывает сразу и потом каждые 5 секунд
C++:
Код:
static
bool
init
,
screen
;
static
DWORD timer
=
0
;
/*
code
*/
if
(
SF
->
getGame
(
)
->
isKeyPressed
(
119
)
)
//разница KeyDown и KeyPressed, в том что Pressed 1 раз выполнит код когда ты нажмешь на клавишу, а KeyDown всегда пока кнопка нажата
{
stServerPresets
*
setting
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pSettings
;
if
(
setting
->
byteNoNametagsBehindWalls
==
1
)
{
setting
->
byteNoNametagsBehindWalls
=
0
;
screen
=
true
;
timer
=
GetTickCount
(
)
;
}
}
if
(
(
GetTickCount
(
)
-
timer
>
1500
)
&&
screen
)
{
stServerPresets
*
setting
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pSettings
;
if
(
setting
->
byteNoNametagsBehindWalls
==
0
)
{
setting
->
byteNoNametagsBehindWalls
=
1
;
screen
=
false
;
}
}
|
|
|