 |
|

25.05.2019, 22:46
|
|
Постоянный
Регистрация: 14.11.2017
Сообщений: 319
С нами:
4472205
Репутация:
163
|
|
Сообщение от Sane4K
if (GetTickCount() - dwTime > timer[0]) // warning C4018: >: несоответствие типов со знаком и без знака
if (GetTickCount() - dwTime > (DWORD)timer[0])
|
|
|

25.05.2019, 23:24
|
|
Постоянный
Регистрация: 17.01.2014
Сообщений: 493
С нами:
6483143
Репутация:
93
|
|
Как заставить vector и string в std выделять динамическую память, а не стек?
|
|
|

25.05.2019, 23:32
|
|
Участник форума
Регистрация: 06.01.2016
Сообщений: 154
С нами:
5447649
Репутация:
28
|
|
Сообщение от ishi
Как заставить vector и string в std выделять динамическую память, а не стек?
Динамически выделить std::string или std::vector
Сообщение от Sane4K
C++:
Код:
void
CALLBACK
mainloop
(
)
{
static
bool
init
=
false
;
if
(
!
init
)
{
if
(
GAME
==
nullptr
)
return
;
if
(
GAME
->
GetSystemState
(
)
!=
eSystemState
::
GS_PLAYING_GAME
)
return
;
if
(
!
SF
->
getSAMP
(
)
->
IsInitialized
(
)
)
return
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
D3DCOLOR_XRGB
(
255
,
55
,
55
)
,
"***ня загружена."
)
;
init
=
true
;
}
if
(
SF
->
getSAMP
(
)
->
getDialog
(
)
->
iIsActive
&&
(
SF
->
getSAMP
(
)
->
getDialog
(
)
->
DialogID
==
1
)
{
static
DWORD dwTime
=
0
;
char
result
[
5
]
;
char
*
text
=
"лох"
;
static
int
state
=
0
;
switch
(
state
)
{
case
0
:
dwTime
=
GetTickCount
(
)
;
state
++
;
case
1
:
{
if
(
GetTickCount
(
)
-
dwTime
>
500
)
{
sprintf
(
result
,
"%c"
,
text
[
0
]
)
;
SF
->
getSAMP
(
)
->
getDialog
(
)
->
SetInputText
(
result
)
;
state
++
;
dwTime
=
GetTickCount
(
)
;
}
}
case
2
:
{
if
(
GetTickCount
(
)
-
dwTime
>
600
)
{
sprintf
(
result
,
"%c%c"
,
text
[
0
]
,
text
[
1
]
)
;
SF
->
getSAMP
(
)
->
getDialog
(
)
->
SetInputText
(
result
)
;
state
++
;
dwTime
=
GetTickCount
(
)
;
}
}
case
3
:
{
if
(
GetTickCount
(
)
-
dwTime
>
700
)
{
sprintf
(
result
,
"%c%c%c"
,
text
[
0
]
,
text
[
1
]
,
text
[
2
]
)
;
SF
->
getSAMP
(
)
->
getDialog
(
)
->
SetInputText
(
result
)
;
state
++
;
dwTime
=
GetTickCount
(
)
;
}
}
}
char
result2
[
255
]
;
sprintf
(
result2
,
"%d | %d | %d"
,
GetTickCount
(
)
,
GetTickCount
(
)
-
dwTime
,
state
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
result2
)
;
}
}
если в зоне стрима есть человек, то скрипт сразу переходит к state 3, то есть вводу последнего символа
Ты забыл оператор break после case X:
C++:
Код:
switch
(
a
)
{
case
0
:
{
// code
}
break
;
case
1
:
{
// code
}
break
;
}
|
|
|

26.05.2019, 00:51
|
|
Флудер
Регистрация: 17.06.2013
Сообщений: 3,635
С нами:
6791977
Репутация:
183
|
|
Сообщение от _Vine_
Динамически выделить std::string или std::vector
Ты забыл оператор break после case X:
C++:
Код:
switch
(
a
)
{
case
0
:
{
// code
}
break
;
case
1
:
{
// code
}
break
;
}
Он должен стоять внутри конструкции.
|
|
|

26.05.2019, 01:49
|
|
Участник форума
Регистрация: 06.01.2016
Сообщений: 154
С нами:
5447649
Репутация:
28
|
|
Сообщение от DarkP1xel
Он должен стоять внутри конструкции.
Если ты про скобки после case - то их можно вообще не ставить, и break может быть хоть в них, хоть за ними.
C++:
[CODE]
for
(
int
i
=
0
;
i
Вывод:
Код:
Код:
Switch test 0: 1 2 3
Switch test 1: 2 3
Switch test 2: 3
Switch test 3: 4
|
|
|

26.05.2019, 01:56
|
|
Флудер
Регистрация: 17.06.2013
Сообщений: 3,635
С нами:
6791977
Репутация:
183
|
|
Сообщение от _Vine_
Если ты про скобки после case - то их можно вообще не ставить
Причем тут синтаксис? При использовании многослойного switch/case, внешний break нарушит слой и произойдет незапланированный выход. Зачем лишний раз себе палку в колеса пихать?
|
|
|

26.05.2019, 02:02
|
|
Участник форума
Регистрация: 06.01.2016
Сообщений: 154
С нами:
5447649
Репутация:
28
|
|
Сообщение от DarkP1xel
Причем тут синтаксис? При использовании многослойного switch/case, внешний break нарушит слой и произойдет незапланированный выход. Зачем лишний раз себе палку в колеса пихать?
Можешь привести пример того, где break нарушит слой?
|
|
|

26.05.2019, 09:49
|
|
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами:
5332594
Репутация:
163
|
|
C++:
Код:
static
DWORD dwTime
=
0
;
switch
(
state
)
{
case
0
:
dwTime
=
GetTickCount
(
)
;
SF
->
getSAMP
(
)
->
getDialog
(
)
->
SetInputText
(
""
)
;
state
++
;
case
1
:
{
if
(
GetTickCount
(
)
-
dwTime
>
(
DWORD
)
cc_delay_1
)
{
SF
->
getSAMP
(
)
->
getDialog
(
)
->
SetInputText
(
"Л"
)
;
state
++
;
dwTime
=
GetTickCount
(
)
;
}
}
case
2
:
{
if
(
GetTickCount
(
)
-
dwTime
>
(
DWORD
)
cc_delay_2
)
{
SF
->
getSAMP
(
)
->
getDialog
(
)
->
SetInputText
(
"О"
)
;
state
++
;
dwTime
=
GetTickCount
(
)
;
}
}
case
3
:
{
if
(
GetTickCount
(
)
-
dwTime
>
(
DWORD
)
cc_delay_3
)
{
SF
->
getSAMP
(
)
->
getDialog
(
)
->
SetInputText
(
"Х"
)
;
state
++
;
dwTime
=
GetTickCount
(
)
;
}
}
case
6
:
{
if
(
GetTickCount
(
)
-
dwTime
>
(
DWORD
)
cc_delay_4
)
{
SF
->
getSAMP
(
)
->
getDialog
(
)
->
Close
(
1
)
;
state
=
0
;
}
}
}
Скрипт моментально вводит слово и переходит к state 6 (закрытию диалога), как пофиксеть
|
|
|

26.05.2019, 10:07
|
|
Участник форума
Регистрация: 06.01.2016
Сообщений: 154
С нами:
5447649
Репутация:
28
|
|
Сообщение от Sane4K
C++:
Код:
static
DWORD dwTime
=
0
;
switch
(
state
)
{
case
0
:
dwTime
=
GetTickCount
(
)
;
SF
->
getSAMP
(
)
->
getDialog
(
)
->
SetInputText
(
""
)
;
state
++
;
case
1
:
{
if
(
GetTickCount
(
)
-
dwTime
>
(
DWORD
)
cc_delay_1
)
{
SF
->
getSAMP
(
)
->
getDialog
(
)
->
SetInputText
(
"Л"
)
;
state
++
;
dwTime
=
GetTickCount
(
)
;
}
}
case
2
:
{
if
(
GetTickCount
(
)
-
dwTime
>
(
DWORD
)
cc_delay_2
)
{
SF
->
getSAMP
(
)
->
getDialog
(
)
->
SetInputText
(
"О"
)
;
state
++
;
dwTime
=
GetTickCount
(
)
;
}
}
case
3
:
{
if
(
GetTickCount
(
)
-
dwTime
>
(
DWORD
)
cc_delay_3
)
{
SF
->
getSAMP
(
)
->
getDialog
(
)
->
SetInputText
(
"Х"
)
;
state
++
;
dwTime
=
GetTickCount
(
)
;
}
}
case
6
:
{
if
(
GetTickCount
(
)
-
dwTime
>
(
DWORD
)
cc_delay_4
)
{
SF
->
getSAMP
(
)
->
getDialog
(
)
->
Close
(
1
)
;
state
=
0
;
}
}
}
Скрипт моментально вводит слово и переходит к state 6 (закрытию диалога), как пофиксеть
C++:
Код:
static
DWORD dwTime
=
0
;
switch
(
state
)
{
case
0
:
dwTime
=
GetTickCount
(
)
;
SF
->
getSAMP
(
)
->
getDialog
(
)
->
SetInputText
(
""
)
;
state
++
;
break
;
case
1
:
{
if
(
GetTickCount
(
)
-
dwTime
>
(
DWORD
)
cc_delay_1
)
{
SF
->
getSAMP
(
)
->
getDialog
(
)
->
SetInputText
(
"Л"
)
;
state
++
;
dwTime
=
GetTickCount
(
)
;
}
}
break
;
case
2
:
{
if
(
GetTickCount
(
)
-
dwTime
>
(
DWORD
)
cc_delay_2
)
{
SF
->
getSAMP
(
)
->
getDialog
(
)
->
SetInputText
(
"О"
)
;
state
++
;
dwTime
=
GetTickCount
(
)
;
}
}
break
;
case
3
:
{
if
(
GetTickCount
(
)
-
dwTime
>
(
DWORD
)
cc_delay_3
)
{
SF
->
getSAMP
(
)
->
getDialog
(
)
->
SetInputText
(
"Х"
)
;
state
++
;
dwTime
=
GetTickCount
(
)
;
}
}
break
;
case
6
:
{
if
(
GetTickCount
(
)
-
dwTime
>
(
DWORD
)
cc_delay_4
)
{
SF
->
getSAMP
(
)
->
getDialog
(
)
->
Close
(
1
)
;
state
=
0
;
}
}
break
;
}
|
|
|

28.05.2019, 23:18
|
|
Участник форума
Регистрация: 04.07.2015
Сообщений: 168
С нами:
5715860
Репутация:
78
|
|
Как запустить ЖТА и пропустить всю фигню вначале?
У меня получилось убрать меню и перейти сразу к загрузке, но там начинается катсцена и жта виснет. Как ее пропустить, что нужно занопить?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|