Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 4 из 4
  1. #1
    Аватар для _lizard
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.02.2016
    Адрес
    Геленджик
    Сообщений
    193
    Репутация:
    26 ±

    Чекер введённого текста

    Пытаюсь сделать справочник значения команд, но вот проблема. Если допустим ввести "/mn" - всё в порядке, а если "/mn " (с пробелом), то уже пишет, что неизвестная команда, не могу придумать как решить данную проблемку.
    PHP код:
                    new command_text[][][] = {
                        {
    "/help ""Помощь по игре"},
                        {
    "/mn ""Меню игрока"},
                        {
    "/menu ""Меню игрока"}
                    };
                    new 
    cmd_help_str[128];
                    for(new 
    0sizeof(command_text); i++)
                    {
                        if(!
    strcmp(command_text[i][0], inputtexttrue))
                        {
                            
    format(cmd_help_strsizeof(cmd_help_str), "%s {FFFFFF}- %s"inputtextcommand_text[i][1]);
                            
    SCM(playeridCOLOR_LIGHT_GREENcmd_help_str);
                            return 
    1;
                        }
                    } 

  2. #2
    Аватар для Saibot
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.08.2016
    Сообщений
    58
    Репутация:
    24 ±
    Можно попробовать вместо функции strcmp, использовать функцию strfind

  3. Пользователь сказал cпасибо:
    BadPawn (11.12.2016)
  4. #3
    Аватар для BadPawn
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.01.2016
    Адрес
    Приморье, Спасск-Дальний
    Сообщений
    165
    Репутация:
    7 ±
    PHP код:
    main()
    {
        new 
    command_text[][][] = {
             {
    "/help ""Помощь по игре"},
               {
    "/mn ""Меню игрока"},
             {
    "/menu ""Меню игрока1"}
          };
        new 
    cmd_help_str[128];
         for(new 
    0sizeof(command_text); i++)
        {
              if(
    strfind(command_text[i][0], "/mn "true) != -1)
            {
                 
    format(cmd_help_strsizeof(cmd_help_str), "mn {FFFFFF}- %s"command_text[i][1]);
                 print(
    cmd_help_str);
            }
           }

    strfind подходящая функция.

  5. #4
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Только вот strgind не позволит отлавливать 2 разных команды с одинаковым написанием, типа
    PHP код:
    /b
    /buy 
    Гораздо лучше просто воспользоваться такой функцией
    PHP код:
    RemoveSpaces_DC(string[])
    {
        static 
    pospos2c;
        for (
    pos 0pos2 0;; ++pos)
        {
            switch (
    string[pos])
            {
                case 
    ' ': continue;
                case 
    '\0':
                {
                    
    string[pos2] = '\0';
                    return;
                }
            }
            
    string[pos2++] = c;
        }

    То бишь, в случае, если strcmp не нашёл какую-либо команду, уже начинаешь обрабатывать эту команду с помощью функции для удаления пробелов и потом повторяешь поиск ещё раз
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  6. Пользователь сказал cпасибо:
    Сергей (14.12.2016)
 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •