Вопросы

Доброго дня. Как можно добавить ко ВСЕМ диалогам << {"#cGR"} // {"#cBL"} текст >>. Чтобы не ко всем диалогам отдельно писать, а например двумя-тремя кликами. Заранее благодарю.

Поделиться сообщением


Ссылка на сообщение

24 ответа на этот вопрос

  • 0

@Holmo, а в чем проблема-то? Вот кот, который задает стиль диалога:

new title[64] = "<< {"#cGR"} // {"#cBL"} ";
// не забываем, что здесь еще одна строка
strcat(title, " >>");

Вместо #cGR пишите тот цвет, который Вам нужен (в формате HEX).


Например, AFAFAF - серый, FFFFFF - белый, 00FF00 - зеленый, 0000FF - синий. И так далее (все есть в данном мною сайте). Чтобы две косые были серыми, а все остальное - синим, делайте так:

new title[64] = "{0000FF}<< {AFAFAF} // {0000FF} ";
// не забываем, что здесь еще одна строка
strcat(title, " >>");

 

Еще про использование цветов можете поискать на WIKI.

Поделиться сообщением


Ссылка на сообщение
  • 0

Задефайнить эту конструкцию 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Holmo, Вы хотите это видеть в тексте самого диалога (для DIALOG_STYLE_MSGBOX) или в заголовке?

Поделиться сообщением


Ссылка на сообщение
  • 0

Пример - *тыК*
 

4 минуты назад, odosenok сказал:

@Holmo, Вы хотите это видеть в тексте самого диалога (для DIALOG_STYLE_MSGBOX) или в заголовке?

Получается, в заголовке 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Holmo, это называется заголовок.

 

Администратор @DEST предлагает Вам следующий вариант:

Спойлер

// в начало мода
#define DIALOG_PREFIX(%0) "<< {"#cGR"} // {"#cBL"} %0 >>"

// пример использования
ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_MSGBOX, DIALOG_PREFIX("Заголовок"), "Здесь текст диалога", "Кнопка1", "Кнопка2");

 

 

Я бы использовал перехват функций и сделал так:

Спойлер

// добавить в начало мода
stock _dlg_prefix_ShowPlayerDialog(playerid, dialogid, style, caption[], info[], button1[], button2[]) {
	new title[64] = "<< {"#cGR"} // {"#cBL"} ";
	strcat(title, caption);
	strcat(title, " >>");
	return ShowPlayerDialog(playerid, dialogid, style, title, info, button1, button2);
}

#if    defined    _ALS_ShowPlayerDialog
    #undef    ShowPlayerDialog
#else
    #define    _ALS_ShowPlayerDialog
#endif
#define ShowPlayerDialog _dlg_prefix_ShowPlayerDialog

// пример использования (не меняется ничего)
ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_MGSBOX, "Заголовок", "Текст", "Кнопка1", "Кнопка2");

 

 

Поделиться сообщением


Ссылка на сообщение
  • 0

нужно только вставить Ваш код?

Поделиться сообщением


Ссылка на сообщение
  • 0

@Holmo, да. Саму функцию (_dlg_prefix_ShowPlayerDialog) и следующий за ним набор макросов (все, что начинается с #).

Поделиться сообщением


Ссылка на сообщение
  • 0

Вставил весь ваш код, одно за другим. Ерроры - *тык*

Поделиться сообщением


Ссылка на сообщение
  • 0

@Holmo, хотелось бы увидеть изображением то, что Вы вставили. Я сомневаюсь в своей реализации через макрос, как предлагал @DEST, но в реализации через перехват у меня нет сомнений. Да и проверить не могу у себя. Поэтому грешу на Вас.

Поделиться сообщением


Ссылка на сообщение
  • 0

@Holmo, содержимое строки 164 удалите.

Поделиться сообщением


Ссылка на сообщение
  • 0

Получилось как-то не так. Возможно ли сделать, чтобы две косые были серыми, а остальной текст в заголовке - синим? Обычно я делал так - {"#cGR"} // {"#cBL"} текст, но тут как-то по другому видимо нужно сделать.

Фото того, как у меня получилось - клик

Поделиться сообщением


Ссылка на сообщение
  • 0

@Holmo попробуйте убрать либо решетку, либо кавычки

Поделиться сообщением


Ссылка на сообщение
  • 0

Убрал кавычки, не помогло. Удалил решётку, вышли варнинги. 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Holmo 

SendClientMessage ( playerid, col_gray,"{"#cRD"}* {"#cGR"}Игрок не найден." ) ;

Вот у меня так, пример, пробуйте. И почему бы вам как вариант, не расставить самому?  А не морочится с этим ):D

Отредактировано пользователем Nekit_Krut18
Причина: Подправил.

Поделиться сообщением


Ссылка на сообщение
  • 0
42 минуты назад, Nekit_Krut18 сказал:

@Holmo 


SendClientMessage ( playerid, col_gray,"{"#cRD"}* {"#cGR"}Игрок не найден." ) ;

Вот у меня так, пример, пробуйте. И почему бы вам как вариант, не расставить самому?  А не морочится с этим ):D

Я хочу, чтобы у всех диалогах в заголовке были две косые. Наверное, на это уйдёт день..

Поделиться сообщением


Ссылка на сообщение
  • 0

Спасибо, но заголовок диалога уже не серый, как мне нужен, а розовый. Хоть и стоит после // {0000FF}, там розовый цвет. Скрин - тык

Поделиться сообщением


Ссылка на сообщение
  • 0

@Holmo

 

14 часов назад, Holmo сказал:

две косые были серыми, а остальной текст в заголовке - синим

 

8 часов назад, Holmo сказал:

заголовок диалога уже не серый, как мне нужен

 

Вам вообще что надо? 

Поделиться сообщением


Ссылка на сообщение
  • 0

Запутался. Всё работает, ещё раз благодарю, но после  двух косых и {0000FF}, идёт заголовок диалога. Вместо того, чтобы он был синим, он розовый. То есть, {0000FF} не сделал заголовок синим, а другим, который указан в самом диалоге. Если менять там, на это уйдут дни...


 

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Holmo, покажите, как Вы вставили. 0000FF - синий цвет.

Поделиться сообщением


Ссылка на сообщение
  • 0

@odosenok я так понял, что в моде используется функция в таком виде

ShowPlayerDialog(playerid, dlgid, "{цвет} заголовок", ...)

и тогда, видимо, цвет переопределится

@Holmo если во всех диалогах одинаково цвет задается, то можно либо просто с помощью замены по тексту убрать, либо с помощью регулярного выражения. Посмотрите примерно и скиньте пример

Поделиться сообщением


Ссылка на сообщение
  • 0

Всё, разобрался. Благодарю.

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Артём Профиков
      От Артём Профиков
      У меня есть система подсказок вот так она выглядет
      ShowNotification(playerid, тип, "текст", время, "команда через /", "текст кнопки");
      Только есть вопрос как сделать так чтоб она активировалась в определенном радиусе? Заранее спасибо