2 аргумента в команде

Статус
В этой теме нельзя размещать новые ответы.

clicore

Известный
Автор темы
170
124
Как использовать 2 аргумента в команде, можно пожалуйста подробно?
 

clicore

Известный
Автор темы
170
124
Сканируй строку на параметры.
sscanf или std::regex_match. Примеров в гугле с этим функциями полно.
Чет я пробовал, ничего не работало :( Когда вводил команду в игре, второй аргумент был всегда 0. Возможно я что то делаю не правильно
 

2Shae

Известный
149
8
Код:
void CALLBACK cmd_takedriverlic(string param)
{
    if (param.empty()) return;
    const char * params = param.c_str();
    WORD playerid, time; char reason[24];
    if (sscanf(params, "%d%d%s", &playerid, &time, &reason) < 3)
    {
        SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(255, 0, 0), "[Ошибка] {FFFFFF}Не введено одного из параметров: {F2A200}/take driverlic [id] [time] [reason]{FFFFFF}.");
    }
    else
    {
        char msg[24];
        sprintf(msg, "/take driverlic %d %d %s", playerid, time, reason);
        SF->getSAMP()->getPlayers()->pLocalPlayer->Say(msg);
    }
}
Заменишь на своё крч.
 
  • Нравится
Реакции: clicore

clicore

Известный
Автор темы
170
124
Код:
void CALLBACK cmd_takedriverlic(string param)
{
    if (param.empty()) return;
    const char * params = param.c_str();
    WORD playerid, time; char reason[24];
    if (sscanf(params, "%d%d%s", &playerid, &time, &reason) < 3)
    {
        SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(255, 0, 0), "[Ошибка] {FFFFFF}Не введено одного из параметров: {F2A200}/take driverlic [id] [time] [reason]{FFFFFF}.");
    }
    else
    {
        char msg[24];
        sprintf(msg, "/take driverlic %d %d %s", playerid, time, reason);
        SF->getSAMP()->getPlayers()->pLocalPlayer->Say(msg);
    }
}
Заменишь на своё крч.

Спасибо!
 
Статус
В этой теме нельзя размещать новые ответы.