Исходник Опять выебываюсь

SR_team

like pancake
Автор темы
BH Team
3,814
3,859
Поймут лишь те, кто писал чат-команды на C++:
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
 

SR_team

like pancake
Автор темы
BH Team
3,814
3,859
Хидер:
// в классе FogDist
SAMP::Input::CommandEx<float> cmd{ "fogdist" };
void command( float d );
void command( SAMP::Input::CmdFail fail, size_t /* unused */ );
Сурс:
cmd.install( this, &FogDist::command );
cmd.redirectFail( this, &FogDist::command );
// ...
void FogDist::command( float d ){
    // ...
}
void FogDist::command( SAMP::Input::CmdFail fail, size_t ){
    // ...
}
 

RECEIVER

Известный
447
440
Регает команды и упрощает с ними работу. Можно сразу указать с какими типами данных должны быть аргументы команды и получить их значения.
Есть обработчик "ошибок", в случае отстуствия одного или нескольких аргументов можно выполнять разные действия.
А нахуя тебе столько неймпспейсов?
Для прикола
 
  • Нравится
Реакции: thedqrkway

atizoff

приобретаю кашель за деньги
Проверенный
1,295
1,129
А нахуя тебе столько неймпспейсов?
красиво выглядит при вызове

1614096547579.png


1614096573184.png


да и каждый дрочет как он хочет, поэтому вот так вот
 

Majunti

Активный
153
43
Регает команды и упрощает с ними работу. Можно сразу указать с какими типами данных должны быть аргументы команды и получить их значения.
Есть обработчик "ошибок", в случае отстуствия одного или нескольких аргументов можно выполнять разные действия.
Я думал скрипт для взлома серверов😕
 
  • Ха-ха
Реакции: kizn