- 4,804
- 6,475
Поймут лишь те, кто писал чат-команды на C++:
Код класса, который позволяет создать конечный автомат на основе шаблона: https://gitlab.com/prime-hack/samp/plugins/templates/samp/-/blob/master/SAMP/Input.h#L256
C++:
static SAMP::Input::CommandEx<int, float> 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/plugins/templates/samp/-/blob/master/SAMP/Input.h#L256