Условие при входе слова

x330122

Участник
Сообщения
357
Реакции
152
Всем привет народ ! Как можно сделать условие команды таким ?
P.S Код образный и не работает, но думаю суть ясна, поможете ? :3
C-подобный:
public Action TestCmd(client,args)
{
new String;checkstring[225], iCheck;
GetCmdArgs(1, checkstring, sizeof(checkstring));
IntToSring(checkstring, iCheck, sizeof(iCheck));
if(args < 0)
{
PrintToChat(client, "Чтобы вывести информацию, напишите !test stuff");
return Plugin_Handled;
}
if(iCheck == "stuff")
{
PrintToChat(client, "Ты открыл категорию Stuff");
}
if(iCheck == "toys")
{
PrintToChat(client, "Ты открыл категорию Игрушки");
}
}
 
Последнее редактирование:

Kruzya

Участник
Сообщения
12,970
Реакции
10,924
  • Команда форума
  • #2
В Pawn нельзя сравнивать строки с помощью "==". Только отдельные символы.
Для сравнения строк, есть StrEqual()
PHP:
public Action TestCmd(int iClient, int iArgs) {
    if (iArgs < 1) {
        ReplyToCommand(iClient, "[SM] Чтобы вывести информацию, введите !test stuff");
        return Plugin_Handled;
    }

    char szString[50];
    GetCmdArgString(szString, sizeof(szString));
    if (StrEqual(szString, "stuff")) {
        // Код
    } else if (StrEqual(szString, "toys")) {
        // Код
    }

    return Plugin_Handled;
}
--- Добавлено позже ---
И да, у TF2 и у некоторых других игр есть подводные камни. Учитывай это.
 

Rabb1t

Амбассадор
Сообщения
2,968
Реакции
1,429
  • Команда форума
  • #3
@Tetragromaton, очень странно, что ты переводишь строку в число, а после сравниваешь полученное число со словом. Причем слово пытаешься записать в переменную типа "целое число".
 

x330122

Участник
Сообщения
357
Реакции
152
В Pawn нельзя сравнивать строки с помощью "==". Только отдельные символы.
Для сравнения строк, есть StrEqual()
PHP:
public Action TestCmd(int iClient, int iArgs) {
    if (iArgs < 1) {
        ReplyToCommand(iClient, "[SM] Чтобы вывести информацию, введите !test stuff");
        return Plugin_Handled;
    }

    char szString[50];
    GetCmdArgString(szString, sizeof(szString));
    if (StrEqual(szString, "stuff")) {
        // Код
    } else if (StrEqual(szString, "toys")) {
        // Код
    }

    return Plugin_Handled;
}
--- Добавлено позже ---
И да, у TF2 и у некоторых других игр есть подводные камни. Учитывай это.
Алсо как сделать так чтобы например если ввести !test stuff rules то выведет: Открыта категория Stuff, Подкатегория Rules ?
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,924
  • Команда форума
  • #5
ExplodeString() делаешь с делимитером в виде пробела, а дальше уже чекаешь получившийся массив строк.
--- Добавлено позже ---
А вообще, покажи весь плагин. Я не пойму, ты там команду say регистрируешь, что-ли?)
 
Последнее редактирование:
Сверху Снизу