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

  #1  
Старый 23.02.2021, 02:37
SR_team
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами: 6603505

Репутация: 183


По умолчанию

Поймут лишь те, кто писал чат-команды на C++:

C++:





Код:
static
SAMP
::
Input
::
CommandEx

test
(
"test"
,
[
]
(
int
a
,
float
b
)
{
// Тут целое число в `a` и дробное в `b`
}
)
;
test
.
redirectFail
(
[
]
(
SAMP
::
Input
::
CmdFail fail
,
int
arg
)
{
switch
(
fail
)
{
case
SAMP
::
Input
::
CmdFail
::
NOARGS
:
// Команда вызвана без аргументов. В `arg` записан 0
break
;
case
SAMP
::
Input
::
CmdFail
::
MANYARGS
:
// В команду передано слишком много аргументов. В `arg` количество аргументов
break
;
case
SAMP
::
Input
::
CmdFail
::
FEWARGS
:
// В команду передано слишком мало аргументов. В `arg` количество аргументов
break
;
case
SAMP
::
Input
::
CmdFail
::
INVALIDARGS
:
// В команду передан не верный аргумент, например строка вместо числа. В `arg` номер аргумента
break
;
}
}
)
;
if
(
!
test
.
isInstalled
(
)
)
test
.
install
(
)
;
// регистрация команды


Код класса, который позволяет создать конечный автомат на основе шаблона: https://gitlab.com/prime-hack/samp/p...P/Input.h#L256
 
Ответить с цитированием