Использование strcmp RU

From SA-MP Wiki

Jump to: navigation, search

Использование strcmp

Использование strcmp() в OnPlayerCommandText для создания команд

Создание команды /me

В этом уроке описано как сделать команду /me без использования strtok"

public OnPlayerCommandText(playerid, cmdtext[])
{
    if(!strcmp(cmdtext, "/me", true, 3)) // 3 это длинна команды /me
    {
        if(!cmdtext[3])return SendClientMessage(playerid, 0xFF0000FF, "Использование: /me [действие]");
        new str[255];
        GetPlayerName(playerid, str, sizeof(str));
        format(str, sizeof(str), "* %s %s", str, cmdtext[4]);
        SendClientMessageToAll(0xFFFF00AA, str);
        return 1;
    }
    return 0;
}

Это создаст команду /me, которая будет работать отлично. Объяснение непонятных строчек:

Если вы используете cmdtext[4], то вы как бы вырезаете первых 4 символа из строки. в этом примере строка выглядит не '/me блабла' а 'блабла'.


Практика

Пробуйте создавать команды, с использованием strtok. Они не обязаны содержать в себе что-нибудь сверхсложное, просто чтоб вы хорошо поняли принцип действия strcmp и strtok. Ещё пробуйте добавлять более одного параметра в вашу команду используя strtok, и вы увидите как это просто.

In other languages