HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #3571  
Старый 25.05.2019, 22:46
ALF
Постоянный
Регистрация: 14.11.2017
Сообщений: 319
С нами: 4472205

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

Цитата:
Сообщение от Sane4K  

if (GetTickCount() - dwTime > timer[0]) // warning C4018: >: несоответствие типов со знаком и без знака
if (GetTickCount() - dwTime > (DWORD)timer[0])
 
Ответить с цитированием

  #3572  
Старый 25.05.2019, 23:24
ishi
Постоянный
Регистрация: 17.01.2014
Сообщений: 493
С нами: 6483143

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

Как заставить vector и string в std выделять динамическую память, а не стек?
 
Ответить с цитированием

  #3573  
Старый 25.05.2019, 23:32
_Vine_
Участник форума
Регистрация: 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
;
}
 
Ответить с цитированием

  #3574  
Старый 26.05.2019, 00:51
DarkP1xel
Флудер
Регистрация: 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
;
}

Он должен стоять внутри конструкции.
 
Ответить с цитированием

  #3575  
Старый 26.05.2019, 01:49
_Vine_
Участник форума
Регистрация: 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
 
Ответить с цитированием

  #3576  
Старый 26.05.2019, 01:56
DarkP1xel
Флудер
Регистрация: 17.06.2013
Сообщений: 3,635
С нами: 6791977

Репутация: 183


По умолчанию

Цитата:
Сообщение от _Vine_  

Если ты про скобки после case - то их можно вообще не ставить
Причем тут синтаксис? При использовании многослойного switch/case, внешний break нарушит слой и произойдет незапланированный выход. Зачем лишний раз себе палку в колеса пихать?
 
Ответить с цитированием

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

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

Цитата:
Сообщение от DarkP1xel  

Причем тут синтаксис? При использовании многослойного switch/case, внешний break нарушит слой и произойдет незапланированный выход. Зачем лишний раз себе палку в колеса пихать?
Можешь привести пример того, где break нарушит слой?
 
Ответить с цитированием

  #3578  
Старый 26.05.2019, 09:49
Receiver
Постоянный
Регистрация: 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 (закрытию диалога), как пофиксеть
 
Ответить с цитированием

  #3579  
Старый 26.05.2019, 10:07
_Vine_
Участник форума
Регистрация: 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
;
}
 
Ответить с цитированием

  #3580  
Старый 28.05.2019, 23:18
Vadim.dll
Участник форума
Регистрация: 04.07.2015
Сообщений: 168
С нами: 5715860

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

Как запустить ЖТА и пропустить всю фигню вначале?

У меня получилось убрать меню и перейти сразу к загрузке, но там начинается катсцена и жта виснет. Как ее пропустить, что нужно занопить?
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.