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

    Статус
    Оффлайн
    Регистрация
    15.01.2016
    Адрес
    Приморье, Спасск-Дальний
    Сообщений
    165
    Репутация:
    7 ±

    Макрос на команды стандартного типа

    PHP код:
    #define if(command("%0"))     if(strcmp(cmd,"%0",true)==0) 
    Всем привет ребят.
    Для удобства в работе, решил написать макрос для упрощения работы с командами, да и код приятен. Выше показан пример, как это делал, но к сожалению не работает. Пишу команду, в ответ получаю мол такой команды не существует. Меня на стандартный вид, работает.

    Подскажите пожалуйста, что не так сделано? И желательно, если не затруднит, посодействуйте в его реализации.

  2. #2
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от BadPawn Посмотреть сообщение
    PHP код:
    #define if(command("%0"))     if(strcmp(cmd,"%0",true)==0) 
    Всем привет ребят.
    Для удобства в работе, решил написать макрос для упрощения работы с командами, да и код приятен. Выше показан пример, как это делал, но к сожалению не работает. Пишу команду, в ответ получаю мол такой команды не существует. Меня на стандартный вид, работает.

    Подскажите пожалуйста, что не так сделано? И желательно, если не затруднит, посодействуйте в его реализации.
    Покажите как вы используете данный макрос, и если у вас переменная cmd.

  3. #3
    Аватар для BadPawn
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.01.2016
    Адрес
    Приморье, Спасск-Дальний
    Сообщений
    165
    Репутация:
    7 ±
    PHP код:
     new cmd[128]; 
    есть такой.
    как использую:
    PHP код:
       if(command("/removehint"))
        {
                
    //код команды
            
    return 1;
        } 

  4. #4
    Аватар для NewGreen
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.09.2014
    Сообщений
    61
    Репутация:
    44 ±
    Перепишите так:
    PHP код:
    #define if(command(%0))  if(strcmp(cmd,%0,true) == 0) 
    или так:
    PHP код:
    #define command(%0)  strcmp(cmd,%0,true) == 0 
    Последний раз редактировалось NewGreen; 15.01.2016 в 16:49.

  5. #5
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Способ первый:
    PHP код:
    #define command(%0) (0 == strcmp(cmd,(%0),true)) 
    Пример:
    PHP код:
    if (command("/sampletext")) 

    Способ второй:
    PHP код:
    #define command(%0) (0 == strcmp(cmd,(#/%0),true)) 
    Пример:
    PHP код:
    if (command(sampletext)) 

    Лично я бы использовал первый вариант, т.к. с ним редактор будет подсвечивать строку с названием команды и её проще будет различить на фоне остального кода.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  6. #6
    Аватар для BadPawn
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.01.2016
    Адрес
    Приморье, Спасск-Дальний
    Сообщений
    165
    Репутация:
    7 ±
    NewGreen, твой вариант не работает, но меня ничего не остановит дать тебе + за старания. Спасибо.

    Daniel_Cortez, а вот твой вариант работает как никакой.)))) Спасибо огромное за помощь. +)))

 

 

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

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

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

Ваши права

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