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

SR_team

like pancake
Автор темы
BH Team
4,707
6,347
Поймут лишь те, кто писал чат-команды на 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
4,707
6,347
Хидер:
// в классе 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 ){
    // ...
}
 
  • Нравится
Реакции: sc6ut

Receiver

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

atizoff

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

1614096547579.png


1614096573184.png


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

Majunti

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