Вопросы

Доброго дня. Как можно добавить ко ВСЕМ диалогам << {"#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 пользователей онлайн

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

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

    • Узбек
      От Узбек
      Всем добрый вечер ребят! 
      Я начинающий, сегодня я вам сливаю команду 2(шт) на технические работы
      Ловите 
       
    • nazpol9
      От nazpol9
      Привет всем.

      У меня имеется мод для самп сервера и VPS с Ubuntu, на котором я пытаюсь его запустить.

      В чем суть проблемы: при запуске samp03svr, сервер запускается, но на версии 0.3.DL R-1. Когда я пытаюсь запустить этот же мод локально на Windows, сервер работает на версии 0.3.7 и я могу зайти на него без клиента 0.3.DL.

      Для решения этой проблемы я уже пробовал заменять инклуды и исполнительные файлы теми, что есть в архивах на официальном сайте сампа, перекомпилировал мод, и ничего не изменилось.
       
      #include <a_samp> #include <a_mysql> #include <foreach> #include <Pawn.RakNet> #include <streamer> #include <sscanf2> #include <float2> #include <crashdetect> #include <fmt> #include <a_http> #include <Pawn.CMD> #include <Pawn.Regex> #include <requests> #include <callbacks> #include <MD5> #include <mxdate> #include <TOTP> #include <gvar> #include <md-sort> #include <nex-ac> #include <weapon-config> #include <discord-connector> #include <3DTryg> #include <textdraw-streamer>  
      plugins crashdetect.so streamer.so textdraw-streamer.so sscanf.so pawnraknet.so pawncmd.so mysql.so requests.so profiler.so pawnregex.so TOTP.so gvar.so discord-connector.so

      Если у кого-то будут какие-либо догадки, прошу ими поделиться, если понадобится больше информации - я постараюсь её предоставить.