Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 2 из 3 ПерваяПервая 1 2 3 ПоследняяПоследняя
Показано с 11 по 20 из 22
  1. #11
    Аватар для MacMailler
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.02.2014
    Сообщений
    38
    Репутация:
    15 ±
    Цитата Сообщение от Alexey_Nikiforov Посмотреть сообщение
    Код:
    #define COLOR_RED     0xFF0000AA
    Где 0x указывает систему исчисления.
    FF0000 - это у нас цвет в HEX
    AA - прозрачность цвета от 00 до FF

    Это макрос отлично подойдет для отправки цветного текста в чат:
    Код:
    SendClientMessage(playerid, COLOR_RED, "Красный текст");
    Хорошо но как быть если нам надо сделать его разноцветным:
    Код:
    SendClientMessage(playerid, COLOR_RED, "Welcome to {00FF00}M{FFFFFF}a{FF0000}r{FFFFFF}c{00FF00}o{FFFFFF}'{FF0000}s {FFFFFF}B{00FF00}i{FFFFFF}s{FF0000}t{FFFFFF}r{00FF00}o{FFFFFF}!");
    Юзай format.
    PHP код:
    new temp[24];
    format(tempsizeof(temp), "{%06x}COLOR!"COLOR_RED >>> 8);
    SendClientMessage(playerid0xFFtemp); 

  2. #12
    Аватар для Alexey_Nikiforov
    Уровень знаний 1

    Статус
    Оффлайн
    Регистрация
    12.02.2016
    Сообщений
    61
    Репутация:
    1 ±
    Цитата Сообщение от MacMailler Посмотреть сообщение
    Юзай format.
    PHP код:
    new temp[24];
    format(tempsizeof(temp), "{%06x}COLOR!"COLOR_RED >>> 8);
    SendClientMessage(playerid0xFFtemp); 
    Выглядет так как надеть штаны через голову.

    - - - Добавлено - - -

    Цитата Сообщение от ziggi Посмотреть сообщение
    Что-то я совсем поплыл...
    PHP код:
    COLOR_RED << 0xAA 
    или так:
    PHP код:
    (COLOR_RED << 8) + 0xAA 
    Не работают эти способы.
    Прокрути еще раз задачу в голове.
    Надо что бы:
    Код:
    0x000000FF
    Превратилось в:
    Код:
    0x00000035
    Включай магическую фантазию.
    з.ы. во на писал.

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

    Статус
    Оффлайн
    Регистрация
    19.02.2014
    Сообщений
    38
    Репутация:
    15 ±
    Цитата Сообщение от Alexey_Nikiforov Посмотреть сообщение
    Выглядет так как надеть штаны через голову.
    Тогда делай два варианта макроса.

    Цитата Сообщение от Alexey_Nikiforov Посмотреть сообщение
    Надо что бы:
    Код:
    0x000000FF
    Превратилось в:
    Код:
    0x00000035
    (color & 0xFFFFFF00) | 0x35

  4. #14
    Аватар для Alexey_Nikiforov
    Уровень знаний 1

    Статус
    Оффлайн
    Регистрация
    12.02.2016
    Сообщений
    61
    Репутация:
    1 ±
    Цитата Сообщение от MacMailler Посмотреть сообщение
    Тогда делай два варианта макроса.

    (color & 0xFFFFFF00) | 0x35
    Еще веселее.
    Вы в курсе что такое шестнадцатеричная система.
    Если делать столько макросов это выйдет примерно на 40к кода.

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

    Статус
    Оффлайн
    Регистрация
    19.02.2014
    Сообщений
    38
    Репутация:
    15 ±
    Цитата Сообщение от Alexey_Nikiforov Посмотреть сообщение
    Еще веселее.
    Вы в курсе что такое шестнадцатеричная система.
    Если делать столько макросов это выйдет примерно на 40к кода.
    Лол, это просто пример. Вот универсальный вариант.
    PHP код:
    #define setAlpha(%0,%1) ((%0 & 0xFFFFFF00) | %1) 
    Использование
    PHP код:
    TextDrawColor(Textdraw0setAlpha(COLOR_WHITE0x35)); 
    Последний раз редактировалось MacMailler; 19.02.2016 в 15:55.

  6. Пользователь сказал cпасибо:
    Alexey_Nikiforov (19.02.2016)
  7. #16
    Аватар для Alexey_Nikiforov
    Уровень знаний 1

    Статус
    Оффлайн
    Регистрация
    12.02.2016
    Сообщений
    61
    Репутация:
    1 ±
    Если в базе иметь 150 цветов.
    + создание доп макросов сколько их должно выйти.
    Мне надо для всех цветов.
    А не для каждого создавать макрос.

    Или я что то не могу догнать...

  8. #17
    Аватар для MacMailler
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.02.2014
    Сообщений
    38
    Репутация:
    15 ±
    Цитата Сообщение от Alexey_Nikiforov Посмотреть сообщение
    Если в базе иметь 150 цветов.
    + создание доп макросов сколько их должно выйти.
    Мне надо для всех цветов.
    А не для каждого создавать макрос.

    Или я что то не могу догнать...
    Создаешь всего одину макрос-функцию и юзаешь там где надо. Макросов цветов может быть сколько угодно.

  9. #18
    Аватар для Alexey_Nikiforov
    Уровень знаний 1

    Статус
    Оффлайн
    Регистрация
    12.02.2016
    Сообщений
    61
    Репутация:
    1 ±
    Огромное спасибо.
    А может есть идеи как сделать что бы юзать в тексте?
    {EE5555}

  10. #19
    Аватар для MacMailler
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.02.2014
    Сообщений
    38
    Репутация:
    15 ±
    Придумал другой вариант.

    Определяем цвета таким образом
    PHP код:
    #define COLOR_RED<%0> %0FF0000
    #define COLOR_GREEN<%0> %000FF00
    #define COLOR_BLUE<%0> %00000FF
    #define COLOR_WHITE<%0> %0FFFFFF 
    Если нужен цвет с альфа-каналом
    PHP код:
    // AA - нужный альфа-канал, от 00 до FF
    TextDrawColor(TdRedCOLOR_RED<0x>AA); 
    TextDrawColor(TdGreenCOLOR_GREEN<0x>AA); 
    TextDrawColor(TdBlueCOLOR_BLUE<0x>AA); 
    Красим слова в разные цвета
    PHP код:
    SendClientMessage(playeridCOLOR_WHITE<0x>, "{"#COLOR_RED<>"}RED{"#COLOR_GREEN<>"}GREEN{"#COLOR_BLUE<>"}BLUE"); 
    Последний раз редактировалось MacMailler; 19.02.2016 в 22:59.

  11. 2 пользователя(ей) сказали cпасибо:
    Alexey_Nikiforov (20.02.2016) [ForD] (19.02.2016)
  12. #20
    Аватар для Alexey_Nikiforov
    Уровень знаний 1

    Статус
    Оффлайн
    Регистрация
    12.02.2016
    Сообщений
    61
    Репутация:
    1 ±
    Цитата Сообщение от MacMailler Посмотреть сообщение
    Придумал другой вариант.

    Определяем цвета таким образом
    PHP код:
    #define COLOR_RED<%0> %0FF0000
    #define COLOR_GREEN<%0> %000FF00
    #define COLOR_BLUE<%0> %00000FF
    #define COLOR_WHITE<%0> %0FFFFFF 
    Если нужен цвет с альфа-каналом
    PHP код:
    // AA - нужный альфа-канал, от 00 до FF
    TextDrawColor(TdRedCOLOR_RED<0x>AA); 
    TextDrawColor(TdGreenCOLOR_GREEN<0x>AA); 
    TextDrawColor(TdBlueCOLOR_BLUE<0x>AA); 
    Красим слова в разные цвета
    PHP код:
    SendClientMessage(playeridCOLOR_WHITE<0x>, "{"#COLOR_RED<>"}RED{"#COLOR_GREEN<>"}GREEN{"#COLOR_BLUE<>"}BLUE"); 
    Все круто но все равно сложновато выходит когда цветной текст:
    PHP код:
    {"#COLOR_RED<>"
    И тут бы от префикса "<0x>" отказаться:
    PHP код:
    COLOR_WHITE<0x
    Вообще бы цены не было.

 

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

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

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

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

Ваши права

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