Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 4 из 5 ПерваяПервая ... 2 3 4 5 ПоследняяПоследняя
Показано с 31 по 40 из 43
  1. #31
    Аватар для pawnoholic
    Пользователь

    Статус
    Оффлайн
    Регистрация
    18.01.2018
    Сообщений
    128
    Репутация:
    15 ±
    1. new color = COLOR(RED);
    2. SendClientMessage(playerid, color, "Добро пожаловать!");

    Да, таким методом компиляция проходит нормально.

    1. SendClientMessage(playerid, COLOR(RED), "Добро пожаловать!");

    А если вызывать вот так, то компиляция проходит с ошибкой

    -l:
    1. SendClientMessage(playerid, (_:clr@rS:@COLOR@RED)@"Добро пожаловать!"<0x,AA>);
    Последний раз редактировалось pawnoholic; 16.07.2018 в 00:17.

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

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от pawnoholic Посмотреть сообщение
    1. new color = COLOR(RED);
    2. SendClientMessage(playerid, color, "Добро пожаловать!");

    Да, таким методом компиляция проходит нормально.

    1. SendClientMessage(playerid, COLOR(RED), "Добро пожаловать!");

    А если вызывать вот так, то компиляция проходит с ошибкой

    -l:
    1. SendClientMessage(playerid, (_:clr@rS:@COLOR@RED)@"Добро пожаловать!"<0x,AA>);

    Опс.. Да...

    Попробуй так:
    1. #define COLOR@RED@100<%1,%2> (%1FFCDD2%2)
    2. #define COLOR@RED@200<%1,%2> (%1EF9A9A%2)
    3. #define COLOR@RED@300<%1,%2> (%1E57373%2)
    4. #define COLOR@RED@400<%1,%2> (%1EF5350%2)
    5. #define COLOR@RED@500<%1,%2> (%1F44336%2)
    6. #define COLOR@RED@600<%1,%2> (%1E53935%2)
    7. #define COLOR@RED@700<%1,%2> (%1D32F2F%2)
    8. #define COLOR@RED@800<%1,%2> (%1C62828%2)
    9. #define COLOR@RED@900<%1,%2> (%1B71C1C%2)
    10.  
    11. #define COLOR(%1) (_:clr@aM:clr@aN:$%1,)
    12. #define clr@aM:%8$%0,%1,) clr@rS:COLOR@%0@%1<0x,AA>)
    13. #define clr@aN:%8$%0,) clr@rS:COLOR@%0@100<0x,AA>) // 100 - default value.
    14. #define clr@rS:%1\32;%0,) clr@rS:%1%0,)
    15.  
    16. COLOR(RED, 800)

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

    Статус
    Оффлайн
    Регистрация
    18.01.2018
    Сообщений
    128
    Репутация:
    15 ±
    Цитата Сообщение от VVWVV Посмотреть сообщение
    1. #define COLOR(%1) (_:clr@aM:clr@aN:$%1,)
    2. #define clr@aM:%8$%0,%1,) clr@rS:COLOR@%0@%1<0x,AA>)
    3. #define clr@aN:%8$%0,) clr@rS:COLOR@%0@100<0x,AA>) // 100 - default value.
    4. #define clr@rS:%1\32;%0,) clr@rS:%1%0,)
    Спасибо, это работает.

  5. #34
    Аватар для pawnoholic
    Пользователь

    Статус
    Оффлайн
    Регистрация
    18.01.2018
    Сообщений
    128
    Репутация:
    15 ±
    Решил немного модифицировать и добавить третий аргумент, но теперь перед вторым и третьим параметром не убирается пробел, пробовал самостоятельно разрешить этот пробел, но так и не понял как это сделать:

    1. #define COLOR(%1) (_:COLOR@A:COLOR@B:COLOR@C:$%1,)
    2. #define COLOR@A:%8$%0,%1,%2,) COLOR@S:@COLOR@%0@%1<0x,%2>)
    3. #define COLOR@B:%8$%0,%1,) COLOR@S:@COLOR@%0@%1<0x,AA>)
    4. #define COLOR@C:%8$%0,) COLOR@S:@COLOR@%0@500<0x,AA>)
    5. #define COLOR@S:%1\32;%0,) COLOR@S:%1%0,)


    Результат:
    1. (_:COLOR@S:@COLOR@RED@ 500<0x, AA>)


    Необходимо:
    1. (_:COLOR@S:@COLOR@RED@500<0x,AA>) -> (_:COLOR@S:(0xF44336AA))
    Последний раз редактировалось pawnoholic; 16.07.2018 в 02:53.

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

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от pawnoholic Посмотреть сообщение
    Решил немного модифицировать и добавить третий аргумент, но теперь перед вторым и третьим параметром не убирается пробел, пробовал самостоятельно разрешить этот пробел, но так и не понял как это сделать:

    1. #define COLOR(%1) (_:COLOR@A:COLOR@B:COLOR@C:$%1,)
    2. #define COLOR@A:%8$%0,%1,%2,) COLOR@S:@COLOR@%0@%1<0x,%2>)
    3. #define COLOR@B:%8$%0,%1,) COLOR@S:@COLOR@%0@%1<0x,AA>)
    4. #define COLOR@C:%8$%0,) COLOR@S:@COLOR@%0@500<0x,AA>)
    5. #define COLOR@S:%1\32;%0,) COLOR@S:%1%0,)


    Результат:
    1. (_:COLOR@S:@COLOR@RED@ 500<0x, AA>)


    Необходимо:
    1. (_:COLOR@S:@COLOR@RED@500<0x,AA>) -> (_:COLOR@S:(0xF44336AA))
    %8$ забыли в COLOR@S.

  7. #36
    Аватар для pawnoholic
    Пользователь

    Статус
    Оффлайн
    Регистрация
    18.01.2018
    Сообщений
    128
    Репутация:
    15 ±
    Цитата Сообщение от VVWVV Посмотреть сообщение
    %8$ забыли в COLOR@S.
    Как то без изменений, пробовал вот так
    1. #define COLOR@S:%8$%1\32;%0,) COLOR@S:%1%0,)

    И вот так
    1. #define COLOR@S:%1\32;%8$%0,) COLOR@S:%1%0,)

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

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от pawnoholic Посмотреть сообщение
    Как то без изменений, пробовал вот так
    1. #define COLOR@S:%8$%1\32;%0,) COLOR@S:%1%0,)

    И вот так
    1. #define COLOR@S:%1\32;%8$%0,) COLOR@S:%1%0,)
    1. #define COLOR(%1) (_:COLOR@A:COLOR@B:COLOR@C:$%1,)
    2. #define COLOR@A:%8$%0,%1,%2,) COLOR@S:@COLOR@%0@%1<0x,%2>)
    3. #define COLOR@B:%8$%0,%1,) COLOR@S:@COLOR@%0@%1<0x,AA>)
    4. #define COLOR@C:%8$%0,) COLOR@S:@COLOR@%0@500<0x,AA>)
    5. #define COLOR@S:%1\32;%0,%6) COLOR@S:%1%0,%6)

  9. #38
    Аватар для pawnoholic
    Пользователь

    Статус
    Оффлайн
    Регистрация
    18.01.2018
    Сообщений
    128
    Репутация:
    15 ±
    Спасибо, только еще пробел остался в таком варианте использования.
    1. new color = (_:COLOR@S:(0xF44336 AA));

    А можно еще как то модифицировать, так чтобы можно было и такой вариант вызвать или для такого варианта лучше новое правило сделать?
    1. #define @COLOR@BLACK<%1,%2> (%1000000%2)
    2. #define @COLOR@WHITE<%1,%2> (%1FFFFFF%2)

  10. #39
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Допустим, есть макрос такого вида
    1. #define SomeFunc1(%0,%1)

    "%0" и "%1" - целочисленные переменные. Возможно ли убрать все пробелы между запятой и "%1", не добавляя, при этом, никаких символов или тегов?

    В целом, задача заключается в том, чтоб переместить "%1" в начало
    1. #define SomeFunc1(%0,%1) %1 = SomeFunc2(%0)

    И если прописать в коде, например, так:
    1. SomeFunc1(var1, var2);

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

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

    Steve Pavlina

  11. #40
    Аватар для vvw
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.08.2019
    Сообщений
    45
    Репутация:
    9 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Допустим, есть макрос такого вида
    1. #define SomeFunc1(%0,%1)

    "%0" и "%1" - целочисленные переменные. Возможно ли убрать все пробелы между запятой и "%1", не добавляя, при этом, никаких символов или тегов?

    В целом, задача заключается в том, чтоб переместить "%1" в начало
    1. #define SomeFunc1(%0,%1) %1 = SomeFunc2(%0)

    И если прописать в коде, например, так:
    1. SomeFunc1(var1, var2);

    То компилятор ругнётся на кривую табуляцию, так как "var2" перенесётся в начало вместе с пробелом. Собственно, от этого предупреждения и нужно избавиться.
    Почему бы не обернуть это в скобки (do - while)?
    1. #define foo(%0,%1) (%1=Bar(%0))
    2. //#define foo(%0,%1) do{%1=Bar(%0)}while(0)

  12. Пользователь сказал cпасибо:
    DeimoS (17.09.2019)
 

 
Страница 4 из 5 ПерваяПервая ... 2 3 4 5 ПоследняяПоследняя

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

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

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

Ваши права

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